模拟文件存储空间的管理-采用空白文件目录法和空白块链法实施空间分配.docVIP

模拟文件存储空间的管理-采用空白文件目录法和空白块链法实施空间分配.doc

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
报告题目:模拟文件存储空间的管理-采用空白文件目录法和空白块链法实施空间分配程序中所用的数据结构及说明:B=1;Bfirst=0;Blast=0;空白序号用于表示文件的编号;文件标示序号用于表示文件所在的索引。空白块链法用于实现文件空间的分配,其基本思路是从空白块头开始,依次向中心移动至空白块尾,并根据文件类型或使用频率将其分割为多个小块。空白块链法通过建立链表数据结构来记录文件占用空间情况,其中每个节点都有Bnum属性,B首先为其创建BFirst属性,然后将它设

实验报告

课程名称操作系统原理实验名称文件管理

姓名学号专业班级

实验日期成绩指导教师赵安科

〔=1\*GB3①实验目的=2\*GB3②实验原理=3\*GB3③主要仪器设备=4\*GB3④实验内容与步骤=5\*GB3⑤实验数据记录与处理=6\*GB3⑥实验结果与分析=7\*GB3⑦问题建议〕

实验三文件管理

模拟文件存储空间管理

1.内容:模拟文件存储空间的管理,采用空白文件目录法和空白块链法实施空间分配。

2.思想:

文件存储空间管理是文件系统的重要内容。常用的管理思想有空白文件目录法、空白块链法和位示图法。本实验采用前两种方法进行空间分配。

〔1〕空白文件目录法进行空间分配时,需要建立相关的数据结构,记录目前空白区域和已使用区域,假设开始时全部区域空闲。当有文件需要存储时,先检查空白文件目录,找到适合区域立即分配,并修改空白文件目录表和已使用区域分配表。为此需建立两张表格,分别记录相关数据。

空白文件目录表〔初始〕

序号

首空白块号

空白快个数

物理块号

备注

1

0

100

0,1,2,……,98,99

空白文件目录〔中间〕

序号

首空白块号

空白块个数

物理块号

标志

1

2

4

2,3,4,5

未分配

2

9

3

9,10,11

未分配

3

25

5

25,26,27,28,29

未分配

4

39

2

39,40

未分配

5

……

……

……

未分配

文件标识

首块号

文件块个数

状态

备注

beta

0

2

占用

Alpha

6

3

占用

Toyota

12

13

占用

Sony

30

9

占用

Ford

50

4

占用

……

……

……

……

已使用区域表〔中间〕

上述两张表的数据在系统运行中是发生变化的。

文件空闲区分配和释放算法如下列图所示:

图一文件空闲区分配算法

图二文件空闲区回收算法

〔2〕空白块链法进行空间分配时,需要建立链表数据结构,将空闲块按顺序加以组织,分配和回收时在链首完成,同时建立文件目录,记录文件占用空间情况。

文件标识

首块号

备注

Beta

0

Alpha

6

Toyota

12

Sony

30

Ford

50

……

……

3.要求:

〔1〕自拟模拟数据演示运行结果〔假定系统可用空闲块数为100〕。为便于检查,建立和删除文件顺序如下:

分配文件:F1,3

分配文件:F2,5

分配文件:F3,3

分配文件:F4,8

分配文件:F5,4

分配文件:F6,2

删除文件:F1

删除文件:F2

分配文件:F7,6

删除文件:F3

分配文件:F8,4

删除文件:F5

分配文件:F9,4

……

每完成一个文件的分配和删除后,显示空白文件目录当前内容。

〔2〕空白文件目录法必须完成,空白块链法选做。

4.书写实验报告:

①实验题目;

②程序中所用的数据结构及说明;

③源程序并附上必要的说明;

④按照文件的创立和删除顺序,打印输出结果。

代码:

#includeiostream

#includeiomanip

usingnamespacestd;

intB=1;//空白序号

intU=100; //文件标示序号

typedefstruct_Black

{

intBnum;intBfirst;intBleng;intBlast;

}Black;

typedefstruct_Use

{

charUfile[8];intUfirst;intUleng;intUlast;intUflg;

}Use;

Blackblack[]={{0,0,100,99}};//初始化

Useuse[100]={};

voidbubbleSort(Blacka[],intm)

//为了实现再次新建文件时提高分配利用率(将空白块按空白个数由从小到排序)

{

for(inti=0;im-1;i++)

{

for(intj=0;jm-1-i;j++)

{

if(a[j].Bfirsta[j+1].Bfirst)

{

Blacktemp=a[j];

文档评论(0)

展翅高飞2020 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档