You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
po2ap8csw
b1ea2bb8db
|
2 years ago | |
---|---|---|
boot | 2 years ago | |
fs | 2 years ago | |
include | 2 years ago | |
init | 2 years ago | |
kernel | 2 years ago | |
lib | 2 years ago | |
mm | 2 years ago | |
tools | 2 years ago | |
Image | 2 years ago | |
Image.bkp | 2 years ago | |
Makefile | 2 years ago | |
README.md | 2 years ago | |
System.map | 2 years ago | |
System.map.2 | 2 years ago | |
execve2.patch | 2 years ago | |
linux-0.11-lab.zip | 2 years ago | |
memory.c | 2 years ago | |
sys.c | 2 years ago | |
sys_update.c | 2 years ago |
README.md
linux_lab_os_exp1
在6.21日实现了sys_getcwd函数,在6.22日实现sys_getdents和sys_sleep,在6.23日实现了sys_execve2 其中sys_getcwd,sys_getdents,sys_sleep 在sys.c中定义,sys_execve2在memory.c中定义; sys_getcwd参照了find_entry的实现方式;sys_getdents和sys_getcwd基本原理相似,没有回溯回根节点的过程而已; sys_sleep的实现就是signal,alarm,pause的混合; sys_execve2模仿sys_execve,在do_execve的基础上加了类似do_no_page的代码;
注: 1.在文件夹下面的sys.c和memory.c是我最初版的系统调用的实现,也是linux-0.11-lab压缩包里的内容; 2.有first commit 标志的是我了解项目提交机制后学会git而提交的内核代码;由于原来的初版实现不了解项目提交机制,故初版没有修改记录;git后的修改记录也只是在原有代码上进行“换汤不换药”或者“无关痛痒”的修改;