操作系统第四章总结/
第四章 文件系统
文件是以计算机硬盘为载体存储在计算机上的信息集合。
- 文件管理系统:操作系统中负责管理和存储文件信息的软件机构。
- 文件系统由三部分组成:与文件管理有关的软件,被管理文件,实施文件管理文件所需要数据结构。
- 对于用户而言,文件系统最主要的功能:实现文件的基本操作,按名存储和查找,组织成合适的结构,具有基本的文件共享和文件保护能力。
- 文件系统还需要管理与磁盘的信息交换,完成文件逻辑结构和物理结构的变换,组织文件在磁盘的存放,采取好的文件排放顺序和磁盘调度方法提高系统的性能。
- 文件的逻辑结构是为了方便用户设计。
- 文件的逻辑结构分为无结构文件(流式文件将数据按顺序组织成纪录并积累保存,只能通过穷举搜索)、有结构文件(记录式文件按结构的组织形式)
- 有结构文件按记录的组织形式分为顺序文件,索引文件,索引顺序文件,直接文件或散列文件
- 顺序文件分为串结构(记录之间顺序与关键字无关)和顺序结构(与关键字有关)
- 索引文件:为变长文件建立索引表,提高查找速度
- 索引顺序文件:顺序文件和索引文件的结合
- 目录文件存放的信息是该目录的所有子目录和数据文件的目录。
- 相对路径是从当前目录开始,绝对路径是从根目录开始。
- 直接文件:通过哈希函数直接决定记录地址
- 单极目录:实现按名存取,但查找速度慢,不允许重名,不便于文件共享
- 二级目录:解决文件重名问题,实现访问控制,但缺乏灵活,不能分类
- 树形结构:可以对文件分类,不便于文件共享
- 无环图结构:实现文件共享
- 文件控制块FCB:基本信息,存取控制信息,使用信息
- 文件共享有基于索引结点的硬链接,和基于符号链的软链接。
- 硬链接:共享文件指向同一索引结点,建立共享时索引结点计数器加一,删除时减一
- 软链接:保存共享文件的路径名,建立共享时引用索引结点计数值,删除时不改变,只有再次访问会发现路径不存在,删除符号链。
- 口令和加密保护是为了防止文件被他人存取或窃取,访问控制时用于控制用户对文件的访问方式。
- 现代操作系统时将访问控制列表和用户、组和其他成员访问相结合。
- 对于多级目录结构,不仅需要保护文件,还需要保护目录,需要提供目录保护机制。
- 设置当前工作目录的主要目的是加快文件的检索速度。
- 打开文件的操作是把指定文件的目录复制到内存制定区域。把FCB读入内存。
- unix系统中,输入输出设备是一种特殊文件。
- read系统调用需要open打开时候返回的指向打开文件表中的一个条目的指针,不需要文件名。
- 对一个文件的访问,由文件属性和用户访问权限共同限制。
- 访问控制由系统实现,加密控制由用户实现。
- 一个文件存放在磁带中通常采用连续存放,在磁盘中不采用连续存放。不同的文件系统存放的方法不同。
- 文件的读写速度取决于磁盘的性能。
- 文件的逻辑结构取决于用户,物理结构取决于文件系统设计者正对硬件结构所采取策略。
- 磁带介质很难实现链接结构和索引结构。
- 文件的逻辑结构和物理结构都引入索引的概念,逻辑索引是加快数据的定位,物理索引是管理不连续的物理块。
- 在单级目录中,每当新建一个文件,必须先检索所有的目录项,以保证新文件名在目录中是唯一。
- 文件系统层次结构:用户调用接口(提高文件及目录的调用)——文件目录系统(管理文件目录)——存取控制验证(软件确认访问的合法性)——逻辑文件系统与文件信息缓冲区(逻辑地址的相对块号)——物理文件系统(逻辑记录所在相对块号转换成实际物理地址)——分块模块(管理辅存空间)/设备管理程序模块
- 目录实现的基本方法有线性列表(使用存储文件名和数据块指针)和哈希表(根据文件名得到一个值,返回一个指向线性列表中元素的指针)。
- 文件物理结构有两方面:文件的分配方式和文件存储空间管理。
- 文件的分配方式是对磁盘非空闲区的管理。
- 文件存储空间管理是对磁盘空闲块的管理。
- 常用的磁盘空间分配方法有:连续分配,链接分配,索引分配。
- 更多的是一种系统一种分配方法,RDOS系统对三种方法都支持。
- 连续分配支持顺序访问和直接访问,文件不易扩展,要求连续的存储空间,容易产生碎片
- 快速随机播放是连续分配。
- 链接分配消除外部碎片,分为显式链接(把链接文件各物理块的指针从块末尾提取,存放到一张链接表,整个磁盘就设置一张),隐式链接(无法直接访问盘块,通过指针顺序访问)。
- 链接的显式链接,分配给文件的所有盘块号都在表中,这个表称为文件分配表(FAT)
- 链接分配不能直接访问(FAT除外)
- 索引分配解决外部碎片可随机访问,也可直接访问,查找效率高,便于文件删除,缺点是索引表会占有一定的存储空间。
- 索引分配:链接方案(多个索引块链接),多层索引(第一层索引指向第二.层...),混合索引(系统既采用直接地址,又采用单级索引或者二级索引分配方式)。
- 使用索引分配,首先要读索引块内容,再访问具体的磁盘块。
- 文件存储器空间:文件区和目录区分离
- 文件存储设备的管理实质是空闲块的组织和管理
- (1)空闲表法:属于连续分配方式,所有空闲区按起始盘块号递增排序。
- (2)空闲链表法:空闲盘块链,空闲盘区链。不适用大型文件系统
- (3)位示图法:利用二进制的一位表示磁盘中一个盘块的使用情况。
- 分配 盘块号=n(i-1)+j 改map[i,j]=1
- 回收 i=(b-1)div n+1 j=(b-1)%n+1 改map[i,j]=0
- (4)成组链接法(unix系统)
- 磁盘是表面涂有磁性物质的金属或塑料构成的圆形盘片,通过磁头的导体线圈从磁盘中存取数据。磁道,扇区。
- 磁盘的存储能力受限于最内道的最大记录密度。
- 扇区是磁盘可寻址的最小存储单位,
- 一次磁盘读写操作的时间由寻找时间,延迟时间,传输时间决定。
- 寻找时间(将磁头移动到指定磁道所需要的时间)Ts=m*n+s(驱动常数*跨磁道+启动时间)
- 延迟时间(磁头定位到某一个磁道的扇区所需要时间)Tr=1/2r(转速分之一)跟文件结构有关,跟磁盘空闲区的分配程序有关。
- 除了减少寻找时间,减少延迟时间也是提高磁盘传输效率重要因素。
- 减少延迟时间可通过盘面扇区进行交替编号,对不同盘面进行错位命名。
- 传输时间(从磁盘读出或向磁盘写入数据所经历时间)Tt=b/rN(每次读写字节数/(每秒转数乘一转字节数))
- 总的平均存取时间Ta=Ts+Tr+Tt
- 扇区数据的处理影响传输时间。
- 调度算法决定寻找时间,从而决定总的存取时间。
- 磁盘调度算法有先来先服务,最短寻找时间,扫描算法,循环扫描。
- 默认scan算法,c-scan算法为look,c-look调度。朝给定方向移动前会查看是否有请求。
- 磁盘管理初始化对磁盘进行低级格式化和逻辑格式化。
- 引导块存放自举程序。
- 坏块是硬件故障,操作系统不能修复。