Skip to content

Commit 535864c

Browse files
committed
basic ptemap
1 parent d979384 commit 535864c

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

129 files changed

+33
-42724
lines changed

tarea4/EH_tarea4.md

Lines changed: 17 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,34 @@
11
Tarea 4 hecha por: Esteban Eduardo Hernandez Salas
22

3-
**Kernel de XV6 Compilado con i386-elf-gcc en unix**
4-
5-
Utilizando el video compartido en el discord de la sección para la creacion de una llamada de sistema https://youtu.be/21SVYiKhcwM , se realizaron los siguientes Cambios a XV6:
6-
7-
Añadido archivo getpid.c
3+
Añadido archivo ptemap.c
84

95
En MakeFile:
10-
linea 188: [ _getprocs\ ]
11-
linea 258: [ getprocs.c\ ]
6+
linea 169: [ _ptemap\ ]
7+
linea 255: [ ptemap.c\ ]
128

139
En syscall.h:
14-
linea 25: [ #define SYS_getprocs 22 ]
15-
16-
En defs.h:
17-
linea 125: [ int getprocs(void); ]
18-
19-
En user.h:
20-
linea 28: [ int getprocs(void); ]
10+
linea 23: [ #define SYS_ptemap 22 ]
2111

2212
En sysproc.c:
23-
linea 94: [ int sys_getprocs (void) { return getprocs(); } ]
13+
linea 94: [ int sys_ptemap (void) { return ptemap(); } ]
2414

25-
En usys.S:
26-
linea 32: [ SYSCALL(getprocs) ]
27-
2815
En syscall.c:
29-
linea 107: [ extern int sys_getprocs(void); ]
30-
linea 132: [ [SYS_getprocs] sys_getprocs, ]
16+
linea 106: [ extern int sys_ptemap(void); ]
17+
linea 110: [ [SYS_ptemap] sys_ptemap, ]
18+
19+
En usys.S:
20+
linea 32: [ SYSCALL(ptemap) ]
21+
22+
En defs.h:
23+
linea 26: [ int ptemap(void); ]
24+
25+
En user.h:
26+
linea 28: [ int ptemap(void); ]
3127

3228
En proc.c
3329
linea 536 a linea 548:
3430
[
35-
int getprocs() {
36-
37-
struct proc *p;
38-
int n_procs = 0;
31+
int ptemap() {
3932

40-
acquire(&ptable.lock);
41-
for(p = ptable.proc; p < &ptable.proc[NPROC]; p++) if(p->state != UNUSED) n_procs++;
42-
release(&ptable.lock);
43-
44-
return n_procs;
4533
}
4634
]

tarea4/memcheck.c renamed to tarea4/ptemap.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@
66
//#include "spinlock.h"
77
//#include "param.h"
88
/*
9-
int memcheck(int num){
9+
int ptemap(int num){
1010
return num*10;
1111
}
1212
*/
1313

1414
int main(int argc, char** argv){
1515
printf(1,"\nArgumentos: %d\n",argc);
16-
for(int i = 0; i < argc; i++) printf(1,"Valor: %s\nMemcheck: %d\n\n",argv[i],memcheck((int)argv[i]));
16+
for(int i = 0; i < argc; i++) printf(1,"Valor: %s\nMemcheck: %d\n\n",argv[i],ptemap());
1717
return 0;
1818
}

tarea4/xv6-tarea4/Makefile

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ mkfs: mkfs.c fs.h
166166
.PRECIOUS: %.o
167167

168168
UPROGS=\
169-
_memcheck\
169+
_ptemap\
170170
_cat\
171171
_echo\
172172
_forktest\
@@ -251,7 +251,8 @@ qemu-nox-gdb: fs.img xv6.img .gdbinit
251251
EXTRA=\
252252
mkfs.c ulib.c user.h cat.c echo.c forktest.c grep.c kill.c\
253253
ln.c ls.c mkdir.c rm.c stressfs.c usertests.c wc.c zombie.c\
254-
printf.c umalloc.c memcheck.c\
254+
printf.c umalloc.c\
255+
ptemap.c\
255256
README dot-bochsrc *.pl toc.* runoff runoff1 runoff.list\
256257
.gdbinit.tmpl gdbutil\
257258

tarea4/xv6-tarea4/defs.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ void pushcli(void);
134134
void popcli(void);
135135

136136
//memcheck.c
137-
int memcheck(int);
137+
int ptemap(void);
138138

139139
// sleeplock.c
140140
void acquiresleep(struct sleeplock*);

tarea4/xv6-tarea4/proc.c

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -534,8 +534,7 @@ procdump(void)
534534
}
535535
}
536536

537-
int memcheck(int arg){
538-
num = arg;
539-
return num*10;
537+
int ptemap(void){
538+
return 0;
540539
}
541540

tarea4/xv6-tarea4/memcheck.c renamed to tarea4/xv6-tarea4/ptemap.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@
66
//#include "spinlock.h"
77
//#include "param.h"
88
/*
9-
int memcheck(int num){
9+
int ptemap(int num){
1010
return num*10;
1111
}
1212
*/
1313

1414
int main(int argc, char** argv){
1515
printf(1,"\nArgumentos: %d\n",argc);
16-
for(int i = 0; i < argc; i++) printf(1,"Valor: %s\nMemcheck: %d\n\n",argv[i],memcheck((int)argv[i]));
16+
for(int i = 0; i < argc; i++) printf(1,"Valor: %s\nMemcheck: %d\n\n",argv[i],ptemap());
1717
return 0;
1818
}

tarea4/xv6-tarea4/syscall.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,11 +103,11 @@ extern int sys_unlink(void);
103103
extern int sys_wait(void);
104104
extern int sys_write(void);
105105
extern int sys_uptime(void);
106-
extern int sys_memcheck(void);
106+
extern int sys_ptemap(void);
107107

108108

109109
static int (*syscalls[])(void) = {
110-
[SYS_memcheck] sys_memcheck,
110+
[SYS_memcheck] sys_ptemap,
111111
[SYS_fork] sys_fork,
112112
[SYS_exit] sys_exit,
113113
[SYS_wait] sys_wait,

tarea4/xv6-tarea4/syscall.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,4 @@
2020
#define SYS_link 19
2121
#define SYS_mkdir 20
2222
#define SYS_close 21
23-
#define SYS_memcheck 22
23+
#define SYS_ptemap 22

tarea4/xv6-tarea4/user.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ int getpid(void);
2323
char* sbrk(int);
2424
int sleep(int);
2525
int uptime(void);
26-
int memcheck(int);
26+
int ptemap(int);
2727

2828
// ulib.c
2929
int stat(const char*, struct stat*);

tarea4/xv6-tarea4/usys.S

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,4 +29,4 @@ SYSCALL(getpid)
2929
SYSCALL(sbrk)
3030
SYSCALL(sleep)
3131
SYSCALL(uptime)
32-
SYSCALL(memcheck)
32+
SYSCALL(ptemap)

0 commit comments

Comments
 (0)