山东大学操作系统课设lab5
实验五 具有二级索引的文件系统(lab5)
实验目的
Nachos系统原有的文件系统只支持单级索引,最大能存取NumDirect * SectorSize的大小的文件。本次试验将在理解原文件系统的组织结构基础上扩展原有的文件系统,设计并实现具有二级索引的文件系统。
实验环境
虚拟机下Ubuntu Linux 16.04 LTS系统,nachos-3.4内核管理模块和MIPS CPU软件模拟模块,文件系统模块,代码在lab5文件夹下面实现。
实验思路
有参考这个:https://wenku.baidu.com/view/049223482b160b4e767fcfd6.html
其实通过lab4就可以看出,思路是沿着fstest.cc里的Append()去扩展文件系统,具体是Append()里的openFile.Write(),更底层就到了Write()调用的WriteAt()。说到底,就是这一小段代码最终确定了如何分配,如何扩展,如何索引整个文件系统的扇区。所以在lab5实验里只用关注AllocateSpace()方法就好。(不对)
因为filesystem里Create()方法有创建文件头对象,且构造方法里也有调用到filehdr里的Allocate()等方法,所以filehdr.cc里的每个方法,只要涉及到数组保存,都要由一个数组写成两个数组,才能完成由一级索引到