HW3-system-calls
为 xv6 添加一个系统调用。
Part One: System call tracing
第一个任务是修改 xv6 内核,为每个系统调用打印出一行。打印系统调用的名称和返回值就足够,不需要打印系统调用参数。
完成过后,会看到类似于以下的输出:
1 |
|
提示:修改 syscall.c 文件中的 syscall() 函数。
1 |
|
Part Two: Date system call
添加一个系统调用,这个系统调用可以获取当前的 UTC 时间,并且返回给用户程序。cmostime() 等接口 在 lapic.c 文件中定义好了。
参照 uptime 系统调用,然后挨着在每个地方添加相应的内容。
- syscall.c
1 |
|
- syscall.h
1 |
|
- sysproc.c
1 |
|
- user.h
1 |
|
- usys.S
1 |
|
然后再添加一个用户程序 date.c,来调用该系统调用。
1 |
|
Makefile 里添加具体的应用程序。
HW3-system-calls
https://www.bencorn.com/2023/07/20/HW3-system-calls/