下载此文档

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


文档分类:IT计算机 | 页数:约66页 举报非法文档有奖
1/66
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/66 下载此文档
文档列表 文档介绍
设计时间: 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。
③内存索引结点:文

操作系统课程设计报告-文件系统 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数66
  • 收藏数0 收藏
  • 顶次数0
  • 上传人3346389411
  • 文件大小0 KB
  • 时间2012-09-29