操作系统课程设计报告_.doc

操作系统课程设计报告_.doc

ID:61038830

大小:729.00 KB

页数:17页

时间:2021-01-20

操作系统课程设计报告_.doc_第1页
操作系统课程设计报告_.doc_第2页
操作系统课程设计报告_.doc_第3页
操作系统课程设计报告_.doc_第4页
操作系统课程设计报告_.doc_第5页
资源描述:

《操作系统课程设计报告_.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、哈尔滨理工大学课程设计(计算机操作系统)题目:文件系统存储空间管理班级:姓名:指导教师:系主任:2014年03月01日目录1文件系统存储空间管理11.1题目分析11.2实验原理11.3实现技术12Linux代码分析32.1功能说明32.4流程图3第1章题目分析根据提出的文件分配和释放请求,动态显示磁盘空闲空间的态以及文件目录的变化,以位示图和索引分配为例:每次执行请求后要求显示或打印位示图的修改位置、分配和回收磁盘的物理块地址、更新的位示图、目录1.2实验原理用数组表示位示图,其中的每一位对应磁盘一个物理块的状态,0表示、空闲

2、,1表示分配;当请求分配一个磁盘块时,寻找到数组中为0的位,计算相对磁盘块号,并计算其在磁盘中的物理地址(柱面号、磁道号、物理块号),并将其状态由0变到1。当释放某一物理块时,已知其在磁盘中的物理地址,计算其相对磁盘块号,再找到位示图数组中的相应位,将其状态由1变为01.3实现技术为实现上述设计,采用C++语言,VS2008开发环境。具体采用的技术如下::1.模拟文件空间分配、释放过程,可选择连续分配、链式分配、索引分配方法;2.文件空闲空间管理,可采用空白块链、空白目录、位示图方法;步骤如下:1.输入磁盘基本信息参数,计算位

3、示图大小,并随机初始化位示图;(1)磁盘基本信息:磁盘柱面数m,每柱面磁道数p,每磁道物理块数q;(2)假设采用整数数组存放位示图,则数组大小为:Size=ceil((柱面数每柱面磁道数每磁道物理块数)/(sizeof(int)8))(3)申请大小为size的整数数组map,并对其进行随机初始化。例如:假设m=2,p=4,q=8,共有64个磁盘块,若sizeof(int)=2,则位示图大小为4,map[4]如下:1514131211109876543210map[0]0011010011001010map[1]10101100

4、00110000map[2]011001110011001map[3]1000100001100110位示图中每一位对应的相对磁盘块号如下图,磁盘块号由小到大对应于数组的低地址到高地址位上。即map[0]的第0位到第15位分别对应0号磁盘块到15号磁盘块的状态,map[1]的第0位到第15位对应16号磁盘块到31号磁盘块的状态,以此类推。1514131211109876543210map[0]1514131211109876543210map[1]31302928272625242322212019181716map[2]47

5、464544434241403938373635343332map[3]63626160595857565554535251504948如上表所示,29号磁盘的状态存在map[1]中,对应于第13位;2.输出初始位示图信息;3.输入文件分配或释放请求,(1)格式:“+文件名申请块数”或“-文件名”“+”表示申请文件分配,“-”表示删除文件如:+F154.根据请求完成相应操作。(1)若为分配申请x个盘块,则在位示图中找到x个为0的位,将其修改为“1”,计算相应具体物理设备的柱面号C、磁道号H和物理块号R,并将CHR地址或相对磁盘

6、块号记录在文件目录中。输出位示图修改位置、分配的磁盘块CHR地址、修改后的目录和位示图信息。否则,空间不够,退出执行下一条请求;l计算公式如下:a.已知位示图中的下标i,j,计算相对块号Block=isizeof(int)8+jb.已知相对块号计算柱面、磁道、物理块号如下:柱面号C=相对块号/(每柱面磁道数每磁道物理块数)磁道号H=相对块号%(每柱面磁道数每磁道物理块数)/每磁道物理块数物理块号R=相对块号%每磁道物理块数l文件目录如下(以索引表分配为例):文件名首个物理块CHR地址块个数索引表beta(0,0,0)2(0,0

7、,0)(0,0,1)Alpha(2,3,0)3(2,3,0)Toyota43(4912)…(Sony文件名首个物理块地址(相对)块个数索引表beta02(0,2,3)…Alpha33(3,6,7)…Toyota83(8,9,12)…(2)若为删除申请,则从目录中找到要删除的文件所在的目录项,读取索引表,依次读取文件相应的盘块CHR地址,计算该盘块的相对磁盘块号,再计算其相应信息在位示图中的位置(i,j),将位示图中的相应位有“1”改为“0”,并从目录中删除该目录项。输出删除的磁盘块CHR地址、相应位示图修改位置、修改过的位示图

8、和目录。计算过程如下:相对磁盘块号=柱面号每柱面磁道数每磁道物理块数+磁道号每磁道物理块数+物理块号i=相对磁盘块号/(sizeof(int)8)j=相对磁盘块号%(sizeof(int)8)2.Linux代码分析为了进一步了解操作系统内核,学习了Linux操作系统的进程同步

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

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

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