急!急!急!求nachos课程设计,各位哥哥帮忙啊!!
操作系统的四个实验如下,望做过的哥哥们分享:
实践项目1:在Nachos上开发一个shell。
实践项目2:Nachos的线程管理模块升级:
要求:1.最多能够同时存在128个用户线程
2.改变为遵循“优先级调度”的抢占式调度
实践项目3:Nachos的文件管理模块升级
要求:1.增加对Nachos现有文件系统的多线程访问机制,目前的Nachos系统同时只允许一个线程访问文件系统,请实现多个线程 可同时访问文件系统的机制。
2.扩充Nachos的目录体系,使其能够支持多级目录(最多4级)。每个目录下的文件个数没有限制。
3.扩充Nachos下的文件管理功能,也就是编写几个完整的系统调用函数,它们可以实现文件的更名、删除、拷贝。
4.(可选)更改Nachos中文件空间分配机制,使其能够支持最大2MB的文件,目前Nachos只能支持最大不超过4KB的文件。
实践项目4:Nachos的内存管理模块升级
要求:1.在Nachos中修改目前的内存分配方式,使得多个线程可以同时存在于内存之中,这些线程可以按照“优先级”的方式进行调度。
2.编写一个虚拟的“分页式”存储管理机制,也就是说不需要实现真正的分页管理,只需要建立并维护一个内存页表,页面大小为4K,当生成新的用户线程时,可以通过检索页表来为用户线程分配可用的页面号。
3.(可选)在实现内存页表管理的基础上,进一步实现“缺页中断”,这也是虚拟的,也就是说编写一个测试函数,这个测试函数可以作为监测线程运行,它会提示发生了缺页中断,然后检查内存页表并根据适当的缺页中断处理策略选择一个可以被替换的内存页面,只需要记录被替换的页面号即可。
说的好像太概念化了,不过我相信如果您做过这个实验的话肯定明白我说的。第一个实验做的差不多了,剩下的三个实验,那些几乎纯内核的东西,看得我们头都大了,所以不得不在这里求救。近期就要结题了,感激不尽!!