操作系统研讨课 (2017 – 2018 Fall) -- Project 4 Task 1
任务一:实现系统调用 spawn、kill、wait
中国科学院大学 操作系统研讨课
2017.11.15
1. 介绍
本任务的主要目的是实现三个系统调用:spawn、kill、wait,即 kernel.c 中的
三个函数:do_spawn、do_kill、do_wait
1.1. 需要了解的部分
spawn的含义与处理机制
kill的含义与处理机制
wait的含义与处理机制
2. 初始代码
2.1. 文件介绍
Makefile: 编译文件。
bootblock.s: 内核启动程序,请使用作业一中自己写的代码。
createimage.c: 生成内核镜像的Linux工具,请使用作业一中自己写的代
码。
entry.S: 时钟中断处理函数。
kernel.c: 内核最先执行的文件,放在内核的起始处,本任务需要在该文
件中实现三个系统调用do_spawn、do_kill和do_wait。其中,entry_func
tion里面调用了do_spawn(“init”),启动init进程。init进程调用spawn系统
调用进一步启动process1和process2。Makefile里面指定了各个进程的入
口地址。
scheduler.c: 调度器,实现task的调度。
syslib.S: 系统调用函数
syslib.c: 系统调用接口
interrupt.c: 系统调用和中断处理相关的函数。
queue.c: 队列处理函数,提供了队列操作的一些接口。
print*.c:提供一些输出函数,可以用于调试以及显示信息。请在本任务
开始前了解该文件。
sync.c: 一些同步操作。
mbox.c: 邮箱操作,本次任务暂不需要实现。
util.c: 提供了一些输出函数,可以用于调试以及显示信息。请在本任务
开始前了解该文件。
评论0