实验三 文件系统空白空间管理-空白目录

实验三 文件系统空白空间管理-空白目录

ID:12347598

大小:846.50 KB

页数:14页

时间:2018-07-16

实验三 文件系统空白空间管理-空白目录_第1页
实验三 文件系统空白空间管理-空白目录_第2页
实验三 文件系统空白空间管理-空白目录_第3页
实验三 文件系统空白空间管理-空白目录_第4页
实验三 文件系统空白空间管理-空白目录_第5页
资源描述:

《实验三 文件系统空白空间管理-空白目录》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、操作系统原理实验三文件存储空间管理模拟学号班级姓名指导老师实验时间2014.6.5实验三文件存储空间管理模拟1.内容:模拟文件存储空间的管理,采用空白文件目录法和空白块链法实施空间分配。2.思想:文件存储空间管理是文件系统的重要内容。常用的管理思想有空白文件目录法、空白块链法和位示图法。本实验采用前两种方法进行空间分配。(1)空白文件目录法进行空间分配时,需要建立相关的数据结构,记录目前空白区域和已使用区域,假设开始时全部区域空闲。当有文件需要存储时,先检查空白文件目录,找到适合区域立即分配,并修改空白文件目录表和已使用区域分配表。为此需建立两张表格,

2、分别记录相关数据。空白文件目录表(初始)序号首空白块号空白快个数物理块号备注101000,1,2,……,98,99空白文件目录(中间)序号首空白块号空白块个数物理块号标志1242,3,4,5未分配2939,10,11未分配325525,26,27,28,29未分配439239,40未分配5………………未分配文件标识首块号文件块个数状态备注beta02占用Alpha63占用Toyota1213占用Sony309占用Ford504占用……………………已使用区域表(中间)上述两张表的数据在系统运行中是发生变化的。文件空闲区分配和释放算法如下图所示:图一文件空

3、闲区分配算法图二文件空闲区回收算法(2)空白块链法进行空间分配时,需要建立链表数据结构,将空闲块按顺序加以组织,分配和回收时在链首完成,同时建立文件目录,记录文件占用空间情况。文件标识首块号备注beta0Alpha6Toyota12Sony30Ford50…………源代码#include#include#includeintmaxid=4;//空白表数目intmaxnum=4;//文件个数//空白文件typedefstruct{intid;intfirstblock;intblocknum;int

4、lastblock;}Space;//分配文件typedefstruct{charflag[10];intfirstnum;intfullnum;intlastnum;}Full;//初始化分配Fullfull[20]={{"Bete",0,2,1},{"Aple",6,3,8},{"Toyo",12,13,24},{"Ford",30,9,38}};Spacefile[20]={{1,2,4,5},{2,9,3,11},{3,25,5,29},{4,39,62,100}};//分配打印voidfullprint(){printf("文件名t首块号

5、t文件块个数末块号");for(inti=0;i

6、id,file[i].firstblock,file[i].blocknum,file[i].lastblock);}printf("当前空白区数目=%d",maxid);}voiddistribute(){//分配函数charS_File[10];//文件名intM;//申请块数inttemp;//被分配的首块号printf("文件分配");printf("输入文件名");scanf("%s",S_File);printf("输入申请块数");scanf("%d",&M);for(intf=0;f

7、i=maxid){printf("本次无法分配");return;}if(file[f].blocknum>=M){temp=file[f].firstblock;printf("空白分区可用");if(file[f].blocknum==M){for(;f

8、irstblock=file[f+1].firstblock;file[f].blocknum

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。