- 1、本文档共84页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统第7章文件系统剖析
二级目录结构实现 (1)可以把主目录和二级用户目录放于外存头部,也可以把二级目录当一般文件存放。 (2) 将用户名与文件名连到一起组成路经名,访问时给出路径名。 例如:/OS/test.c。 3.多级目录结构(树形目录结构) 任何一级目录中的FCB既可以描述次一级的子目录,又可以描述一个文件。(见下图) 树型目录结构示意图 树型目录结构的特点: 利于文件分类,从文件路径名可看出文件类别; 查找文件FCB耗费时间,要得到文件FCB,必须从根查起; 惟一确定文件的路径名太长,故引入当前目录 概念,提供相对于当前目录的相对路径名可加速文件FCB的查找,进程控制块存有当前目录信息。 4.无环图目录结构 当一个文件副本可以同时分到两个不同目录(类别)时,即同一个文件有两条路径名或多条路径名时出现无环图目录结构。(见下图) 无环图目录结构示意图 图中目录dict与 spell共享文件count,共享子目录p. 图中目录dict与其子目录p共享文件root. 无环图目录结构的特点: Unix的文件系统采用这种结构 优点:方便文件共享,分类; 缺点:两个或多个FCB的一致性难以保证(如删除文件时,当文件修改而引起FCB内容变化时)。 5.无环图目录结构一种变通的实现方法 ——符号链接 建立多个符号链文件,该文件内容为要访问文件的路径名。 当访问符号链文件时,读出文件中的路径名,再重新从根查找路径名代表的文件FCB。 无环图目录结构 dict count count root spell root/dict/count count list root/dict/count count root/dict/count count root/dict/count count 目录dict与spell目录共享目录count,只在spell目录中指明count的路径 7.4 文件和目录的操作 (略) 7.5 文件系统的实现 7.5.1.文件系统的格式 (略) 7.5.2 文件存储分配 目前常用的文件分配方法有:连续分配、链接分配和索引分配三种。 1.连续分配----把一组连续的盘块分配给一个文件。 采用连续分配方法可把逻辑文件中的信息顺序地存放到一组相邻的物理盘块中,这样形成的物理文件称为连续文件(或顺序文件)。 连续分配举例 存 储 器 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 文件名 起始块 长度 A 3 5 B 9 3 C 15 3 D 20 4 文件分配表 连续文件的优缺点 优点:顺序访问容易、速度快。 缺点: 要求有连续的存储空间。 必须事先知道文件的长度。 2.链接分配----把逻辑上连续的文件不连续地存放于不同的盘块上,并使用指针按文件数据顺序将其链接起来。 按链接分配方法形成的文件称链接文件或串连文件。 文件链式结构例 1 12 8 23 16 R0 R1 R2 R3 R4 逻辑文件ABC 文件分配表 文件名 起始块 最后块 … … … ABC 1 16 … … … 链接文件的优点 可以充分利用磁盘中零散的空闲块,提高外存空间的利用率。 消除外部碎片。 但访问或查找只能顺着指针链进行,速度较慢,当需要的磁盘块较多时,链条很长. 3.索引分配----为每个文件分配一个索引表,把分配给该文件的所有盘块号都记录在该索引表中,索引表本身也存放在一个盘块中。 按这种分配方式存储的文件就是索引文件。 文件索引结构 文件名 索引块 … … ABC 19 … … 存 储 器 FCB 索引表 1 2 0 4 3 1 12 8 23 16 1 12 8 23 16 19 索引文件优点 主要是提高了文件的查找速度,也不会产生外部碎片,当文件较大时,索引分配方式优于链接分配方式。 4、多重索引分配:如果索引表过大,可以组织成如下的多级索引表,这样单个索引表可以定长,利于实现,下面是多级索引表示意图 二级索引表 一级索引表 数据块 多重索引分配例: UNIX的文件系统采用多重索引分配方式。 Unix系统多重索引分配例:设盘块大小为1KB,盘块号用4个字节表示。 对于一般文件来说,其大小多数在10KB以内,可以利用直接项立即得到存放数据的盘块号,因而存取速度较快。直接项能够存放的最大文件长度为10KB。 对于大于10KB的中小型文件,可对10块以上的部分采用一次间接(它至多可以放1KB÷4=1024B÷4=256个盘块),一次间接允许文件长达256×1KB=256KB。 对于大于266KB(10KB+256KB)的中大型文件,超过266KB的部分,则接着采用二次间接(它至多可以放256×256个盘块号),二次间接允许
文档评论(0)