欢迎来到天天文库
浏览记录
ID:57648399
大小:156.00 KB
页数:6页
时间:2020-08-30
《模拟磁盘空间分配实验.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、一.实验内容模拟磁盘空闲空间的表示方法,以及模拟实现磁盘空间的分配和回收。二.实验目的磁盘格式化时,系统吧把磁盘存储空间分成许多磁道,每个磁道又分成若干扇区(又叫做块)。利用Fdisk命令对硬盘进行分区,即使只有一个分区,也要用Fdisk命令进行分区。分区的目的,就是制作文件卷,形成系统。一个文件卷一般都被划分成引导扇区、文件系统管理区和文件数据区。其中,文件数据区用来存放系统文件和用户文件。用户可以通过文件系统调用,创建、打开和对文件进行读写。当用户的文件不再需要时,就应该删除。把一个文件存放到磁盘上
2、时,可以组织成连续文件、链接文件、索引文件等。因此,磁盘空间的分配方法有两种,一种是连续空间的分配;另一种是不连续空间的分配(又叫动态分配)。如何充分有效地利用磁盘空间,是操作系统要解决的重要课题之一。通过本实验,使学生对磁盘空间的分配和回收有一个较深入的理解。三.实验题目第一题:连续的磁盘存储空间的分配和回收。[提示]:(1)要在磁盘上建立顺序文件时,必须把按序排列的逻辑记录依次存放在磁盘的连续存储空间中。可假定磁盘初始化时,已把磁盘存储空间划分成若干等长的块(扇区),按柱面号和盘面号的顺序给每一块确
3、定一个编号。随着文件的建立、删除、磁盘存储空间被分成许多区(每一区包含若干块),有的区存放着文件,而有的区是空闲的。当要建立顺序文件时必须找到一个合适的空闲区来存放文件,当一个文件被删除时,则该文件占用的区应成为空闲区。为此可用一张空闲区表来记录磁盘存储空间中尚未占用的部分,格式如下:序号起始空闲块号空闲块个数状态156未分配2143未分配32130未分配4空表目MMMMMMMM(2)要建立文件时,先查找空闲区表,从状态为“未分配”的登记栏目中找出一个块数能满足要求的区,由起始空闲块号能依次推得可使用的
4、其它块号。若不需要占用该区的所有块时,则剩余的块仍应为未分配的空闲块,这时要修改起始空闲块号和空闲块数。若占用了该区的所有块,则相应登记栏中的状态修改成“空表目”。删除一个文件时,从空闲区表中找一个状态为“空表目”的登记栏目,把归还的起始块号和块数填入对应的位置。磁盘存储空间的分配和回收算法类似于主存储器的可变分区方式的分配和回收。同学们可参考实习四的第一题。(3)当找到空闲块后,必须启动磁盘把信息存放到指定的块中,启动磁盘必须给出由三个参数组成的物理地址:柱面号、磁道号和物理记录号。故必须把找到的空闲
5、块号换算成磁盘的物理地址。为了减少移臂次数,磁盘上的信息按柱面上各磁道顺序存放。现假定一个盘组共有200个柱面,(编号0-199)每个柱面有20个磁道(编号0-19,同一柱面上的各磁道分布在各盘面上,故磁道号即盘面号。),每个磁道被分成等长的6个物理记录(编号0-5,每个盘面被分成若干个扇区,故每个磁道上的物理记录号即为对应的扇区号。)。那么,空闲块号与磁盘物理地址的对应关系如下:空闲块号6空闲块号6假设M=,m={}M20则物理记录号=m磁道号={}M20柱面号=[][]表示向下取整,{}表示取模。(
6、4)删除一个文件时,从文件目录表中可得到该文件在磁盘上的起始地址和逻辑记录个数,假定每个逻辑记录占磁盘上的一个块(一个扇区),则可推算出归还后的起始空闲块号和块数,登记到空闲区表中。换算关系如下:起始空闲块号=(柱面号´20+磁道号)´6+物理记录号空闲块数=逻辑记录数(5)请设计磁盘存储空间的分配和回收程序,要求把分配到的空闲块转换成磁盘物理地址,把归还的磁盘空间转换成空闲块号。假定空闲区表的初值如提示(1)中指出,现有一文件要占用10块,运行你所设计的分配程序,显示或打印分配后的空闲区表以及分配到的
7、磁盘空间的起始物理地址。然后,设有一文件被删除,它占用的磁盘空间为:1号柱面2号磁道,0号物理记录开始的4块,运行你所设计的回收程序,显示或打印回收后的空闲区表。第二题:用位示图管理磁盘存储空间[提示]:(1)为了提高磁盘存储空间的利用率,可在磁盘上组织成链接文件、索引文件,这类文件可以把逻辑记录存放在不连续的存储空间。为了表示哪些磁盘空间已被占用,哪些磁盘空间是空闲的,可用位示图来指出。位示图由若干字节构成,每一位与磁盘上的一块对应,“1”状态表示相应块已占用,“0”状态表示该块为空闲。位示图的形式与
8、实习二中的位示图一样,但要注意,对于主存储空间和磁盘存储空间应该用不同的位示图来管理,不可混用。(2)申请一块磁盘空间时,由分配程序查位示图,找出一个为“0”的位,计算出这一位对应块的磁盘物理地址,然后把该位置成占用状态“1”。假设现在有一个盘组共8个柱面,每个柱面有两个磁道,每个磁道分成4个物理记录。那么,当在位示图中找到某一字节的某一位为“0”时,这个空闲块对应的磁盘物理地址为:柱面号=字节号位数4磁道号=[]位数4物理记录号={}(3
此文档下载收益归作者所有