操作系统设计一个二级文件系统报告.doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统设计一个二级文件系统报告

操作系统安 《操作系统》实验报告 实验名称 进程调度 实验序号 1 实验日期 2014.1.2 实验人 李勇 一、实验目的、要求与环境 1.目的: 编写一个简单的二级文件系统实现程序 2.要求: 用户、、,的读写 (2)为了清楚地观察文件的管理过程,程序应将每个文件操作的结果显示出来。 (3)分析程序运行的结果,谈一下自己的收获。 3.环境: (1)创建文件 在创建一个新文件时,系统首先要为新文件分配必要的外存空间,并在文件系统的目录中,为之建立一个目录项。目录项中应该记录新文件的文件名及其在外存的地址等属性。 (2)删除文件 当已不再需要某文件时,可将它从文件系统中删除。在删除时,系统应该先从目录中找到要删除的文件的目录项,使之成为空项,然后回收该文件所占用的存储空间。 (3)读文件 在读一个文件时,须在相应的系统调用中给出文件名和应该读入的内存目标地址。此时,系统同样要查找目录,找到制定的目录项,从中得到被读文件在外存中的位置。在目录项中,还有一个指针用于对文件的读/写。 (4)写文件 在写一个文件时,须在相应的系统调用中给出该文件名及该文件在内存中的(源)地址。为此,也同样须先查找目录,找到指定文件的目录项,在利用目录中的写指针进行写操作。 (5)截断文件 如果一个文件的内容已经陈旧而需要全部更新文件的内容时,一种方法是将此文件删除,再重新创建一个新文件。但如果文件名及其属性均无改变时,则可采取另一种所谓的截断文件的方法,此即将原有文件的长度设置为0,或说放弃原有的文件内容。 (6)设置文件的读/写位置 前述的文件读/写操作,都只提供了对文件顺序存取的手段,即每次都是从文件的始端读或写。设置文件读/写位置的操作,用于设置文件读/写指针的位置,以便每次读/写文件时,不是从其始端而是从所设置的位置开始操作。也正因如此,才能改顺序存取为随机存取。 三、实验设计相关的设计别写这么少,多写点。。。。。。。文件系统,可以用户、、,的读写操作,很好地模拟了操作系统对文件的管理过程。设计的流程图 相关的设计图的流图是有问题的。。。。。。。 四、程序代码 (换上你自己的程序代码,下面的程序代码是有问题的。) #include stdlib.h #include iostream #define NULL 0 int count=0; struct file{ char name[10]; int code;//保护码 int size; char pwrite;//读写指针 }; struct user{ char name[10]; struct file *list;//目录指针 }; ///////////////////////////////////////////////////////////// struct file one[10]={{a1,0,10,0},{a2,2,10,0},{a3,1,10,0}, {a4,2,10,0},{a5,2,10,0},{a6,2,10,0},{a7,1,10,0},{0,0,0,0}, {0,0,0,0},{0,0,0,0}}; struct file two[10]={{b1,0,10,0},{b2,2,10,0},{b3,1,10,0}, {b4,2,10,0},{b5,2,10,0},{b6,2,10,0},{b7,2,10,0},{0,0,0,0}, {0,0,0,0},{0,0,0,0}}; struct file three[10]={{c1,0,10,0},{c2,2,10,0},{c3,1,10,0}, {c4,2,10,0},{c5,2,10,0},{c6,2,10,0},{c7,1,10,0},{0,0,0,0}, {0,0,0,0},{0,0,0,0}}; struct file four[10]={{d1,0,10,0},{d2,2,10,0},{d3,1,10,0}, {d4,2,10,0},{d5,2,10,0},{d6,2,10,0},{d7,1,10,0},{0,0,0,0}, {0,0,0,0},{0,0,0,0}}; struct file fine[10]={{e1,0,10,0},{e2,2,10,0},{e3,1,10,0}, {e4,2,10,0},{e5,2,10,0},{e6,2,10,0},{e7,1,10,0},{0,0,0,0}, {0,0,0,0},{0,0,0,0}}; struct file six[10]={{f1,0,10,0},{f2,2,10,0},{f3,1,10,0}, {f4,2,10,0},{f5,2,10,0},{f6,2,10,0},{f7,1,10,0

文档评论(0)

2017ll + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档