实验任务
练习¶
为了实现lab8的目标,lab2提供了2个基本练习,要求完成实验报告。 注意有“LAB8”的注释,代码中所有需要完成的地方(challenge除外)都有“LAB8”和“YOUR CODE”的注释 对实验报告的要求: - 基于markdown格式来完成,以文本方式为主 - 填写各个基本练习中要求完成的报告内容 - 完成实验后,请分析ucore_lab中提供的参考答案,并请在实验报告中说明你的实现与参考答案的区别 - 列出你认为本实验中重要的知识点,以及与对应的OS原理中的知识点,并简要说明你对二者的含义,关系,差异等方面的理解(也可能出现实验中的知识点没有对应的原理知识点) - 列出你认为OS原理中很重要,但在实验中没有对应上的知识点
练习1: 完成读文件操作的实现(需要编码)¶
首先了解打开文件的处理流程,然后参考本实验后续的文件读写操作的过程分析,编写在sfs_inode.c中sfs_io_nolock读文件中数据的实现代码。
请在实验报告中给出设计实现”UNIX的PIPE机制“的概要设方案,鼓励给出详细设计方案
练习2: 完成基于文件系统的执行程序机制的实现(需要编码)¶
改写proc.c中的load_icode函数和其他相关函数,实现基于文件系统的执行程序机制。执行:make qemu -j 16。如果能看看到sh用户程序的执行界面,则基本成功了。如果在sh用户界面上可以执行”ls”,”hello”等其他放置在sfs文件系统中的其他执行程序,则可以认为本实验基本成功。
请在实验报告中给出设计实现基于”UNIX的硬链接和软链接机制“的概要设方案,鼓励给出详细设计方案
祝贺你通过自己的努力,完成了ucore OS lab1-lab8!