您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 2015春季Nachos34-Lab5-文件系统
12014-2015第二学期操作系统实习Lab5文件系统实习说明本实习希望通过修改Nachos系统的底层源代码,达到“完善文件系统”的目标。【背景描述】Nachos文件系统建立在模拟磁盘上,提供了基本的文件操作,如创建、删除、读取、写入等等。文件的逻辑结构与物理位置之间的映射关系由文件系统统一维护,用户只需通过文件名即可对文件进行操作。然而,相比于实际文件系统,Nachos文件系统还存在很多不足之处:文件长度的限制Nachos文件系统采用直接索引方式,故文件长度不能超过4KB(更准确的说,是((128–2*4)/4)*128=3840B)。同时,文件的长度必须在创建时予以指定,且不得更改。文件数目的限制Nachos文件系统只有一级目录,系统中所有的文件都存于根目录下,且数目不能多于10个。粗粒度的同步互斥机制Nachos文件系统每次只允许一个线程进行访问,不支持多个线程同时访问文件系统。性能优化与容错Nachos文件系统没有Cache机制,也没有容错机制,即当文件系统正在使用时,如果系统突然中断,文件内容的正确性无法保证。【实习内容】一、文件系统的基本操作Exercise1源代码阅读阅读Nachos源代码中与文件系统相关的代码,理解Nachos文件系统的工作原理。code/filesys/filesys.h和code/filesys/filesys.cccode/filesys/filehdr.h和code/filesys/filehdr.cccode/filesys/directory.h和code/filesys/directory.cccode/filesys/openfile.h和code/filesys/openfile.cccode/userprog/bitmap.h和code/userprog/bitmap.ccExercise2扩展文件属性增加文件描述信息,如“类型”、“创建时间”、“上次访问时间”、“上次修改时间”、“路径”等等。尝试突破文件名长度的限制。Exercise3扩展文件长度2改直接索引为间接索引,以突破文件长度不能超过4KB的限制。Exercise4实现多级目录Exercise5动态调整文件长度对文件的创建操作和写入操作进行适当修改,以使其符合实习要求。二、文件访问的同步与互斥Exercise6源代码阅读a)阅读Nachos源代码中与异步磁盘相关的代码,理解Nachos系统中异步访问模拟磁盘的工作原理。filesys/synchdisk.h和filesys/synchdisk.ccb)利用异步访问模拟磁盘的工作原理,在ClassConsole的基础上,实现ClassSynchConsole。Exercise7实现文件系统的同步互斥访问机制,达到如下效果:a)一个文件可以同时被多个线程访问。且每个线程独自打开文件,独自拥有一个当前文件访问位置,彼此间不会互相干扰。b)所有对文件系统的操作必须是原子操作和序列化的。例如,当一个线程正在修改一个文件,而另一个线程正在读取该文件的内容时,读线程要么读出修改过的文件,要么读出原来的文件,不存在不可预计的中间状态。c)当某一线程欲删除一个文件,而另外一些线程正在访问该文件时,需保证所有线程关闭了这个文件,该文件才被删除。也就是说,只要还有一个线程打开了这个文件,该文件就不能真正地被删除。三、Challenges题目(至少选做1个)Challenge1高级系统调用实现如下系统调用:Exec,Join,Exit。提示:userprog/progtest.cc中的StartProcess函数有助于测试Exec。Challenge2性能优化a)例如,为了优化寻道时间和旋转延迟时间,可以将同一文件的数据块放置在磁盘同一磁道上b)使用cache机制减少磁盘访问次数,例如延迟写和`预读取。Challenge3实现pipe机制重定向openfile的输入输出方式,使得前一进程从控制台读入数据并输出至管道,后一进程从管道读入数据并输出至控制台。Challenge4实现系统调用:Fork和Yield【实习建议】1.数据结构的修改和维护文件管理的升级基于对原有Nachos数据结构的修改。增加文件的描述信息需对文件头结构进行简单修改。多级目录中可创建目录也可创建文件,应根据实际的文件类型初始化文件头信息。2.实现多级目录应当注意3目录文件的含义。每个目录对应一个文件,通过此文件可了解其子目录及父目录的信息。Nachos的目录文件大小是预先定义的,但实际上,目录文件的大小应根据内容确定,且能改变。实现多级目录后,添加、删除目录项要根据具体的路径,对树的遍历要有深刻的理解。3.为了实现文件长度无限,可以采取混合索引的分配方式。
本文标题:2015春季Nachos34-Lab5-文件系统
链接地址:https://www.777doc.com/doc-2995284 .html