1 / 66
文档名称:

操作系统课程设计报告-文件系统.doc

格式:doc   页数:66
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

操作系统课程设计报告-文件系统.doc

上传人:3346389411 2012/9/29 文件大小:0 KB

下载得到文件列表

操作系统课程设计报告-文件系统.doc

文档介绍

文档介绍:设计时间: 2011-1-5至2011-1-7
专业年级:08计科4班姓名:
:
通过操作系统内其中一个子系统的设计和实现,掌握Linux文件系统的基本原理、结构和实现方法,掌握Linux文件系统中文件的建立、打开、读/写、执行、属性等系统调用的使用,学会设计简单的文件系统并实现一组操作,以及学习文件系统的系统调用命令,提高对文件系统实现功能的理解和掌握。同时,掌握操作系统设计的方法与技巧,增强系统软件设计的实际工作能力。
:
为LINUX 设计一个简单的二级文件系统。本文件系统采用类似DOS系统的文件管理方式,每次调用该文件系统时,首先申请一定的内存空间,然后对该内存空间进行分配。将申请到的空间划分为目录区,文件区;采用位示图进行空间管理,盘块的分配使用显示链接(FAT表)的方式。每次调用该文件系统时自动为其分配空间,并将上次操作的结果从硬盘上调入内存;当结束调用时则将操作的结果重新存入硬盘,以便下次调用。(每次使用都会自动搜索文件系统,以此确定是否是第一次使用;若是则格式化生成文件系统,否则读取已存在的文件系统。)

实现功能
该系统具备下列功能:
login 用户登录 logout 注销
mkdir/md 创建目录 rmdir/rd 删除目录
cd/cd .. 修改目录 creat 创建文件
open 打开文件 dir 显示当前目录和文件
write 读文件 delete 删除文件
close 关闭文件
添加功能
制作了一个“操作命令符”列表框,说明接下来如何操作,这样有利于更好地阅读、操作和运行程序,使不懂得程序代码的人也可以运行该程序,更好地理解该程序实现的功能。
在命令解释层函数cmdexp()里加了一些选择和操作功能,增加程序实现的功能,如原来程序只有显示当前目录和文件、创建目录和修改目录的功能,把它拓展到系统所要求的全部功能,并在原有的程序的基础上进行相应的修改,使程序更加完善。
设计思路
(1) 要将文件存储在磁盘上,必须为之分配相应的存储空间,并对文件存储空间进行管理,为了简化对文件的访问和共享,还应设置相应的用户文件描述表及文件表。
①文件卷的组织
UNIX中,把每个磁盘(带)看作是一个文件卷,每个文件卷上可存放一个具有独立目录结构的文件系统。一个文件卷包含许多物理块,并按块号排列如下图:
0# 1# 2# 3# ……K# K+1# ……N#

其中,0#块用于系统引导或空闲,1#为超级块(superblock),存放文件卷的资源管理信息,如整个文件卷的盘块数、磁盘索引结点的盘块数、空闲盘块号栈及指针等。2#~K#存放磁盘索引结点。每个索引结点64B,第K+1#~N#存放文件数据。
②空闲盘块的组织
UNIX采用成组链接法组织空闲盘块。它将若干个空闲盘块划归一个组,将每组中所有盘块号存放在其前一组的第一个空闲盘块中,而第一组中所有空闲盘块号放入超级块的空闲盘块号栈中。
例: 超级块表

109
106
103
100
95
211
208
205
202


310
307
304
301
③空闲盘块的分配与回收
内核要从文件系统中分配一盘块时,先检查超级块空闲盘块号栈是否已上锁。是则调用sleep睡眠,否则将超级块中空闲盘块栈栈顶盘块号分配出去。
回收时,若空闲盘块号栈未满,直接将回收盘块编号记入空闲盘块号栈中。若回收时栈已满,须先将栈中的所有空闲盘块号复制到新回收的盘块中,再将新回收盘块的编号作为新栈的栈底块号进栈。
(2) UNIX中,为了加速对文件目录的查找,将文件名和文件说明分开,由文件说明形成一个称为索引结点的数据结构,而相应的文件目录项则只由文件符号名和指向索引结点的指针构成。对目录的管理应包括的功能有:
①对索引结点的管理:每个文件都有一唯一的磁盘索引结点(di_node)。文件被打开后,还有一个内存索引结点(i_node)。创建一新文件时,就为之建立一个磁盘索引结点,以将文件的有关信息记入其中,并将用户提供的文件名和磁盘索引结点号一并组成一个新目录项,记入其父目录文件中。文件被撤消时,系统要回收该文件的磁盘索引结点,从其父目录中删除该目录项。随着文件的打开与关闭,系统还要为之分配和回收内存索引结点。
②磁盘索引结点中,包含有关文件的下述一系列信息:文件模式di_mode、文件所有者用户标识符di_uid、同组用户标识符di_gid、文件长度di_size、文件的联接计数di_nlink、文件的物理地址di_addr、文件的访问时间di_atime、文件的修改时间di_mtime和文件的建立时间di_citime。
③内存索引结点:文

最近更新

网络欺诈检测技术-第1篇 36页

2025年宁夏建设职业技术学院马克思主义基本原.. 13页

风机振动信号的自适应滤波技术 35页

2026年龙洋袁大头站人银元哪个含银高 3页

2026年龙年的对联 19页

高能等离子体在材料加工中的应用 26页

2025年山西兵器工业职工大学马克思主义基本原.. 13页

2025年平塘县招教考试备考题库带答案解析 30页

2025年广州职业技术大学马克思主义基本原理概.. 12页

2025年延边职业技术学院单招职业倾向性考试题.. 44页

2025年惠州城市职业学院马克思主义基本原理概.. 12页

2025年普兰县招教考试备考题库含答案解析(夺.. 30页

2025年栾川县幼儿园教师招教考试备考题库含答.. 31页

2025年武汉设计工程学院马克思主义基本原理概.. 12页

2025年江苏商贸职业学院单招职业倾向性考试题.. 45页

2025年江西省抚州市单招职业适应性考试题库附.. 43页

2025年河北管理干部学院马克思主义基本原理概.. 13页

2025年泰山科技学院马克思主义基本原理概论期.. 13页

2025年浙江经济职业技术学院单招综合素质考试.. 44页

2025年湖南邮电职业技术学院马克思主义基本原.. 13页

2025年潞安职业技术学院单招职业技能考试题库.. 46页

2026年医学微生物学习题集含完整答案【全国通.. 40页

2025年石阡县幼儿园教师招教考试备考题库带答.. 31页

2026年网络安全知识竞赛题库含完整答案【网校.. 39页

小学历史与文化知识竞赛题库100道含完整答案(.. 37页

2025年长春汽车职业技术大学单招职业倾向性考.. 44页

2026年主管中药师考试备考题100道附参考答案(.. 38页

2026年主管中药师考试备考题100道含答案【巩固.. 38页

2026年医学微生物学习题集含完整答案(历年真.. 40页

2026年河南轻工职业学院单招职业适应性考试模.. 43页