阅读目录 一、文件系统概述 1、文件 2、文件系统 3、文件的属性 4、文件的分类 二、文件的逻辑结构 1、无结构文件 2、有结构文件 顺序文件 索引文件 索引顺序文件 多级索引顺序文件 3、总结 三、文件目录 1、文件控制块 2、目录结构—单级目录结构 3、目录结构—两级目录结构 4、目录结构—多级目录结构 5、目录结构—无环图目录结构 6、索引结点(FCB的改进) 7、总结 四、文件的物理结构(文件的分配方式) 1、文件块、磁盘块 2、文件分配方式—连续分配 3、文件分配方式—链接分配 链接分配—隐式链接 链接分配—显式链接 链接分配总结 4、文件分配方式—索引分配 链接方案 多层索引 混合索引 索引分配总结 支持随机访问? 回到顶部 一、文件系统概述 软件资源管理 信息长期保存的需要 存储介质:磁盘、光盘、磁带… 完成外存信息的管理和存取 在前面的学习中,我们知道文件也是一种系统资源。 这里先给出文件和文件系统的定义。 1、文件 外存中具有符号名的一组有逻辑意义的信息项的集合。 2、文件系统 指OS中管理文件的那一部分软件。它负责管理文件的存储、检索、更新,提供安全可靠的共享和保护手段,并为用户提供一整套方便有效的文件使用和操作方法。它在OS接口中占比例最大,是I/O系统的上层软件。文件系统面向用户的主要任务是实现文件的“按名存取”。 按名存取是文件系统最为主要的任务!!! 3、文件的属性 主要属性有:文件名、识别符、类型、位置、大小、创建时间、上次修改时间、文件所有者和保护信息等。 UNIX系统中文件属性: - 普通文件 d 目录文件 p 管道文件 c 字符型设备文件 b 块设备文件 4、文件的分类 按性质和用途分: 系统文件、库文件、用户文件 按数据形式: 源文件、目标文件、可执行文件 按对文件实施的保护级别分: 只读文件、读写文件、执行文件 按逻辑结构分: 有结构文件、无结构文件 按文件中物理结构分: 顺序文件、链接文件、索引文件 回到顶部 二、文件的逻辑结构 文件的结构指文件中信息的配置和构造方式,有逻辑结构和物理结构之分。 用户眼中文件信息的组织形式叫文件的逻辑结构。它包括记录式文件和流式文件两种,每种文件信息的逻辑单位分别是记录和字符。 UNIX系统视所有文件的逻辑结构为无结构的流式文件 早期有结构的记录式文件又分定长和不定长两种 文件的逻辑结构与文件的存储介质无关 1、无结构文件 2、有结构文件 根据各条记录的长度(占用的存储空间)是否相等,又可以分为定长记录和可变长记录两种。 根据有结构文件中的各条记录如何组织,可分为三类 顺序文件 索引文件 索引顺序文件 这里进行检索效率的分析: 多级索引顺序文件 看完文件的逻辑结构的划分,是不是觉得好像在哪里学过类似的组织方式? 回想一下在计算机组成原理中Cache的组织方式,是不是也是这样的? 地址映像的直接映像、全相联映像、组相联映像不就对应着顺序文件、索引文件、索引顺序文件? 3、总结 回到顶部 三、文件目录 1、文件控制块 文件控制块(FCB):是OS为管理文件而设置的数据结构,存放了为管理文件所需的所有有关信息(文件属性),也叫文件目录项 文件控制块是文件存在的标志 文件控制块的内容: 基本信息:文件的名字、地址、大小、结构、类型 存取控制信息:文件属主、存取权限或属性或口令 使用信息:共享计数,文件的建立、修改日期等 文件控制块内容 Name Type Address Current length Maximum length Date last accessed (for archival) Date last updated (for dump) Owner ID (who pays) Protection information (discuss later) 文件目录:把所有的FCB组织在一起,就构成了文件目录,即文件控制块的有序集合 目录文件:为了实现对文件目录的管理,通常将文件目录以文件的形式保存在外存,这个文件就叫目录文件 目录主要是为了系统快速实现“按名存取”而引入的,查目录是文件系统最频繁的操作,因此目录的合理组织很重要 2、目录结构—单级目录结构 单级目录结构 系统为所有文件建立一个目录文件(线性表) 优点:简单,易实现 缺点: 限制了用户对文件的命名(存在“命名冲突”问题) 顺序检索文件时平均检索时间长 限制了对文件的共享 不适于多用户系统 3、目录结构—两级目录结构 二级目录结构 为克服单级目录结构存在的命名冲突问题,并提高对目录文件的检索速度而引入 目录分为两级:一级称为主文件目录,给出用户名,用户子目录所在的物理位置;二级称为用户文件目录(又称用户子目录),给出该用户所有文件的FCB 优点:解决了文件的重名问题和文件共享问题; 可用于多用户系统; 顺序查找时间降低。 缺点:增加了系统开销 4、目录结构—多级目录结构 多级目录结构又称为树形目录结构 对二级目录简单扩充可得三级或三级以上的多级目录结构,即允许每一级目录中的FCB要么指向文件,要么指向下一级子目录即可。这是当今主流OS普遍采用的目录结构 优点: ①解决了命名冲突问题 ②提高了文件检索速度 ③易于实现文件的共享和保护 ④层次结构清晰,便于对文件分类管理 缺点:查找一个文件按路径名逐层检查,由于每个文件都放在外存,多次访盘影响速度 这里再介绍一下相对路径和绝对路径的概念 树形目录结构可以很方便地对文件进行分类,层次结构清晰,也能更有效地进行文件的管理和保护。但是,树形结构不便于实现文件的共享。为此,提出了"无环图目录结构" 5、目录结构—无环图目录结构 6、索引结点(FCB的改进) 这里先引出一个概念 文件寻址 根据FCB中文件物理地址等信息,求出文件的任意记录或字符在存取介质上的地址,称为文件寻址。 对FCB过大的改进方法 采用目录项分解法,把FCB分成两部分。 符号目录顶(次部) 文件名,文件号 基本目录项(主部) 除文件名外的所有项目 如:UNIX:I节点(索引结点) 例: 设物理块大小512字节,一个FCB有48个字节,符号目录项占 8字节,文件名6字节,文件号2字节,基本目录项占 48-6=42字节。若把含有128个目录项的某单级目录文件改造成符号文件目录和基本文件目录的结构,试说明改造后查找一个文件的平均访盘次数,谈一下自己的认识。 解:分解前:1块含512/48=10个FCB 分解后:1块含512/8=64个符号目录项,或者,1块含512/42=12个基本目录项 该目录文件含有128个目录项,分解前占13(⌈128/10⌉)块,分解后其符号文件占2块 ,基本文件占11块(8:42=2:11)。 故分解前查找一个文件的平均访盘次数:(1+13)/2=7次,分解后:(1+2)/2 +1 =2.5次 由此可见:改造后减少了访问硬盘的次数,提高了检索速度。 7、总结 回到顶部 四、文件的物理结构(文件的分配方式) 系统眼中文件信息的组织形式叫文件的物理结构。它包括顺序文件、链接文件、索引文件三种(实为连续文件与不连续文件两大类) 文件的物理结构也叫文件的存储结构,指文件在外存上的存储组织形式,它与存储介质的性能和外存的分配方式有关 1、文件块、磁盘块 在很多操作系统中,磁盘块的大小与内存块、页面的大小相同 2、文件分配方式—连续分配 连续分配方式要求每个文件在磁盘上占有一组连续的块。 这里需要明白一下磁盘读取的原理 结论:物理上采用连续分配,存储空间利用率低,会产生难以利用的磁盘碎片。 可以用紧凑来处理磁盘碎片,但需要耗费很大的时间代价。 连续分配总结 文件的信息存放在若干连续的物理块中。 优点:实现简单,顺序存取速度快,至此顺序访问和直接访问(随机访问) 缺点:但分配慢,不方便文件拓展,存储空间利用率低,外存碎片多(似内存的可重定位可变分区分配) 3、文件分配方式—链接分配 链接分配采取离散分配的方式,可以为文件分配离散的磁盘块。分为隐式链接和显示链接两种。 链接分配—隐式链接 隐式链接总结 链接分配—显式链接 看到这里是否想到了数据结构中的静态链表? 注意:一个磁盘仅设置一张FAT!FAT的各个表项在物理上连续存储,且每一个表项长度相同,因此“物理块号”字段可以是隐含的。 链接分配总结 4、文件分配方式—索引分配 注意:在显式链接的链式分配方式中,文件分配表FAT是一个磁盘对应一张表。而索引分配方式中,索引表是一个文件对应一张。 但如果出现一个磁盘块不能装下文件的整张索引表,该如何解决这个问题? 链接方案 多层索引 混合索引 索引分配总结 支持随机访问? 作者:王陸 出处:http://www.cnblogs.com/wkfvawl/ ------------------------------------------- 个性签名:罔谈彼短,靡持己长。做一个谦逊爱学的人! 本站使用「署名 4.0 国际」创作共享协议,转载请在文章明显位置注明作者及出处。“推荐”哦,博主在此感谢!https://www.cnblogs.com/wkfvawl/p/11847413.html