练习

练习1:填写sfs_io_nolock()函数

首先了解打开文件的处理流程,然后参考本实验后续的文件读写操作的过程分析,填写在 kern/fs/sfs/sfs_inode.c中 的sfs_io_nolock()函数,实现读文件中数据的代码。

练习2:填写load_icode()函数

改写 proc.c 中的 load_icode 函数和其他相关函数,实现基于文件系统的执行程序机制。执行:make qemu。如果能看看到 sh 用户程序的执行界面,则基本成功了。如果在 sh 用户界面上可以执行”ls”,”hello”等其他放置在 sfs 文件系统中的其他执行程序,则可以认为本实验基本成功。

练习3:管道(Pipe)机制

如果要在ucore里加入UNIX的管道(Pipe)机制,至少需要定义哪些数据结构和接口?(接口给出语义即可,不必具体实现。数据结构的设计应当给出一个(或多个)具体的C语言struct定义。你的设计应当体现出对可能出现的同步互斥问题的处理。

最后更新于