1k likes | 1.15k Views
第九章 文件系统. (一)文件系统的基本概念 (二)文件的逻辑结构与存取方法 (三)文件的物理结构 (四)文件存储空间管理 (五)文件目录结构 (六)文件的共享与保护 (七)文件操作. (一)文件系统的基本概念. 一 . 文件 所有的计算机应用程序都要:存储信息,检索信息 三个基本要求: 存储大量的信息 ; 长期保存信息 ; 可以共享信息 解决方法:把信息以一种单元,即文件的形式存储在磁盘或其他外部介质上. 1. 什么是文件. 文件是在逻辑上具有完整意义的信息集合。它有一个名字以供标识。文件名是以字母开头的字母数字串。
E N D
第九章 文件系统 (一)文件系统的基本概念 (二)文件的逻辑结构与存取方法 (三)文件的物理结构 (四)文件存储空间管理 (五)文件目录结构 (六)文件的共享与保护 (七)文件操作
(一)文件系统的基本概念 一. 文件 所有的计算机应用程序都要:存储信息,检索信息 三个基本要求: 存储大量的信息; 长期保存信息; 可以共享信息 解决方法:把信息以一种单元,即文件的形式存储在磁盘或其他外部介质上
1. 什么是文件 文件是在逻辑上具有完整意义的信息集合。它有一个名字以供标识。文件名是以字母开头的字母数字串。 构成文件的基本单位——信息项 记录 • 文件是具有符号名的信息(数据)项的集合 • 文件是具有符号名的记录的集合
2. 文件分类 (1)按文件的性质和用途分类 • 系统文件:有关OS及有关系统所组成文件,通过操作系统调用为用户服务。 • 程序库文件:标准子程序及常用应用程序组成文件,允许用户使用但不能修改 • 用户文件: (2)按信息保存期限分类 临时文件 永久文件 档案文件 (3)按保护级别分类 不保护文件 执行文件 只读文件 读写文件
(4)按文件流向分类 输入文件 输出文件 输入输出文件 (5)按文件的逻辑结构分类 流式文件 记录式文件 (6)按文件的物理结构分类 顺序(连续)文件 链接文件 索引文件 (7)UNIX系统将文件分为三类 普通文件:无结构的字符文件 目录文件:由文件的目录项组成的文件 特殊文件:设备文件
3. 文件名与属性 (1)文件名 根据文件的定义,每个文件必须有一个唯一的文件名,用户使用文件名存取文件。系统使用文件内部标识符管理文件。 文件名是一个有限长度的字符串。 DOS、WINDOWS系统中文件名: 文件名.[文件扩展名] 文件名是一个不大于8个字符的字符串,但WINDOWS系统中允许超长文件名,最多可有256个字符,不区分英文字母的大小写。
(2)文件扩展名 文件扩展名表示了文件的使用特征。 不大于3个字符,一般用来表示文件的类型。 例如: C C语言源程序文件 COM 可执行文件(小模式) EXE 可执行文件(大模式) BAT 批处理文件 OBJ 目标文件 hust.txt ll.c ll.obj ll.com ll.exe 操作系统教学片99.ppt
UNIX系统中的文件名: 文件名是一个不大于14个字符的字符串。并且区分英文字母的大小写。 例如: ll.c a .out aa AA 注意:在UNIX系统中文件名就是一个字符串,没有文件名和文件扩展名之分,文件的类型由用户命名时确定。 例如,li.c,UNIX系统认为这个文件名的长度是4个字符。而在DOS、WINDOWS系统中则解释这个文件名,li是文件名,c是文件扩展名,表示该文件是一个C语言的源程序文件,而.是文件名和文件扩展名的分隔符。
(3)文件属性 文件属性反映文件的类型、类别、存取控制、保护级别等信息。 UNIX系统中文件属性: - 普通文件 d 目录文件 p 管道文件 c 字符型设备文件 b 块设备文件
二. 文件系统 1. 什么是文件系统 文件系统是操作系统中负责管理和存取文件信息的软件机构,包括: • 管理文件所需的数据结构(如目录表、文件控制块、存储分配表) • 管理程序 • 一组操作
2. 文件系统的功能 (1)从用户的角度看 文件系统如何呈现在其面前:一个文件有什么组成,如何命名,如何保护文件,可以进行何种操作等等。 文件系统是用户在计算机上存储信息和使用信息的接口,实现了“按名存取”的功能。
(2)从系统的角度看 文件目录怎样实现,怎样管理存储空间,文件存储位置,磁盘实际运作方式(与设备管理的接口)等等。 文件系统是一个负责文件存储空间管理的机构,主要功能包括: • 统一管理文件的存储空间,实施存储空间的分配与回收 • 实现文件的按名存取 实现名字空间向存储空间的映射 • 实现文件信息的共享,并提供文件的保护和保密措施 • 向用户提供一个方便使用的接口(提供对文件系统操作命令,以及提供对文件的操作命令:信息存取、加工等) • 系统维护及向用户提供有关信息 • 提供与I/O的统一接口
(3) 文件系统的特点 • 使用简单 使用文件名、一组文件操作命令 • 安全可靠 提供防护措施,在文件遭受破坏时,能及时复原。 • 既能共享,又能保密 身份验证,存取权限验证。
(二) 文件的逻辑组织与存取方法 一. 文件的两种结构 1. 两种不同的观点 • 用户观点: 是研究用户“思维”中的抽象文件,或称逻辑文件,其研究的侧重点在于为用户提供一种逻辑结构清晰、使用简便的逻辑文件形式。用户将按照这种形式去存储、检索和加工有关文件中的信息。 • 实现观点: 是研究驻留在设备“介质”中的实际文件,或称物理文件。它研究的侧重点是选择一些工作性能良好、设备利用率高的物理文件形式。系统将按照这种形式同外部设备打交道并控制信息的传输。
2. 文件的逻辑结构 (1)什么是文件的逻辑结构 从用户角度看到的文件面貌,是用户思维中文件结构,即用户对信息进行逻辑组织形成的文件结构。 (2)研究文件逻辑结构的目的 为用户提供一种逻辑结构清晰、使用简便的逻辑文件形式。 用户按文件的逻辑结构形式去存储、检索合加工文件中的信息。
3. 文件的物理结构 (1)什么是文件的物理结构 文件在存储介质上的结构(或称组织)。在当代,文件的存储介质是磁盘,包括软盘、硬盘和光盘、磁带,早期还有磁鼓。由于目前的磁带是模拟磁盘的结构,所以文件的物理结构主要是指磁盘上文件的结构。 (2)研究文件物理结构的目的 选择工作性能良好、设备利用率高的物理文件形式。 系统按照文件的物理结构形式和外部设备打交道,控制信息的传输。
4. 逻辑记录与物理记录(磁盘块) (1)逻辑记录 逻辑记录是文件中按信息在逻辑上的独立含义来划分的信息单位。 逻辑记录是对文件进行存取操作的基本单位。 (2)物理记录 在存储介质上,由连续信息所组成的一个区域称为块,也叫物理记录。 (3)逻辑记录与物理记录的区别和关系 一个是逻辑的概念。一个是物理的概念。逻辑记录最终在存放到物理记录上。
二. 文件的逻辑结构 文件的逻辑结构: • 结构文件--记录式文件 • 无结构文件--流式文件 1. 流式文件 流式文件是有逻辑意义的一串有序字符的集合,是无结构的。 流式文件按信息的个数或以特殊字符为界进行存取,构成文件的基本单位是字符,文件的长度为所含字符数。 好处:提供很大的灵活性 UNIX、DOS、WINDOWS系统中的普通文件都是流式文件。
2. 记录式文件 记录式文件是一种结构式文件,这种文件在逻辑上总是被看成一组连续顺序的记录的集合. 每个记录由彼此相关的域构成。每个记录有一个键,可按键进行查找。 如果文件中所有记录的长度都相同,则这种文件为定长记录文件。 • 定长记录文件的长度 = 记录个数×记录长度 • 变长记录文件的长度为各记录长度之和。 例如:学生登记表文件 xsdjb.dbf 姓名 学号 籍贯 通信地址 邮政编码 李铭 925678 武昌 武昌关山街125号 430074 司马乐 925679 北京 北京海军路88号 100034
3、两种文件的比较 流式文件就象给一张白纸给用户,用户可将他的信息任意地写到纸上,没有任何格式上的限制。 记录式文件就象给一张表格给用户,用户要按表规定的格式填信息。
三. 文件的存取方法 1. 顺序存取 后一次存取总是在前次存取的基础上进行的。每次存取不必给出存取开始的位置。 2. 随机存取 用户以任意次序请求某个记录。每次存取操作都要指定存取操作的开始位置。在系统中提供文件存取操作有: n = read(fd,buffer,size); m = write(fd,buffer,size); 这两个操作总是从当前位置开始读(或写),执行顺序存取操作。 leek(fd,offset,mode) 调整文件的读写起始位置的系统调用,若在read、write之前执行leek操作,就调整了文件的读写指针(读写开始的位置),实现了随机存取。
四. 存储介质 磁盘,磁带,光盘 (1)物理块 在文件系统中,文件的存储设备常常划分为若干大小相等的物理块。同时也将文件信息划分成相同大小的逻辑块(块)(通常为512字节),所有块统一编号 以块为单位进行信息的存储、传输、分配。 (2)磁带 永久保存大容量数据 顺序存取设备:前面的物理块被存取访问之后,才能存取后续的物理块的内容 存取速度较慢,主要用于后备存储,或存储不经常用的信息,或用于传递数据的介质
(3)磁盘 直接(随机)存取设备: 存取磁盘上任一物理块的时间不依赖于该物理块所处的位置
扇区 磁臂 柱面 磁头
信息记录在磁道上,多个盘片,正反两面都用来记录信息,每面一个磁头; 所有盘面中处于同一磁道号上的所有磁道组成一个柱面。 物理地址形式: 磁头号(盘面号) 磁道号(柱面号) 扇区号 磁盘系统由磁盘本身和驱动控制设备组成,实际存取读写的动作过程是由磁盘驱动控制设备按照主机要求完成的 一次访盘请求: 读/写,磁盘地址(设备号,柱面号,磁头号,扇区号),内存地址(源/目)
完成过程由三个动作组成: • 寻道(时间):磁头移动定位到指定磁道 • 旋转延迟(时间):等待指定扇区从磁头下旋转经过 • 数据传输(时间):数据在磁盘与内存之间的实际传输 硬盘又分为两种: • 固定头磁盘:每个磁道设置一个磁头,变换磁道时不需要磁头的机械移动,速度快但成本高 • 移动头磁盘:一个盘面只有一个磁头,变换磁道时需要移动磁头,速度慢但成本低
(4)光盘 光盘容量大,速度快,价格便宜,但一般不可写 可读写光盘驱动器价格贵,写过程很麻烦 光盘的空间结构与磁盘类似 (5)外存的特点 容量大,断电后仍可保存信息,速度较慢,成本较低 由两部分组成:驱动部分+存储介质 种类很多 外存空间组织与地址与存取方式非常复杂 I/O过程方式非常复杂
(6)用户对外存的要求 用户对外存的使用:读写外存数据 用户对外存的要求:方便、效率、安全 • 在读写外存时不涉及硬件细节,使用逻辑地址和逻辑操作 • 存取速度尽可能快,容量大且空间利用率高 • 外存上存放的信息安全可靠,防止来自硬件的故障和他人的侵权 • 可以方便地共享,动态扩缩,携带拆卸,了解存储情况和使用情况 • 以尽可能小的代价完成上述要求
(三)文件的物理结构 文件的物理结构描述了文件在辅存上的安置、链接和编目的方法。 常用的文件物理结构: 连续文件结构、串联文件结构和索引结构 一. 连续文件结构 1. 什么是连续文件结构 连续文件结构是由一组分配在磁盘连续区域的物理块组成。
2. 连续文件结构 磁盘块号 100 101 102 文件A目录项 文件目录 在连续文件结构下,当要存取Ri记录时,应如何操作?
3. 连续文件的特点 • 优点: • 结构简单,实现容易,不需要额外的空间开销 • 支持顺序存取和随机存取,顺序存取速度快 • 连续存取时速度较快 • 缺点: • 文件长度一经固定便不易改变 • 不利于文件的动态增加和修改 预留空间:浪费 重新分配和移动 适用于变化不大的顺序访问的文件
二. 串联文件结构 1. 什么是串联文件 串联文件结构是按顺序由串联的块组成的,即文件的信息按存储介质的物理特性存于若干块中。 每个物理块的最末一个字(或第一个字)作为链接字,它指出后继块的物理地址。链首指针存放在该文件目录中。文件的结尾块的指针为“∧”,表示文件至本块结束。 对于记录式文件一块中可包含一个逻辑记录或多个逻辑记录,也可以若干物理块包含一个逻辑记录。
2. 串联文件的结构 问题:在串联文件结构下,当要存取Ri记录时, 应如何操作?
磁盘块号 磁盘块号 磁盘块号 100 150 45 文件A目录项 文件目录 在串联文件结构下,当要存取Ri记录时,应如何操作?
3. 串联文件的特点 • 优点: • 空间利用率高;能较好的利用辅存空间。 • 文件动态扩充和修改容易。 • 顺序存取效率高 类似于存储管理中的页式 • 缺点: • 随机存取效率太低,如果访问文件的最后的内容,实际上是要访问整个文件。 • 可靠性问题,如指针出错 • 链接指针占用一定的空间
文件映照 • 文件映照技术:即把链接文件中的链接字集中在一结构中,这样既保持了链接文件的优点,也克服了其缺点。 • Windows系统的FAT16、FAT32采用了文件映照。 FAT文件磁盘格式 boot 根目录区 文件数据区 FAT1 FAT2 FAT12 1.5 FAT16 2 FAT32 4(只用28位,高4位保留) 且取消了根目录区。
FFFF n-3 FFFF n-6 005 FAT 0000 0000 0000 0000 0000 ••• 文件目录 0000 0000 1 0 n-2 2 3 4 n-3 n-6 n-5 n-4 n-1 n 5 0000 0000 0000 ••• 0000 0000 Flile 1 ••• 3 4 Flile 2 ••• 2 2
1. 什么是索引文件 系统为每个文件建立逻辑块号与物理块号的对照表,称为文件的索引表。文件由数据文件和索引表构成。这种文件称为索引文件。 索引表位置:文件目录中,文件的开头等。 索引表大小:固定大小,非固定大小。 三. 索引文件结构
3. 索引文件的操作 索引文件在存储区中占两个区:索引区和数据区。索引区存放索引表,数据区存放数据文件本身。 访问索引文件需要两步操作—— • 查文件索引号,由逻辑块号查得物理块号 • 由此磁盘物理块号而获得所要求的信息
4. 索引文件的特点 • 优点: 保持了链接结构的优点,又解决了其缺点: • 即能顺序存取,又能随机存取 • 满足了文件动态增长、插入删除的要求 • 能充分利用外存空间 • 缺点: 索引表本身带来了系统开销 如:内外存空间,存取时间
5. 索引表的组织——多级索引 链接模式:一个盘块一个索引表,多个索引表链接起来 多级索引:将一个大文件的所有索引表(二级索引)的地址放在另一个索引表(一级索引)中 综合模式:
UNIX系统采用多级间接索引结构,对小型文件采用直接索引,对大型文件采用间接索引,从而,既保证绝大多数的文件有高的存取效率,又能适应存取一些大型文件(既保证了文件系统的高效率,又使其有很宽的适应面)。UNIX系统采用多级间接索引结构,对小型文件采用直接索引,对大型文件采用间接索引,从而,既保证绝大多数的文件有高的存取效率,又能适应存取一些大型文件(既保证了文件系统的高效率,又使其有很宽的适应面)。
••• 文件大小 文件目录 1890 Flile 1 1235 124 0 ••• 56 1 7981 2 226 3 4 null 124 5 null 56 6 null null 7 null 8 7981 null 9 null 10 11 null 12 null 226 File1 i 结点 1235 假设: 磁盘块大小:512字节 磁盘块号:4字节 直接索引
文件目录 ••• 文件大小 6250 Flile 1 1235 0 134 Flile 2 896 1 156 ••• 2 798 3 426 4 566 999 5 164 891 10 832 6 59 11 596 7 791 12 null 8 826 ••• 891 9 296 null 10 null 11 null 一次索引块 12 832 596 null File2 i 结点 896 直接索引 999 一次间接索引
文件目录 ••• 文件大小 Flile 1 1235 137200 0 138 Flile 3 1896 1 136 2 ♯♯ ♯ 3 ♯♯ ♯ 4 ♯♯ ♯ 5 ♯♯ ♯ 6 ♯♯ ♯ 7 ♯♯ ♯ 8 ♯♯ ♯ 788 9 536 1678 10 978 11 null ••• 12 二次索引块 File3 i 结点 1896 直接索引 一次间接索引 二次间接索引 678 788 null
四. 文件物理结构的比较 • 连续文件的优点是不需要额外的空间开销,只要在文件目录中指出文件的大小和首块的块号即可,对顺序的访问效率很高。适应于顺序存取。缺点是动态地增长和缩小系统开销很大;文件创建时要求用户提供文件的大小;存储空间浪费较大。 • 串联文件克服了连续文件的不足之处,但文件的随机访问系统开销较大。适应于顺序访问的文件。DOS系统中改造了串联文件的结构,使其克服了串联文件的不足,但增加了系统的危险性。 • 索引文件既适应于顺序存访问,也适应于随机访问,是一种比较 好的文件物理结构,但要有用于索引表的空间开销和文件索引的时间开销。UNIX系统是使用索引结构成功的例子。
五.文件结构、文件存取方式与文件存储介质的关系五.文件结构、文件存取方式与文件存储介质的关系 存储介质 磁带 磁盘 物理结构 连续结构 连续 链接 索引 存取方式 顺序存取 顺序 顺序 顺序 随机 随机