教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 学前教育 >

山大操作系统课程设计报告(全套)(7)

来源:网络收集 时间:2026-05-20
导读: 计算机科学与技术学院实验报告:10 实验题目:具有二级索引的文件系统 日期:2010-11-18 Email: 实验目的: Nachos的文件系统中保存文件内容所在扇区索引的“文件头“目前只占用一个扇区, 为了可以使Nachos文件系

计算机科学与技术学院实验报告:10

实验题目:具有二级索引的文件系统 日期:2010-11-18 Email: 实验目的:

Nachos的文件系统中保存文件内容所在扇区索引的“文件头“目前只占用一个扇区,

为了可以使Nachos文件系统创建较大的文件,将”文件头”扩大到两个扇区,也就是实现二级索引。

硬件环境:

软件环境:

Linux操作系统,Nachos操作系统

实验步骤:

1, 通过实验5的扩展文件大小的实验,了解了nachos 系统的对文件系统的管理。本次实验的目的主要是 扩大Nachos系统可以创建的文件的大小,使用两个扇区来保存文件头的信息。 为了达到这个目的,首先了解nachos 自带的文件系统的文件头的结构: 保存在一个扇区中,第一个int保存了文件的字节数(numBytes),第二个int保存了使用的扇区数 (numSectors),第三个数据结构是文件所在的各个扇区号(dataSectors[NumDiresct])。 也就是说,Nachos系统采用的是索引式的文件管理方式。

因而,要实现nachos文件系统的二级索引,可以使第一个索引节点(也就是原有的文件头那个扇区)的 dataSectors数组的最后一个元素保留第二个索引节点(也就是第二个扇区)的引用(也就是扇区号)。 如果文件大小不超过一个索引节点可以保留的内容,则这个最后一个元素的值为-1。

2, 通过分析可知,需要修改filehdr.cc中的内容。 代码如下: bool

FileHeader::Allocate(BitMap *freeMap, int fileSize) {

numBytes = fileSize;

numSectors = divRoundUp(fileSize, SectorSize); if (freeMap->NumClear() < numSectors)

return FALSE; // not enough space

/*如果文件大小超过索引节点中保存扇区号的数目,则返回false*/ else if(NumDirect + NumDirect2 <= numSectors)

return FALSE;//the filesys cannot support such big file

山大操作系统课程设计报告(全套)(7).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/598633.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)