- 1、本文档共44页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统第21讲概要
第二十一讲
文件管理(三)
本次课程主要内容
目录管理
文件控制块和索引节点
目录结构
目录查询技术
文件存储空间的管理
空闲表法和空闲链表发
位示图法、成组链接
文件共享与文件保护
数据一致性控制
3
6.4 目 录 管 理
4
对目录管理的要求如下:
(1) 实现“按名存取”
(2) 提高对目录的检索速度。
(3) 文件共享。
(4) 允许文件重名。
5
6.4.1 文件控制块和索引结点
1.文件控制块
为了能对系统中的大量文件施以有效的管理,在文件控制块中,通常应含有三类信息,即基本信息、存取控制信息及使用信息。
6
1) 基本信息类
基本信息类包括: ① 文件名,指用于标识一个文件的符号名。在每个系统中,每一个文件都必须有惟一的名字,用户利用该名字进行存取。② 文件物理位置,指文件在外存上的存储位置,它包括存放文件的设备名、文件在外存上的起始盘块号、指示文件所占用的盘块数或字节数的文件长度。③ 文件逻辑结构,指示文件是流式文件还是记录式文件、记录数;文件是定长记录还是变长记录等。④ 文件的物理结构,指示文件是顺序文件,还是链接式文件或索引文件。
7
2) 存取控制信息类
存取控制信息类包括:文件主的存取权限、核准用户的存取权限以及一般用户的存取权限。
3) 使用信息类
使用信息类包括: 文件的建立日期和时间、文件上一次修改的日期和时间及当前使用信息(这项信息包括当前已打开该文件的进程数、是否被其它进程锁住、 在内存中是否已被修改但尚未拷贝到盘上)。
8
FCB的长度为32个字节,对于360 KB的软盘,总共可包含112个FCB,共占3.5KB的存储空间
9
2.索引结点
假如一个FCB为64 B,盘块大小为1 KB,则每个盘块中只能存放16个FCB;若一个文件目录中共有640个FCB,需占用40个盘块,故平均查找一个文件需启动磁盘20次。
UNIX系统,采用了把文件名与文件描述信息分开的办法,亦即,使文件描述信息单独形成一个称为索引结点的数据结构,简称为i结点。在文件目录中的每个目录项仅由文件名和指向该文件所对应的i结点的指针所构成。
10
在UNIX系统中一个目录仅占16个字节,其中14个字节是文件名,2个字节为i结点指针。在1 KB的盘块中可做64个目录项,这样,为找到一个文件,可使平均启动磁盘次数减少到原来的1/4,大大节省了系统开销。
11
2) 磁盘索引结点
这是存放在磁盘上的索引结点。每个文件有惟一的一个磁盘索引结点,它主要包括以下内容:
(1) 文件主标识符,即拥有该文件的个人或小组的标识符。
(2) 文件类型,包括正规文件、目录文件或特别文件。
(3) 文件存取权限,指各类用户对该文件的存取权限。
(4) 文件物理地址,每一个索引结点中含有13个地址项,即iaddr(0)~iaddr(12),它们以直接或间接方式给出数据文件所在盘块的编号。
12
(5) 文件长度,指以字节为单位的文件长度。
(6) 文件连接计数,表明在本文件系统中所有指向该(文件的)文件名的指针计数。
(7) 文件存取时间,指本文件最近被进程存取的时间、最近被修改的时间及索引结点最近被修改的时间。
13
3) 内存索引结点
这是存放在内存中的索引结点。当文件被打开时,要将磁盘索引结点拷贝到内存的索引结点中,便于以后使用。在内存索引结点中又增加了以下内容:
(1) 索引结点编号,用于标识内存索引结点。
(2) 状态,指示i结点是否上锁或被修改。
(3) 访问计数,每当有一进程要访问此i结点时,将该访问计数加1,访问完再减1。
(4) 文件所属文件系统的逻辑设备号。
(5) 链接指针。设置有分别指向空闲链表和散列队列的指针。
14
6.4.2 目录结构
1.单级目录结构
目录项中含文件名、文件扩展名、文件长度、文件类型、文件物理地址以及其它文件属性。此外,为表明每个目录项是否空闲,又设置了一个状态位。
15
2.两级目录
16
3.多级目录结构
1) 目录结构
17
2) 路径名
在图6-19 中用户B为访问文件J,应使用其路径名/B/F/J来访问。
3) 当前目录(Current Directory)
如用户B的当前目录是F,则此时文件J的相对路径名仅是J本身。这样,把从当前目录开始直到数据文件为止所构成的路径名,称为相对路径名(relative path name);而把从树根开始的路径名称为绝对路径名(absolute path name)。
18
6.4.3 目录查询技术
1.线性检索法
线性检索法
文档评论(0)