Skip to content

实验任务

实验内容

本次实验涉及的是文件系统,通过分析了解ucore文件系统的总体架构设计,完善读写文件操作,从新实现基于文件系统的执行程序机制(即改写do_execve),从而可以完成执行存储在磁盘上的文件和实现文件读写等功能。为了实现实验四的目标,提供了2个基本练习,要求完成实验报告。

练习1: 完成读文件操作的实现(需要编码)

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

请在实验报告中给出设计实现”UNIX的PIPE机制“的概要设方案,鼓励给出详细设计方案

练习2: 完成基于文件系统的执行程序机制的实现(需要编码)

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

请在实验报告中给出设计实现基于”UNIX的硬链接和软链接机制“的概要设方案,鼓励给出详细设计方案

实验要求

  1. 完成以上两个练习,给出编译运行后输出结果的截图。并在实验报告中对所写代码调用的函数的作用加以说明。

  2. 需提交可以在我们给定的Docker环境中直接使用make qemu编译并运行的文件夹的压缩包。

组队分工建议

对于三人小组,建议两位同学完成练习一,需要大量阅读SFS代码,可以考虑一起阅读并进行交流。剩下一位同学完成练习二,通过系统提供的接口完成应用程序的载入。


Last update: 2024年5月14日