- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第 9 章;9.1 UNIX文件系统的特点与文件类别;图9.1是它的一个典型示例,其中,根目录下有8个子目录:
/dev—此目录下都是设备文件,比如键盘终端(con)、打印机(lp)等;
/bin— 此目录下是UNIX外壳(shell)中主要程序的二进制代码文件;
/usr— 此目录下通常为已安装的各个子文件系统,如bin、tmp、lib、local、include以及用户的各种文件;
/lib— 此目录下存放的是一些库文件,比如C、PASCAL的函数库;
/include— 此目录下存放的是一些头文件;
/etc— 此目录下存放各种管理文件;
/tmp—此目录下存放临时性文件;
/UNIX—存放UNIX的核心程序。;9.1.2 UNIX文件的分类
按照文件的内容,UNIX把文件分成3类:
普通文件:这是通常意义下的磁盘文件,即存放用户和系统的有关数据和程序的那些文件。它们都被视为无结构、无记录概念的字符流,文件的长度可以动态增减。
目录文件:由文件的目录项组成的文件称为目录文件。这种文件在形式上与普通文件相同,只是系统将其解释成目录。一般地,一个文件的目录项应该包含文件名称、文件长度、文件类型、文件在辅存的位置以及存取权限等信息。在UNIX中,为了加快对文件目录的搜索速度,便于文件共享,把这些内容划分成两个部分:一个称为该文件的索引节点(即文件控制块),简称为i节点,它的里面存放着这个文件的长度、文件类型、文件在辅存的位置、存取权限以及共享信息等内容;另一个仍称为文件目录项,但它的里面只包含文件名和这个文件的索引节点编号。;下图给出了UNIX文件目录项的格式,即用14个字节存放文件名,2个字节存放该文件的i节点号(id)。不难看出,在UNIX中,是由文件名查文件目录,由文件目录得到该文件的i节点编号,由这个编号得到文件的i节点,从而得到该文件的有关信息。;设备文件:在UNIX中,把块存储设备(如磁盘)和字符设备(如键盘、打印机)都视为文件。不过它们只有文件目录和索引节点,并不占用实际的物理存储块,因此,有时也称它们为特殊文件。为了检查和处理方便,UNIX总是把所有的特殊文件放在名为“dev”的目录文件中。;9.2.1 UNIX文件系统的存储结构
UNIX中,无论是普通文件??是目录文件,都存储在磁盘上。另外,每个文件的i节点也存储在磁盘上。下面讲述这些信息在磁盘上如何分布,UINX怎样来对它们实行管理。
为了使整个文件系统易于扩充和更改,UNIX把文件系统分成基本文件系统和可装卸的子文件系统(文件卷)两个部分。基本文件系统和子文件系统都有自己独立的目录结构,但是基本文件系统是整个UNIX文件系统的基础,是文件系统的“根”,它总是被固定在作为根存储设备的磁盘上。子文件系统是指存储在可装卸存储介质(如软盘)上的文件系统,因此,子文件系统具有可装卸的特性。当把它安装到基本文件系统上时,自身的独立性消失,与基本文件系统融为一体。比如,用户可以把自己的文件系统组织在软盘上成为子文件系统。;;UNIX把文件的存储空间——磁盘想象成是一个由连续物理块构成的文件卷(把每个磁盘或磁带看作是一个文件卷),每个物理块含512个字节。在一个磁盘上,存放着普通文件的信息,存放着目录文件的信息,存放着文件的i节点,还要存放对磁盘存储区的管理信息(比如哪些块是空闲的,哪些块是已分配的等等)。整个磁盘存储区的组织结构如下图示。
;块0用来存放引导程序,它与文件管理关系不大。文件存储器全部资源的管理信息(即filsys表)存放在块1,它是磁盘的管理区。从第2块—K+1块,存放磁盘上文件的i节点内容,这个区域称为索引节点表(区)。索引节点表的后面是一般数据存储区,在那里存放普通文件和目录文件的信息。显然,在磁盘上,一般数据存储区所占用的磁盘空间为最大。下面对管理区中的资源管理信息表filsys、索引节点区中的i节点以及文件的目录分别加以介绍。;9.2.2 几种常用的数据结构;目录项: 由文件名和磁盘i节点标识符id组成。
系统打开文件表、用户打开文件表: 记录和控制打开文件的用户进程以及记录和控制那些共享同一文件的用户进程。其中:
用户打开文件表:存放打开文件的描述符fd;
系统打开文件表:记录打开同一文件的不同进 程和不同进程所使用的不同打开路径,及其对应的读写指针。
;资源管理的任务:
空闲磁盘块的分配
i节点的分配
系统打开文件表的分配
空闲磁盘块的回收
i节点的回收
系统打开文件表的回收
;空闲磁盘块的管理;在磁盘管理区filsys结构中,有两个内容涉及到磁盘空闲块的管理,一个是由数组s_free[100]构成的一个空闲磁盘块索引表。当一个文件要申请磁盘块时,就到这个索引表中去获得需要的空闲块;当一个磁盘块被释放时,就把它还回到这个索引表中。所
原创力文档


文档评论(0)