没有合适的资源?快使用搜索试试~ 我知道了~
首页空闲磁盘存储空间的管理:简单方法
空闲磁盘存储空间的管理:简单方法
5星 · 超过95%的资源 需积分: 50 27 下载量 105 浏览量
更新于2023-05-26
4
收藏 66KB DOCX 举报
具体要求如下: 建立相应的数据结构; 磁盘上建立一个文件,文件长度设为10MB,用该文件来模拟一个磁盘,磁盘的物理块大小为512字节。 建立进程的数据结构; 时间的流逝可以用下面几种方法模拟:(a)按键盘,每按一次可认为过一个时间单位;(b) 响应WM_TIMER; 将一批进程对磁盘的请求的情况存磁盘文件,以后可以读出并重放; 使用两种方式产生进程对磁盘的请求:(a) 自动产生 (b) 手工输入 显示每次磁盘的请求和空间释放后的相关数据结构的状态; 显示每次磁盘的请求和空间释放后状态; 支持的管理方法:空闲表法、空闲链表法、位示图法、UNIX成组链接法。 用的比较low的控制台 核心的东西时在实现一个os时其内部怎样管理空闲磁盘块 由于存储器的原理,我们无法准确的知道哪以部分装的这么,从外部看只是0和1 但因为我们建立了数据结构在一小块区域代表了整个磁盘来管理磁盘的空闲空间, 使用空闲空间只需要通过地址映射寻到相应地址即可, 另一方面注意os的实际的操作,验收时很多同学没有通过只因为只是模拟了空闲空间,而忽略了对磁盘实际的操作 此项目为在java写好的情况下被通知不允许用java,一天之内仓促拼凑,可提供大致思路,如有纰漏敬请指正
资源详情
资源推荐
1、课程设计任务、要求、目的
我们组选的题目是第 题:空闲磁盘存储空间的管理:简单方法。
具体要求如下:
建立相应的数据结构;
磁盘上建立一个文件,文件长度设为 ,用该文件来模拟一个磁盘,磁盘的物理
块大小为 字节。
建立进程的数据结构;
时间的流逝可以用下面几种方法模拟:按键盘,每按一次可认为过一个时间单位;
响应 ;
将一批进程对磁盘的请求的情况存磁盘文件,以后可以读出并重放;
使用两种方式产生进程对磁盘的请求:自动产生 手工输入
显示每次磁盘的请求和空间释放后的相关数据结构的状态;
显示每次磁盘的请求和空间释放后状态;
支持的管理方法:空闲表法、空闲链表法、位示图法、 成组链接法。
该课程设计的目的:
磁盘初始化时把磁盘存储空间分成许多块(扇区),这些空间可以被多个用户共享。
用户作业在执行期间常常要在磁盘上建立文件或把已经建立在磁盘上的文件删去,这就涉
及到磁盘存储空间的分配和回收。一个文件存放到磁盘上,可以组织成顺序文件(连续文
件)、链接文件(串联文件)、索引文件等,因此,磁盘存储空间的分配有两种方式,一
种是分配连续的存储空间,另一种是可以分配不连续的存储空间。怎样有效地管理磁盘存
储空间是操作系统应解决的一个重要问题,通过这个课程设计可以使我们更好地熟悉掌握
磁盘存储管理的原理和分配与回收算法,进一步掌握软件开发方法并提高解决实际问题的
能力。
2、原理与算法描述
我们组将题目中所给的方法分为连续存储空间法和链接存储空间法,并选取其中最具
代表性的位示图法和 成组链接法(连续存储与链接存储的结合)来进行代码的编写。
位示图法原理:
位示图用来指出磁盘块的使用情况,位示图中各个元素的取值只有“和“两种,其
中“状态表示相应的磁盘块已经被占用,“状态表示该磁盘块空闲。申请磁盘块时,分
配函数查询第一个空闲块所属的位置,然后从该位置往后选取对应数目的空闲块进行分配
将相应位置的位示图上相应元素置为“。为了编程方便,我们查阅资料,假设一个磁盘有
个柱面,每个柱面有 个磁道,每个磁道有 个物理记录。释放磁盘块时与分配磁盘块
是相反的操作,由释放函数找到第一个空闲磁盘块,并从该位置往前一单位将被占用的相
应数目的磁盘块释放,将位示图上相应元素置为“。
成组链接法原理:
成组链接法常应用于 系统中,其主要思想是将结合顺序表和链表进行择优组合,
即定义组内为顺序表,最大值为 ,大于 的磁盘块另行分组,构
成新的顺序表;但是这些顺序表之间用链表的结构进行连接,相当于添加一个新的节点。
3、开发环境
由于我们只是简单的对磁盘处理进行模拟,所以就在自己的个人 上进行,用的
是 (!"#$%& 上 ' 写的界面被老师打回来了。。。)。
4、重要算法和设计思路描述
设计思路:
对于位示图法,我们就是定义一个矩阵用来可视化磁盘空间的使用情况,出于对控制
台界面的考虑,我们将条件简化为:假设一个磁盘有 ( 个柱面,每个柱面有 个磁道,每
个磁道有 个物理记录,将矩阵简化为 )( 的规模。然后分别建立 $*+!&%% 顺序表数据结
构,存储申请的物理块信息;#,-$ 位示图类来存储位示图的数据和相应的操作,这些
操作包括位示图二维数组 #,-$././来存储位示图信息,0#,#,-$初始化位示图,
%$!&#%+1判断位示图是否合理,2#%$"3#,-$用来打印位示图信息。
对于成组链接法,我们定义组结构体 4*+5$ 和进程结构体 $*+!&%%,定义顺序表最大
值 为 ,大于 的磁盘块另行分组,构成新的顺序表;但是这
些顺序表之间用链表的结构进行连接,相当于添加一个新的 4*+5$ 节点。用 2#%,*#5,&
函数分配内存块,用 *&!3!"&函数撤消进程 ,回收内存块 。用67#&8函数显示一些进
程和数据结构的相应信息。
5、程序实现—数据结构
我们组选的题目是第 题:空闲磁盘存储空间的管理:简单方法
6、程序实现—程序清单
位示图法:
9#0!"52&:#+%,*&-;
9#0!"52&:!%,*#04;
9#0!"52&:!+0#+<=;
5%#040-&%$!&%,2>
!+0%,#0,!3"#02&*?(@,*!1?@%&!,+*?>AA柱面、磁道、物理块 号
92&B0&CDAA最大块数
!+0%,#0,?!3"#02&*@?,*!1)%&!,+*>
%,*5!,$*+!&%%AA$*+!&%% 顺序表数据结构,存储申请的物理块信息
E
!=*0-&./>
#0,!.CD/@,.CD/@%.CD/>
#0,0>
F>
$*+!&%%$*+!&%%,"&.CD/>AA$*+!&%% 格式表
#0,$$+#0,&*?G>AA$*+!&%% 指针
!"%%#,-$AA位示图 结构体
E
$5"#!H
#0,#,-$././>
7+#20#,#,-$>AA初始化位示图
++"%$!&#%+1#0,0>AA位示图符合判断
7+#22#%$"3#,-$>AA打印
F>
#,-$->AA全局位示图,为所有进程共享
7+#2#,-$HH0#,#,-$
E
#0,#@I>
!+5,::J))))))))))))))))))))))))))))))))))))))))))))))K0J>
!+5,::J 位示图初始化K0J>
!+5,::J))))))))))))))))))))))))))))))))))))))))))))))K0J>
L+*#?>#:>#
E
L+*I?>I:>I
E
#,-$.#/.I/?>
F
F
AA 4&,!=*>
2#%$"3#,-$>AA初始化后位示图
4&,!=*>
AA%3%,&-J!"%J>
F
++"#,-$HH%$!&#%+1#0,0AA判断位示图空闲物理块是否足够
E
#0,!+50,?>
L+*#0,#?>#:>#
E
L+*#0,I?>I:>I
E
#L#,-$.#/.I/??
E
!+50, >
F
F
F
#L!+50,:0
*&,5*0L"%&>
&"%&
*&,5*0,*5&>
F
7+#2#,-$HH2#%$"3#,-$AA打印位示图
E
#0,#@I>
!+5,::JK0 当前位示图信息如下:K0J>
!+5,::JK
0)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))K0J>
L+*#?>#:>#
剩余14页未读,继续阅读
ch806632096
- 粉丝: 9
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功