在Linux0.11的环境下完成基于内核栈切换的进程切换、地址映射与共享、终端设备的控制、proc文件系统的实现中的三个及以上实验项目。
在Linux四项任务中成功完成了四项:基于内核栈切换的进程切换,终端设备的控制,proc文件系统的实现,地址映射与共享。
基于内核栈切换的进程切换实验,使用基于内核栈的进程切换成功替换基于TSS(任务状态段)的切换。
地址映射与贡献实验,成功部分为通过寻找物理地址直接修改物理地址的参数,促使循环结束;实现了基于内存共享的生产者消费者问题。
终端设备的控制实验,修改 Linux 0.11 的终端设备处理代码,对键盘输入和字符显示进行非常规的控制。在初始状态,一切如常。用户按一次F12 后,把应用程序向终端输出所有字母都替换为“*”。用户再按一次F12,又恢复正常。第三次按 F12,再进行输出替换。需要了解键盘中断的过程和终端输出和文件输出的实现。
Proc文件系统的实现实验,在Linux0.11上实现procfs(proc文件系统)内的psinfo节点,当读取此节点的内容的时候,可得到系统当前所有进程的状态信息。需要自己编写proc.c文件,同时增加关
1