Presentation is loading. Please wait.

Presentation is loading. Please wait.

操作系统原理 Operating System Principles

Similar presentations


Presentation on theme: "操作系统原理 Operating System Principles"— Presentation transcript:

1 操作系统原理 Operating System Principles
四川大学计算机学院 段 磊 2014

2 第9章 文件管理 存储在外存上的信息的组织形式是文件 文件系统是操作系统中管理信息资源的软件 磁盘是重要的外存 说明存储文件及其属性
第9章 文件管理 存储在外存上的信息的组织形式是文件 文件系统是操作系统中管理信息资源的软件 说明存储文件及其属性 控制和管理文件 提供文件使用接口 安全实现文件的共享与保护 磁盘是重要的外存

3 本章目录 9.1 文件和文件的属性 9.2 文件结构和文件实现 9.3 文件系统 9.4 目录管理 9.5 磁盘存储器管理
9.1 文件和文件的属性 9.2 文件结构和文件实现 9.3 文件系统 9.4 目录管理 9.5 磁盘存储器管理 9.6 文件系统性能和可靠性 9.7 文件的共享和保护 2019/4/28 《计算机操作系统》- 第9章

4 本章目录 9.1 文件和文件的属性 9.2 文件结构和文件实现 9.3 文件系统 9.4 目录管理 9.5 磁盘存储器管理
9.1 文件和文件的属性 9.2 文件结构和文件实现 9.3 文件系统 9.4 目录管理 9.5 磁盘存储器管理 9.6 文件系统性能和可靠性 9.7 文件的共享和保护 2019/4/28 《计算机操作系统》- 第9章

5 9.1.1 文件的概念 数据项 记录 文件 基本数据项:可命名的最小逻辑单位/字段 组合数据项:由若干基本数据项组成 基本数据项的类型和数据
一组相关数据项的集合 关键字:能唯一地标识出记录的基本/组合数据项 文件 由文件名标注的一组信息的结合 用于逻辑上描述存储在外存上的数据 2019/4/28 《计算机操作系统》- 第9章

6 文件的概念 文件的存取方法 所谓文件的存取方法,是指读写文件存储器上的一个物理块的方法,是指操作系统为用户程序提供的使用文件的技术和手段。
文件的存取方法不仅与文件的性质有关,而且与用户使用文件的方式有关。 通常有3类存取方法:顺序存取法、直接存取法和按键存取法。 2019/4/28 《计算机操作系统》- 第9章

7 文件的概念 文件的存取方法 顺序存取法:严格按物理记录排列的顺序依次存取
直接存取法:允许用户随意存取文件中的任何一个 物理记录,而不管上次存取了哪一个记录。 按键存取法:实质上也是直接存取法,它不是根据 记录编号或地址来存取,而是根据文件中各记录内 容进行存取的。 2019/4/28 《计算机操作系统》- 第9章

8 文件系统 应用层观点:逻辑抽象 物理层观点:空间管理 安全、保护 磁盘设备防护 映 射 文件访问控制 磁盘数据存取 数据文件 磁盘空间
映 射 文件访问控制 磁盘数据存取 数据文件 磁盘空间 文件结构定义 磁盘空间分配 文件系统服务器 2019/4/28 《计算机操作系统》- 第9章

9 9.1.2 文件的分类 按用途分类: 按文件中的数据形式分类 存取控制 系统文件,用户文件,库文件。 (用户对以上三者的访问权限不同)
源,目标,可执行。 存取控制 E,R,R/W 2019/4/28 《计算机操作系统》- 第9章

10 文件的分类 逻辑结构 保存期限 物理安排 有结构(记录式) 临时文件 无结构(流式) 永久文件 档案文件 顺序文件:数据(连续放) 链接文件
索引文件 保存期限 临时文件 永久文件 档案文件 2019/4/28 《计算机操作系统》- 第9章

11 9.1.3 文件的属性 属性的含义 文件类型 文件长度 文件物理位置 文件建立时间 …… 2019/4/28 《计算机操作系统》- 第9章

12 文件的属性 常见文件属性及其含义 保护:谁可以存取文件、以什么方式存取文件 口令:存取文件需要的口令 创建者:文件的创建者ID
所有者:当前所有者 只读标志:0表示读/写;1表示只读 隐藏标志:0表示正常;1表示不在列表中显示 系统标志:0表示普通文件;1表示系统文件 2019/4/28 《计算机操作系统》- 第9章

13 文件的属性 常见文件属性及其含义 存档标志:0表示已经备份;1表示需要备份 ASCII/二进制标志:0表示ASCII文件;1表示二进制文件
随机存取标志:0表示只允许顺序存取;1表示随机存取 临时标志:0表示正常;1表示进程退出时删除文件 加锁标志:0表示未加锁;1表示已加锁 记录长度:1个记录中的字节数 键的位置:每个记录中键的偏移量 2019/4/28 《计算机操作系统》- 第9章

14 文件的属性 常见文件属性及其含义 键的长度:键字段的字节数 创建时间:文件创建的日期和时间 最后一次存取时间:文件上一次存取的日期和时间
最后一次修改时间:文件上一次修改的日期和时间 当前大小:文件的字节数 最大长度:文件可能增长到的字节数 2019/4/28 《计算机操作系统》- 第9章

15 本章目录 9.1 文件和文件的属性 9.2 文件结构和文件实现 9.3 文件系统 9.4 目录管理 9.5 磁盘存储器管理
9.1 文件和文件的属性 9.2 文件结构和文件实现 9.3 文件系统 9.4 目录管理 9.5 磁盘存储器管理 9.6 文件系统性能和可靠性 9.7 文件的共享和保护 2019/4/28 《计算机操作系统》- 第9章

16 9.2.1 文件的逻辑结构 人们常以两种不同的观点去研究文件的结构。 用户的观点 实现的观点
主要研究观察到的文件组织形式,用户可以直接处理其中的结构和数据 常被称为逻辑结构 实现的观点 主要研究存储介质上的实际文件结构,是指文件在外存上的存储组织形式 常被称为物理结构或存储结构 2019/4/28 《计算机操作系统》- 第9章

17 9.2.1 文件的逻辑结构 人们常以两种不同的观点去研究文件的结构。 用户的观点 实现的观点 无论是逻辑还是物理结构
主要研究观察到的文件组织形式,用户可以直接处理其中的结构和数据 常被称为逻辑结构 实现的观点 主要研究存储介质上的实际文件结构,是指文件在外存上的存储组织形式 常被称为物理结构或存储结构 无论是逻辑还是物理结构 都会影响到文件的检索速度 逻辑结构的概念: 用户所能观察和访问到的文件的数据结构组织 独立于物理特性,容易检索和修改。 2019/4/28 《计算机操作系统》- 第9章

18 文件的逻辑结构 有结构文件:记录式文件 b类: a类: 无结构文件:流式文件 连续文件:按照记录生成时间 定长记录 顺序文件:通常是定长记录
以字节为单位,利用读/写指针进行访问 a类: 定长记录 变长记录 b类: 连续文件:按照记录生成时间 顺序文件:通常是定长记录 索引文件: 索引顺序文件:顺序组织多个组, 每组记录中的第一个记录设置一索 引项。 2019/4/28 《计算机操作系统》- 第9章

19 文件的逻辑结构 顺序文件 逻辑记录的顺序 对顺序文件的读/写操作 按记录录入的时间排:串结构 按关键字排序:顺序结构
后一种情况更有利于提高查询速度 对顺序文件的读/写操作 定长记录顺序文件:例:顺序读 易于定位,甚至可随机读取。 变长记录:不易定位,只能顺序读取。 2019/4/28 《计算机操作系统》- 第9章

20 文件的逻辑结构 顺序文件-评价 批处理时效率是所有逻辑文件中最高的 可存在于磁带上
交互应用时“效率低”(如要查找单个记录),尤其是对变长记录的顺序文件 增加、删除记录涉及到排序问题,开销大 事务文件(log),用于存放将更新到主文件的记录 2019/4/28 《计算机操作系统》- 第9章

21 文件的逻辑结构 索引文件 由变长记录组成的顺序文件不容易直接存取,因此考虑为其建立一有序的索引表,对索引采用折半查找,速度更快 特点:
提高了速度,增加了存储开销(存放索引文件) 增、删记录时,对索引表作相应的修改。 2019/4/28 《计算机操作系统》- 第9章

22 文件的逻辑结构 索引顺序文件 例1:10000个记录 顺序文件:5000次查找
将顺序文件中若干记录分为一组,每组第一项在索引表中占一项。 速度: 例1:10000个记录 顺序文件:5000次查找 索引顺序文件:设100个记录一组,索引表的找法设为顺序法的情况下,则查找次数为50+50=100 例2: 个纪录: 低级索引:(100个纪录一组):10000 高级索引:100 速度: =150 2019/4/28 《计算机操作系统》- 第9章

23 9.2.2 文件的物理结构 在采用连续分配方式时,可把逻辑文件中的记录顺序地存储到邻接的各物理盘块中,这样所形成的文件结构称为顺序文件结构,此时的物理文件称为顺序文件。 这种分配方式保证了逻辑文件中的记录顺序与存储器中文件占用盘块的顺序的一致性。 2019/4/28 《计算机操作系统》- 第9章

24 文件的物理结构 顺序文件(连续分配) 每个文件分配一组相邻盘块。 特点:简单 文件对应目录项(属性)中包含: 始址、总块数、最后一块字节数。
顺序访问容易且速度快,因磁头移动距离小, 要求连续空间,一段时间后需整理磁盘以消除外部碎片。 必须事先知道长度,文件不易动态增长和删除。 文件对应目录项(属性)中包含: 始址、总块数、最后一块字节数。 2019/4/28 《计算机操作系统》- 第9章

25 文件的物理结构 顺序文件(链接分配) 文件离散地分配于各盘块中,以提高外存利用率,文件长度可变,易于增删,只能顺序存取。
对应目录项:链表的首指针 评价-优点: 避免了顺序文件要求连续分配存储空间的问题,消除了物理块的外部“碎片”,外存利用率更高。 通过指针将物理块链接在一起,使得文件的逻辑记录顺序与外存中记录的物理放置完全独立开来,克服了外存连续分配不能适应文件增长和缩短的缺点。 2019/4/28 《计算机操作系统》- 第9章

26 文件的物理结构 评价-缺点: 每次文件的访问总是从文件的第1个物理块开始,沿链接指针得到其他的物理块。如果需要访问第B块,则每次总是要从第1个物理块开始,直到第B块,花费的时间很长 链接指针信息的存放需要存储空间,使得存储器可利用空间减少 需要更多的磁盘寻道次数和更长的磁盘寻道时间 链接指针的可信度是影响该方法的关键。操作系统可能会由于系统软件或硬件发生故障,导致链接指针丢失或出错,最终引起文件内容丢失或出错 2019/4/28 《计算机操作系统》- 第9章

27 9.2.2 文件的物理结构 索引文件(索引分配) 单级索引分配 链接分配方式虽然解决了连续分配方式所存在的问题,但又出现了下述另外两个问题: 不能支持高效的直接存取。要对一个较大的文件进行直接存取,须首先在FAT中顺序地查找许多盘块号 FAT需占用较大的内存空间 2019/4/28 《计算机操作系统》- 第9章

28 文件的物理结构 多级索引的概念 将每个文件所对应的盘块号集中地放在一起 索引分配方法就是基于这种想法所形成的一种分配方法
它为每个文件分配一个索引块(表),再把分配给该文件的所有盘块号都记录在该索引块中,因而该索引块就是一个含有许多盘块号的数组 在建立一个文件时,只需在为之建立的目录项中填上指向该索引块的指针 多级索引的概念 2019/4/28 《计算机操作系统》- 第9章

29 9.2.3 文件的实现 顺序存取:按照文件逻辑记录的顺序进行文件读/写操作的存取方式为顺序存取方式。
直接存取:也称为随机存取,指用户按照记录的编号进行文件存取时,根据存取命令,把读写指针直接移到读写处进行操作。直接存取适合磁盘文件。 索引存取:也称为关键字存取。以索引作为文件记录的指针,对文件进行存取。 2019/4/28 《计算机操作系统》- 第9章

30 9.2.4 文件的操作 对文件的操作 对目录的操作 创建文件 删除文件 打开文件 读文件 写文件 关闭文件 读操作 写操作 查找 修改 插入
2019/4/28 《计算机操作系统》- 第9章

31 文件的操作 用户的文件交系统管理后,为保证文件的安全、可靠,用户使用文件的操作步骤如下: 读一个文件信息时,依次调用:
“打开”文件 “读”文件 “关闭”文件 写一个文件信息时,依次调用: “建立”文件 “写”文件 2019/4/28 《计算机操作系统》- 第9章

32 本章目录 9.1 文件和文件的属性 9.2 文件结构和文件实现 9.3 文件系统 9.4 目录管理 9.5 磁盘存储器管理
9.1 文件和文件的属性 9.2 文件结构和文件实现 9.3 文件系统 9.4 目录管理 9.5 磁盘存储器管理 9.6 文件系统性能和可靠性 9.7 文件的共享和保护 2019/4/28 《计算机操作系统》- 第9章

33 9.3.1 文件系统及其功能 1.文件系统 操作系统中管理信息资源的软件 主要包含: 文件、管理文件的目录以及分区。
文件系统及其功能 1.文件系统 操作系统中管理信息资源的软件 实现文件及其属性说明的存储 实施对文件的控制和管理 保证对文件的共享和保护 提供用户使用文件的接口 主要包含: 文件、管理文件的目录以及分区。 文件目录对文件系统中的文件进行组织,提供系统中所有文件的属性和管理控制信息。 分区用于划分目录,实现目录的组织形式。 2019/4/28 《计算机操作系统》- 第9章

34 文件系统及其功能 2.文件系统的功能  实现文件按名存取;  提供用户对文件的访问和操作;  实现逻辑文件到物理文件的映射;
 实现文件按名存取;  提供用户对文件的访问和操作;  实现逻辑文件到物理文件的映射;  实现文件目录的建立和维护;  有效组织和管理文件存储空间;  实现文件共享与保护。 2019/4/28 《计算机操作系统》- 第9章

35 文件系统及其功能 用户看重的文件系统功能: 操作系统注重的文件系统功能:
文件系统对文件的命名形式、文件的组织形式、文件的保护措施和对文件的操作等功能; 操作系统注重的文件系统功能: 文件目录的实现方法、文件存储空间的管理方法、文件存储的结构、文件系统与设备管理的接口以及文件系统的性能等。 2019/4/28 《计算机操作系统》- 第9章

36 在操作系统中,文件系统处于用户接口与输入/输出设备管理之间,之上是用户接口,之下是输入/输出设备管理。
文件系统模型 在操作系统中,文件系统处于用户接口与输入/输出设备管理之间,之上是用户接口,之下是输入/输出设备管理。 用户接口 文件系统 输入/输出设备管理 2019/4/28 《计算机操作系统》- 第9章

37 按照文件系统的功能设计成一个6层的文件系统结构
文件系统模型 按照文件系统的功能设计成一个6层的文件系统结构 2019/4/28 《计算机操作系统》- 第9章

38 接收用户对文件的操作命令或系统调用,根据用户对文件的存取要求将其转换为统一格式的文件系统内部调用
文件系统模型 按照文件系统的功能设计成一个6层的文件系统结构 接收用户对文件的操作命令或系统调用,根据用户对文件的存取要求将其转换为统一格式的文件系统内部调用 2019/4/28 《计算机操作系统》- 第9章

39 按照文件系统的功能设计成一个6层的文件系统结构
文件系统模型 按照文件系统的功能设计成一个6层的文件系统结构 根据文件名或文件路径名建立或搜索文件目录,获得文件内部标志和目录中的文件属性。 从目录中的文件属性确定访问文件的用户身份,验证存取权限,判定本次文件操作的合法性,实现文件的存取、共享、保护。 2019/4/28 《计算机操作系统》- 第9章

40 按照文件系统的功能设计成一个6层的文件系统结构
文件系统模型 按照文件系统的功能设计成一个6层的文件系统结构 根据文件内部标志将文件说明信息调入内存,为访问文件做准备。变换指定的逻辑记录地址成相应的物理块地址。 对于流式文件,把指定的逻辑地址按块长计算出相对块号; 对记录式文件,先把记录号变换成逻辑地址,再把逻辑地址转换成相对块号。 2019/4/28 《计算机操作系统》- 第9章

41 按照文件系统的功能设计成一个6层的文件系统结构
文件系统模型 按照文件系统的功能设计成一个6层的文件系统结构 根据文件在内存中的物理结构信息,将相对块号和块内地址变换为文件存储器的物理块号和块内地址。 2019/4/28 《计算机操作系统》- 第9章

42 按照文件系统的功能设计成一个6层的文件系统结构
文件系统模型 按照文件系统的功能设计成一个6层的文件系统结构 负责文件存储空间的分配,动态地为文件的写操作申请物理块,实现文件缓冲区的管理。 2019/4/28 《计算机操作系统》- 第9章

43 按照文件系统的功能设计成一个6层的文件系统结构
文件系统模型 按照文件系统的功能设计成一个6层的文件系统结构 执行I/O操作,为文件分配磁盘等物理介质空间,实现文件信息的存取。 2019/4/28 《计算机操作系统》- 第9章

44 文件系统的实例 对常用的操作系统,如DOS操作系统的0号扇区是引导计算机的主引导记录,在主引导记录之后是分区表,分区表中存放的是每个分区的起始地址和结束地址。 磁盘被划分为多个分区,其中有一个分区为活动分区。每个分区上都有一个独立的文件系统。每个分区的布局为:引导块、超级块、空闲空间管理信息、索引节点信息、根目录、文件和目录。 2019/4/28 《计算机操作系统》- 第9章

45 文件系统的实例 计算机的引导过程有以下几步  引导操作系统  读入文件系统  为文件分配空闲块
 引导操作系统 BIOS被读入内存并执行主引导记录,确定活动分区,读入活动分区的引导块并执行引导操作系统的程序,将操作系统装入内存。  读入文件系统 在文件系统首次使用时,超级块中的文件系统信息被读入内存。  为文件分配空闲块 根据位示图或链接表形式给出的空闲块信息为文件分配空闲块。 文件系统的所有关键参数,如文件系统类型标志和文件数据块数量 2019/4/28 《计算机操作系统》- 第9章

46 本章目录 9.1 文件和文件的属性 9.2 文件结构和文件实现 9.3 文件系统 9.4 目录管理 9.5 磁盘存储器管理
9.1 文件和文件的属性 9.2 文件结构和文件实现 9.3 文件系统 9.4 目录管理 9.5 磁盘存储器管理 9.6 文件系统性能和可靠性 9.7 文件的共享和保护 2019/4/28 《计算机操作系统》- 第9章

47 目录管理 目录是文件和子目录的容器 文件系统负责 目录的建立、维护和检索 提供目录的创建和删除、列举和查找、检索和遍历、拷贝和重命名
防止目录之间的冲突 2019/4/28 《计算机操作系统》- 第9章

48 文件目录作为文件的组织者和管理者,需要永久保存。因此,文件目录本身也被组织成文件,为目录文件,并存放在磁盘上。
目录管理 文件目录的主要功能:  实现文件的按名存取;  在文件存储器中查找指定的文件;  有效管理系统文件和用户文件;  实现文件的共享。 文件目录作为文件的组织者和管理者,需要永久保存。因此,文件目录本身也被组织成文件,为目录文件,并存放在磁盘上。 2019/4/28 《计算机操作系统》- 第9章

49 在文件目录中每个文件都有一个相应的数据项,该数据项称为文件控制块(File Control Block,FCB)。
文件控制块 在文件目录中每个文件都有一个相应的数据项,该数据项称为文件控制块(File Control Block,FCB)。 文件目录是文件控制块的有序集合,文件和文件控制块一一对应。 文件控制块中的信息用于描述文件和控制文件。 2019/4/28 《计算机操作系统》- 第9章

50 文件控制块 文件控制块包含下列信息:  文件存取控制信息:文件名、拥有文件的用户名、文件存取权限、文件访问权限、文件类型等。文件类型包括目录文件、一般文件、块设备文件、字符设备文件、管道文件、链接文件等。  文件结构信息:文件的逻辑结构和物理结构信息。文件的逻辑结构信息有记录类型、记录个数、记录长度等。物理的物理结构信息有文件所在设备名、物理结构类型、文件第一块的物理地址或文件索引地址等。  文件管理信息:文件创建时间、文件修改时间、文件访问时间、文件保留时间、打开文件的进程数等。 2019/4/28 《计算机操作系统》- 第9章

51 典型的文件系统 文件控制块与文件一样,都存储在磁盘上 一个典型的文件系统 2019/4/28 《计算机操作系统》- 第9章

52 早期的操作系统,文件目录中文件名部分的长度仅有8个字符空间。文件名长度限制在8个字符以内。
为了在基本目录项不变的情况下,增加文件名长度,采用了如下两种方式: 使用额外目录项的空间来保存文件名中的额外字符; 在每个目录中建立一个堆,长文件名采用从堆中分配字符块的方式。 2019/4/28 《计算机操作系统》- 第9章

53 为了节约内存和加快检索文件目录的时间,引入了索引节点机制
文件索引节点 为了节约内存和加快检索文件目录的时间,引入了索引节点机制 将文件目录中的文件名和文件的其它信息分离开来。在文件目录中存放的仅是文件名和索引节点指针,在索引节点中存放的是文件的其它信息。 2019/4/28 《计算机操作系统》- 第9章

54 文件目录与索引节点 在检索文件时,系统将文件目录放入内存,通过文件名检索文件目录中的文件索引节点指针,从指针指向位置将文件的索引节点调入内存,查询内存中的文件索引节点得到文件的信息--文件的物理地址。 2019/4/28 《计算机操作系统》- 第9章

55 为了改善文件的访问速度,避免多次访问外存,系统会将需要访问文件的索引节点放入内存。
当文件打开后,系统会将磁盘上的索引节点拷贝到内存中,称为内存索引节点。当打开文件的最后一个用户关闭文件时,文件在内存索引结点中的内容被写到外存索引结点中,并释放内存索引结点。 将文件目录与索引节点分开,不仅加快了文件的检索速度,而且,便于实现文件共享。 2019/4/28 《计算机操作系统》- 第9章

56 文件共享 不同文件目录下不同文件名,或者相同目录下不同文件名,可以有相同的索引节点指针,实现了真正意义上的文件共享。 2019/4/28
《计算机操作系统》- 第9章

57 单级目录结构 2019/4/28 《计算机操作系统》- 第9章

58 单级目录结构 单级目录最明显的缺点有以下两方面。 (1)用户文件不能重名 (2)管理不便
在多用户环境下,不同用户的文件不能用相同的名字,这样,用户对文件取名很难操作。因为不同用户用不同名字共享同一个文件,这使得文件目录表的结构不是非常合理。 (2)管理不便 所有用户的大量文件放在同一个目录下,用户管理自己的文件非常不方便。 2019/4/28 《计算机操作系统》- 第9章

59 两级目录结构 2019/4/28 《计算机操作系统》- 第9章

60 两级目录结构 二级目录的主要优点如下:  通过主目录限制,可以检查用户权限和文件访问权限,避免非法用户登录系统,避免未经授权的用户访问文件,实现了系统和文件的保护;  不同用户的文件可以取相同的文件名,方便了用户使用;  更有利于实现文件共享,对同一文件,不同的用户,可以取不同的文件名,也可以取相同的文件名,而指向相同的文件物理地址。 两级目录的主要缺点是用户目录之间完全隔离,给用户共享文件带来不便。 2019/4/28 《计算机操作系统》- 第9章

61 树形目录结构 2019/4/28 《计算机操作系统》- 第9章

62 树形目录结构 树形目录的优点有以下几点:  消除了文件名不能相同的限制。
 消除了文件名不能相同的限制。  较好地反映了现实世界中数据集合的层次关系和文件之间的分支关系,用户可以创建任意数量的子目录。  可以方便的创建和删除目录。有的操作系统规定不能删除非空目录。  易于规定不同层次或不同目录的文件的不同存取权限,只要用户有访问许可权,就可以访问其他用户的目录和文件。  便于实现文件的保护和共享。 2019/4/28 《计算机操作系统》- 第9章

63 非循环图目录结构 2019/4/28 《计算机操作系统》- 第9章

64 非循环图目录结构 非循环图目录为用户提供了更加灵活的使用,也带来了实现的复杂性,主要原因有以下几方面。
 文件或目录有多个父目录,一个文件或目录存在多个绝对路径,因此,不同的文件名或目录可能指的是相同的文件或目录。  如果要避免做多次备份,需要每次备份时都寻找、判断匹配的目录或文件是否存在,这样时间开销大。  因为共享的目录或文件存在多个父目录,非循环图目录结构不能随便删除目录或文件。 2019/4/28 《计算机操作系统》- 第9章

65 一般图目录结构与非循环图目录结构不同点在于目录结构中存在循环,与树形目录结构不同点在于一般图目录结构中一个子目录或文件存在多个父目录。
一般图目录结构 一般图目录结构与非循环图目录结构不同点在于目录结构中存在循环,与树形目录结构不同点在于一般图目录结构中一个子目录或文件存在多个父目录。 需要解决的问题有如下两点。 存在循环 嵌套删除 2019/4/28 《计算机操作系统》- 第9章

66 9.4.8 目录实现 1.目录操作 2.目录查询 线性检索法 -- 顺序检索法:检索从文件名到索引值,从索引值到物理块号的过程 Hash法
目录实现 1.目录操作 2.目录查询 线性检索法 -- 顺序检索法:检索从文件名到索引值,从索引值到物理块号的过程 Hash法 -- 利用Hash函数(也称为散列函数)进行查询。Hash函数根据需要检索的情况和输入值的需要进行设计 2019/4/28 《计算机操作系统》- 第9章

67 本章目录 9.1 文件和文件的属性 9.2 文件结构和文件实现 9.3 文件系统 9.4 目录管理 9.5 磁盘存储器管理
9.1 文件和文件的属性 9.2 文件结构和文件实现 9.3 文件系统 9.4 目录管理 9.5 磁盘存储器管理 9.6 文件系统性能和可靠性 9.7 文件的共享和保护 2019/4/28 《计算机操作系统》- 第9章

68 磁盘存储器管理 1 磁盘存储器的物理结构 2 磁盘性能简述 3 磁盘调度 4 磁盘高速缓存(Disk Cache)
5 提高磁盘I/O速度的其他方法 6 廉价磁盘冗余阵列 2019/4/28 《计算机操作系统》- 第9章

69 磁盘存储器管理 1 磁盘存储器的物理结构 2 磁盘性能简述 3 磁盘调度 4 磁盘高速缓存(Disk Cache)
先来先服务FCFS 最短寻道时间优先SSTF 扫描算法SCAN 循环扫描算法CSCAN N-Step-SCAN FSCAN 1 磁盘存储器的物理结构 2 磁盘性能简述 3 磁盘调度 4 磁盘高速缓存(Disk Cache) 5 提高磁盘I/O速度的其他方法 6 廉价磁盘冗余阵列 2019/4/28 《计算机操作系统》- 第9章

70 磁道 扇区 磁盘结构 2019/4/28 《计算机操作系统》- 第9章

71 扇区 磁臂 柱面 磁头 2019/4/28 《计算机操作系统》- 第9章

72 合理地组织文件地存储方式,以提高访问速度
磁盘存储器管理的主要任务 为文件分配存储空间 合理地组织文件地存储方式,以提高访问速度 提高磁盘存储空间地利用率 提高磁盘I/O速度,改善文件性能 确保文件系统的可靠性(备份) 2019/4/28 《计算机操作系统》- 第9章

73 磁盘格式化 数据组织和格式 磁盘的格式化 2019/4/28 《计算机操作系统》- 第9章

74 磁盘的类型 磁盘的类型 固定头磁盘:这种磁盘在每条磁道上都有一读/写磁头,所有的磁头都被装在一刚性磁臂中。通过这些磁头可访问所有各磁道,并进行并行读/写,有效地提高了磁盘的I/O速度。这种结构的磁盘主要用于大容量磁盘上。 移动头磁盘:每一个盘面仅配有一个磁头,也被装入磁臂中。为能访问该盘面上的所有磁道,该磁头必须能移动以进行寻道。可见,移动磁头仅能以串行方式读/写,致使其I/O速度较慢;但由于其结构简单,故仍广泛应用于中小型磁盘设备中。 2019/4/28 《计算机操作系统》- 第9章

75 磁盘的访问时间 磁盘访问时间: 寻道时间: 这是指把磁臂(磁头)移动到指定磁道上所经历的时间。该时间是启动磁臂的时间s与磁头移动n条磁道所花费的时间之和,即 Ts=m×n+s 其中,m是一常数,与磁盘驱动器的速度有关,对一般磁盘,m = 0.2;对高速磁盘,m≤0.1,磁臂的启动时间约为2ms。这样,对一般的温盘,其寻道时间将随寻道距离的增加而增大,大体上是5~30 ms。 2019/4/28 《计算机操作系统》- 第9章

76 磁盘的访问时间 磁盘访问时间: 旋转延迟时间Tτ:
这是指定扇区移动到磁头下面所经历的时间。对于硬盘,典型的旋转速度大多为5400 r/min,每转需时11.1 ms,平均旋转延迟时间Tτ为5.55 ms;对于软盘,其旋转速度为300 r/min或600 r/min,这样,平均Tτ为50~100 ms。 2019/4/28 《计算机操作系统》- 第9章

77 磁盘的访问时间 磁盘访问时间: 传输时间Tt:
把数据从磁盘读出或向磁盘写入数据所经历的时间。Tt的大小与每次所读/写的字节数b和旋转速度有关: 其中, b:读写字节数 N:每道上的字节数 其中,r为磁盘每秒钟的转数;N为一条磁道上的字节数, 当一次读/写的字节数相当于半条磁道上的字节数时,Tt与Tτ相同, 2019/4/28 《计算机操作系统》- 第9章

78 r为磁盘每秒钟的转数;N为一条磁道上的字节数,当一次读/写的字节数相当于半条磁道上的字节数时,Tt与Tτ相同,因此,可将访问时间Ta表示为:
磁盘的访问时间 磁盘访问时间: r为磁盘每秒钟的转数;N为一条磁道上的字节数,当一次读/写的字节数相当于半条磁道上的字节数时,Tt与Tτ相同,因此,可将访问时间Ta表示为: 2019/4/28 《计算机操作系统》- 第9章

79 磁盘的寻道时间越长、磁盘访问时间越长;磁盘的转数越大,磁盘访问时间越短;一次读写一条磁道上的字节数越多,磁盘的访问时间越长。
对”磁盘访问时间”的分析: 磁盘的寻道时间越长、磁盘访问时间越长;磁盘的转数越大,磁盘访问时间越短;一次读写一条磁道上的字节数越多,磁盘的访问时间越长。 2019/4/28 《计算机操作系统》- 第9章

80 9.5.5 磁盘调度算法 目标:减少寻道时间 典型算法 FCFS(First Come First Serve) SSTF(最短寻道优先)
磁盘调度算法 目标:减少寻道时间 典型算法 FCFS(First Come First Serve) 特点:简单,寻道时间长,相当于随机访问模式。 SSTF(最短寻道优先) 扫描算法 1.进程“饥饿现象” SSTF存在。 2.SCAN算法: 在移动方向固定的情况下采用了SSTF,以避免饥饿现象 2019/4/28 《计算机操作系统》- 第9章

81 FCFS调度算法 SSTF调度算法 100道开始 被访问的下一个磁道 移动距离 55 45 58 3 39 19 18 21 90 72
160 70 150 10 38 112 184 146 平均寻道长度:55.3 100道开始 被访问的下一个磁道 移动距离 90 10 58 32 55 3 39 16 38 1 18 20 150 132 160 184 24 平均寻道长度:27.5 2019/4/28 《计算机操作系统》- 第9章

82 磁盘调度算法 进程“饥饿”现象 SSTF算法虽然能获得较好的寻道性能, 但却可能导致某个进程发生“饥饿”(Starvation)现象。因为只要不断有新进程的请求到达,且其所要访问的磁道与磁头当前所在磁道的距离较近,这种新进程的I/O请求必须优先满足。对SSTF算法略加修改后所形成的SCAN算法,即可防止老进程出现“饥饿”现象。 引入扫描算法(SCAN) 2019/4/28 《计算机操作系统》- 第9章

83 磁盘调度算法 SCAN算法 考虑要访问的磁道与当前磁道的距离; 考虑磁头当前的移动方向 下一个访问对象 电梯调度算法
要访问的磁道在当前磁道以外,距离最近 自里向外访问,直到没有更外的磁道访问时,将磁臂换为自外向里移动。 电梯调度算法 2019/4/28 《计算机操作系统》- 第9章

84 磁盘调度算法 CSCAN算法 对SCAN的改进; 磁头始终按照一个方向移动 2019/4/28 《计算机操作系统》- 第9章

85 SCAN调度算法 CSCAN调度算法 100道开始,磁道增加方向 被访问的下一个磁道 移动距离 150 50 160 10 184 24
90 94 58 32 55 3 39 16 38 1 18 20 平均寻道长度:27.8 100道开始 被访问的下一个磁道 移动距离 150 50 160 10 184 24 18 166 38 20 39 1 55 16 58 3 90 32 平均寻道长度:35.8 2019/4/28 《计算机操作系统》- 第9章

86 磁盘调度算法 N—Step—SCAN算法 粘臂现象:连续对某磁道访问引起的垄断访问。 解决方案: 将磁盘请求队列分为长为N的子队列m个;
磁盘调度将按FCFS算法依次处理这些子队列,而每处理一个队列时又是按SCAN算法,对一个队列处理完后,再处理其他队列。 当正在处理某子队列时,如果又出现新的磁盘I/O请求,便将新请求进程放入其他队列,这样就可避免出现粘着现象。 当N值取得很大时,会使N步扫描法的性能接近于SCAN算法的性能;当N=1时, N步SCAN算法便蜕化为FCFS算法。 2019/4/28 《计算机操作系统》- 第9章

87 磁盘调度算法 FSCAN算法 FSCAN算法实质上是N步SCAN算法的简化; 即FSCAN只将磁盘请求队列分成两个子队列;
一个是由当前所有请求磁盘I/O的进程形成的队列,由磁盘调度按SCAN算法进行处理; 在扫描期间,将新出现的所有请求磁盘I/O的进程,放入另一个等待处理的请求队列; 这样,所有的新请求都将被推迟到下一次扫描时处理。 2019/4/28 《计算机操作系统》- 第9章

88 课堂练习 设有100个磁道,访问序列如下: 23, 5, 98, 14, 66, 25, 78, 34,
66, 74,56, 87, 12, 39, 71, 49, 58 当前磁头在50道,上次访问的磁道是18道。 请分别给出FCFS、SSTF、SCAN、CSCAN算法计算出平均寻道长度。 2019/4/28 《计算机操作系统》- 第9章

89 解决如何为新创建的文件分配磁盘存储空间的问题。 连续分配: 将文件连续顺序存放在磁盘空间。
磁盘的分配和回收 解决如何为新创建的文件分配磁盘存储空间的问题。 连续分配: 将文件连续顺序存放在磁盘空间。 优点:顺序访问时磁头移动距离小,文件查找速度快,管理简单。 要求文件长度固定,需要预先知道文件长度,不能适应文件自动增长。 造成磁盘空间存在大量“碎片”,造成空间浪费。 2019/4/28 《计算机操作系统》- 第9章

90 把文件分割成固定大小的页面,同样将磁盘空间划分为磁盘块。
磁盘的分配和回收 非连续分配: 把文件分割成固定大小的页面,同样将磁盘空间划分为磁盘块。 适应文件的动态增长和收缩 磁盘空间的管理效率高 2019/4/28 《计算机操作系统》- 第9章

91 磁盘块划分过大 → 每个文件产生的“碎片”大,磁盘空间的浪费大;
磁盘的分配和回收 磁盘块的大小对系统性能有很大的影响 磁盘块划分过大 → 每个文件产生的“碎片”大,磁盘空间的浪费大; 磁盘块划分过小 → 一个文件由多个磁盘块组成,访问一个文件需要多次访问磁盘块,文件的访问时间长。 2019/4/28 《计算机操作系统》- 第9章

92 磁盘块的分配和回收与磁盘块的组织形式有关。 常用的磁盘块组织形式有
空闲表法 空闲链表法 位示图法 成组链接法 2019/4/28 《计算机操作系统》- 第9章

93 空闲表法主要适合连续文件。将一个文件连续分配到磁盘存储空间中。
1.空闲表法 空闲表法主要适合连续文件。将一个文件连续分配到磁盘存储空间中。 系统通过一个空闲表管理磁盘的所有空闲区。空闲表中包括表项序号、第一个空闲盘块号、空闲区的空闲盘块数等信息, 2019/4/28 《计算机操作系统》- 第9章

94 根据磁盘空闲表为文件分配空闲区的方法与内存的空闲区分配方法相似
空闲表法 磁盘块的分配和回收 根据磁盘空闲表为文件分配空闲区的方法与内存的空闲区分配方法相似 首次适应算法、循环首次适应算法、最佳适应算法和最差适应算法等 磁盘连续分配 优点:寻道时间短、访问速度快、磁盘I/O频率较低 缺点:空闲表需要占用太大的存储空间 2019/4/28 《计算机操作系统》- 第9章

95 空闲表法 当需要为一个文件分配磁盘空闲区时,系统首先找到空闲盘块数适合文件大小的磁盘空闲区,将该磁盘空闲区分配给用户进程,并删除该空闲区在空闲表中的记录。 当文件删除,需要回收磁盘空间时,首先需要考虑该回收区是否与空闲表中的某个空闲区存在相邻关系,以决定是否需要合并空闲区。 如果需要合并,则修改相邻空闲区在空闲表中的信息; 如果不需要合并,则将回收的空闲区信息作为一条记录添加到空闲表中。 2019/4/28 《计算机操作系统》- 第9章

96 2.空闲链表法 (1)空闲链表 空闲链表分配方法属于非连续分配方式。该分配方法需要在磁盘的每个空闲盘块中设置一个指向下一个空闲块的指针,指针将所有的空闲块链接在一起。系统中保存有指向第一个空闲块的指针。 空闲链有两种形式: 空闲盘块链:构成元素是空闲盘块 空闲盘区链:构成元素是是空闲盘区 2019/4/28 《计算机操作系统》- 第9章

97 系统中有一个指针指向第一个空闲盘块(区),每个空闲盘块(区)中有指针,指向下一个空闲盘块或空闲盘区。
空闲链表法 (2)磁盘块的分配和回收 系统中有一个指针指向第一个空闲盘块(区),每个空闲盘块(区)中有指针,指向下一个空闲盘块或空闲盘区。 分配:当进程为文件申请磁盘空间时,从链头取出一个并修改链指针。 回收:当进程需要释放磁盘空间时,将回收回的空闲盘块或空闲盘区链接到空闲链上。 2019/4/28 《计算机操作系统》- 第9章

98 缺点:效率较低。回收一个磁盘块时,需要查找空闲链以决定回收的空闲块在空闲链中的位置,访问磁盘的次数多。
空闲链表法 优点:适合文件动态增长和收缩 缺点:效率较低。回收一个磁盘块时,需要查找空闲链以决定回收的空闲块在空闲链中的位置,访问磁盘的次数多。 DOS操作系统采用的就是该种分配方法。 2019/4/28 《计算机操作系统》- 第9章

99 3.位示图法 (1)位示图 用若干个字节构成一个表,表中的每一字位表示一个磁盘块的使用情况,字位的次序与磁盘物理块的相对次序一致。字位为“0”,表示对应的盘块空闲;字位为“1”时表示对应的盘块已分配。 2019/4/28 《计算机操作系统》- 第9章

100 位示图法 (2)磁盘块的分配 扫描位示图,找到文件所需的一个或一组值为0的空闲块;
将所找的空闲块转换为盘块号。如果找到的空闲块为第i行,第j列,则盘块号q为: q = n (i − 1) + j 其中,n表示位示图每行的位数。 将位示图中相应位置的状态改为已分配(“0”变为“1”) 例如,从磁盘中分配一个盘块,查位示图,得到第1行,第2列为0,即为空闲,位示图中有16列。则对应位示图的磁盘块号q为:q = n(i −1)+ j = 16(1 − 1) + 2 = 2 2019/4/28 《计算机操作系统》- 第9章

101 将回收的盘块号转换为位示图中的行和列号: i = (q − 1)div n + 1 j = (q − 1)mod n + 1
位示图法 (2)磁盘块的回收 将回收的盘块号转换为位示图中的行和列号: i = (q − 1)div n + 1 j = (q − 1)mod n + 1 修改位示图中相应的字位,从“1”改为“0”,表示已经回收为空闲。 2019/4/28 《计算机操作系统》- 第9章

102 通常情况下用位示图比用空闲表表示更节省磁盘空间
位示图法 位示图法的主要优点是: 容易得到一个或一组相邻的空闲磁盘块 位示图占用的空间少,可以保存在内存中,减少了访问磁盘的次数 通常情况下用位示图比用空闲表表示更节省磁盘空间 2019/4/28 《计算机操作系统》- 第9章

103 成组链接分配方法将空闲块进行分组,以组为单位进行链接。
4.成组链接法 成组链接分配方法将空闲块进行分组,以组为单位进行链接。 每组空闲块中的第一 块空闲块中有下一组 空闲块的第一个空闲 块的物理块号和下一 组中的空闲块数 最后一组空闲块的第 一空闲块中以“0”作为 标志结束 2019/4/28 《计算机操作系统》- 第9章

104 成组链接法 (2)磁盘块的分配 系统总是分配超级块空闲表中的空闲块,直到将最后一组空间块物理块号复制到超级块空闲表中,超级块空闲表中的空闲块分配完毕后,如果还需空闲块则系统会向操作员发出警告,表明空闲块已经用完。 2019/4/28 《计算机操作系统》- 第9章

105 如果超级块空闲表没有满,则回收的空闲块被挂在超级块中。
成组链接法 (2)磁盘块的回收 如果超级块空闲表没有满,则回收的空闲块被挂在超级块中。 如果超级块空闲表已经满了,内核将原来超级块空闲表中的所有物理块作为一个新空闲块组,将回收的物理块单独放在超级块空闲表中,并将超级块空闲表指针指向产生的新空闲块组。 2019/4/28 《计算机操作系统》- 第9章

106 空闲块以组的方式链接,通过一次链接指针能够得到一组空闲块而不是一个空闲块,使用链接指针访问的次数减少,节约了时间,适合磁盘空间较大的情况;
成组链接法 空闲块以组的方式链接,通过一次链接指针能够得到一组空闲块而不是一个空闲块,使用链接指针访问的次数减少,节约了时间,适合磁盘空间较大的情况; 空闲块分配借助于内存中的超级块空闲表进行,分配的速度更快。 2019/4/28 《计算机操作系统》- 第9章

107 提高磁盘可靠性的方法有磁盘容错技术。磁盘容错技术又称为系统容错技术,共分为三级:
磁盘可靠性 提高磁盘可靠性的方法有磁盘容错技术。磁盘容错技术又称为系统容错技术,共分为三级: 低级磁盘容错技术 中级磁盘容错技术 系统容错技术 2019/4/28 《计算机操作系统》- 第9章

108 1.低级磁盘容错技术 主要用于预防因磁盘本身的错误而导致的损失 (1)双份文件目录和文件分配表(FAT)
建立双份文件目录和文件分配表,分别放在磁盘的不同区域或不同的磁盘 (2)热修复重定向和写后读校验 磁盘会受到损伤,补救措施: 热修复重定向(hox-fix redirection) 需要写入的数据不能写入时,系统可将数据放入热修复重定向区并进行登记管理。 写后读校验方式(read after write verification) 每次写入磁盘数据后,立即读出磁盘中的数据,与原数据进行比较。如果一致,则认为成功;否则需要重新写入。 2019/4/28 《计算机操作系统》- 第9章

109 中级磁盘容错技术主要用于预防磁盘驱动器或磁盘控制器出错而导致的损失。
2.中级磁盘容错技术 中级磁盘容错技术主要用于预防磁盘驱动器或磁盘控制器出错而导致的损失。 (1)磁盘镜像(disk mirroring) 镜像的两个磁盘具有完全相同的功能。系统每次写入数据,都需要写入主盘与从盘。 (2)磁盘双工(disk dupluxing) 两个通道,连接两个磁盘控制器,每个磁盘控制器挂接单独的磁盘。 2019/4/28 《计算机操作系统》- 第9章

110 中级磁盘容错技术 磁盘镜像 磁盘双工 2019/4/28 《计算机操作系统》- 第9章

111 系统容错技术主要用于预防计算机系统出错而导致的系统瘫痪现象。 (1)双机热备份 计算机配备两台完全相同的计算机系统,这两台系统保持镜像关系
3.系统容错技术 系统容错技术主要用于预防计算机系统出错而导致的系统瘫痪现象。 (1)双机热备份 计算机配备两台完全相同的计算机系统,这两台系统保持镜像关系 (2)双机互为备份 两台系统各自完成自己的任务,两台系统通过网络连接在一起,相互备份 2019/4/28 《计算机操作系统》- 第9章

112 系统容错技术 双机热备份 双机互为备份 2019/4/28 《计算机操作系统》- 第9章

113 独立磁盘冗余阵列(RAID) 1.构成机理 独立磁盘冗余阵列RAID(Redundant Array of Independent Disk)由一组磁盘阵列控制器统一管理,并控制一组较小容量的、独立的、可并行的磁盘驱动器工作,是一种速度快、可靠性高、性能价格比优的大容量外存储磁盘子系统。 2019/4/28 《计算机操作系统》- 第9章

114 独立磁盘冗余阵列起初由6级组成,后来又扩充到8级,但是具有如下的相同之处: 都是物理磁盘驱动,可以被看成操作系统的单一逻辑磁盘驱动;
独立磁盘冗余阵列(RAID) 独立磁盘冗余阵列起初由6级组成,后来又扩充到8级,但是具有如下的相同之处: 都是物理磁盘驱动,可以被看成操作系统的单一逻辑磁盘驱动; 数据被分布存放物理驱动器阵列上; 使用冗余磁盘保存奇偶校验信息,当磁盘出现错误时,能够恢复数据。 2019/4/28 《计算机操作系统》- 第9章

115 RAID各级特点 RAID 0级:只有并行交叉存取,无冗余能力。
RAID 2级:除具有并行交叉存取外,比磁盘镜像减少了所需要的冗余磁盘数;采用海明纠错,纠错码按照横跨的每个数据盘的相应位进行计算,并存储在多只校验盘的相应位的位置,RAID 2与RAID 1一样,价格仍然很贵。 RAID 3级:仍然具有并行交叉存取;但是,无论对于多大的磁盘阵列,只使用一只冗余磁盘作为简单的奇偶校验盘完成容错功能;价格不再那么高了。 RAID 4级:仍然具有并行交叉存取,使用一只冗余磁盘作为简单的奇偶校验盘完成容错功能;增加的功能是使用了独立存取,每个磁盘驱动器可以独立地工作,独立的I/O请求可并行执行;适合有频繁I/O请求的应用。 RAID 5级:与RAID 4的组织形式相似,差别在于采用螺旋式把奇偶校验码横跨存放在所有的磁盘上,避免了RAID 4每次写数据都必须读和写校验盘一次的问题,改善了系统性能。 RAID 6级和RAID 7级:属于增强型的RAID,RAID 6中设置了专用快速异步校验磁盘,具有独立的数据访问通路,比低级RAID性能更好,但价格高;RAID 7对RAID 6作了改进,阵列的所有磁盘都有较高的传输率,性能优异,价格很高。 2019/4/28 《计算机操作系统》- 第9章

116 本章目录 9.1 文件和文件的属性 9.2 文件结构和文件实现 9.3 文件系统 9.4 目录管理 9.5 磁盘存储器管理
9.1 文件和文件的属性 9.2 文件结构和文件实现 9.3 文件系统 9.4 目录管理 9.5 磁盘存储器管理 9.6 文件系统性能和可靠性 9.7 文件的共享和保护 2019/4/28 《计算机操作系统》- 第9章

117 磁盘高速缓存是内存中专门为磁盘开辟的一个单独的存储空间,其大小固定,不受应用程序多少的影响。
磁盘高速缓存 1.磁盘高速缓存的引入 磁盘高速缓存是内存中专门为磁盘开辟的一个单独的存储空间,其大小固定,不受应用程序多少的影响。 系统首先检查磁盘高速缓存中是否有所需要访问的磁盘块。 如果有,则系统直接访问磁盘高速缓存,而不需要访问磁盘; 如果没有,则系统需要从磁盘上将需要的数据读入并存放在磁盘高速缓存以备以后访问。 2019/4/28 《计算机操作系统》- 第9章

118 将用户进程需要的数据直接传送到用户进程区。  指针交付
磁盘高速缓存 读磁盘高速缓存中的数据有两种形式。  直接交付 将用户进程需要的数据直接传送到用户进程区。  指针交付 将磁盘高速缓存中的数据地址指针传送给用户进程,用户进程通过指针访问磁盘高速缓存中的数据。 2019/4/28 《计算机操作系统》- 第9章

119 磁盘高速缓存 2.磁盘高速缓存的形式 磁盘高速缓存以链接方式进行组织,与一般的内存空闲块的链接方式相同。
在没有空闲磁盘高速缓存情况下,系统需要对磁盘高速缓存进行置换,置换方法与页面置换方法相似。 采用磁盘高速缓存需要注意写磁盘的频率。太长时间没有将已经修改过的文件块写回磁盘,可能导致系统崩溃后文件系统的不一致性。 2019/4/28 《计算机操作系统》- 第9章

120 顺序文件时,需要读第k块文件块,在完成第k块文件块读之后,会检查缓冲区中是否有k+1块。如果没有,则将第k+1块提前读入缓冲区中。
缓冲区的提前读与延迟写 1.块提前读 顺序文件时,需要读第k块文件块,在完成第k块文件块读之后,会检查缓冲区中是否有k+1块。如果没有,则将第k+1块提前读入缓冲区中。 块提前读只适合顺序文件,对于链接文件和索引文件,块提前读可能造成文件系统的性能下降。 2019/4/28 《计算机操作系统》- 第9章

121 当缓冲区中的数据需要写入磁盘时,考虑到该数据可能会被再次利用,系统并不立即将数据写回磁盘,而将其挂在空闲缓冲区队尾
缓冲区的提前读与延迟写 2.延迟写 当缓冲区中的数据需要写入磁盘时,考虑到该数据可能会被再次利用,系统并不立即将数据写回磁盘,而将其挂在空闲缓冲区队尾 只要数据在缓冲区队列中,任何需要访问数据的进程可以直接到缓冲区中访问,而不需要到磁盘中访问,减少了磁盘I/O的次数,提高了系统性能。 2019/4/28 《计算机操作系统》- 第9章

122 当系统需要访问磁盘文件块时,应当尽量减少磁盘臂的运动
减少磁臂运动 当系统需要访问磁盘文件块时,应当尽量减少磁盘臂的运动 对于顺序文件,尽量将文件块存放在同一个柱面上,这样磁盘臂运动的次数会减少。 如果用位示图对文件分配磁盘块,则系统应该选择最近的空闲磁盘块进行分配。 如果用链接表分配空闲磁盘块,则要分配紧邻的磁盘块比较困难。 2019/4/28 《计算机操作系统》- 第9章

123 文件系统提供的备份机制能够在不幸事件发生之后对文件系统进行恢复。文件系统的备份有两种方式:完全备份和增量备份。
文件系统可靠性 文件系统提供的备份机制能够在不幸事件发生之后对文件系统进行恢复。文件系统的备份有两种方式:完全备份和增量备份。 完全备份:周期性将文件系统的全部进行备份,将文件系统存储在可靠的介质上,如磁带。 增量备份:使得文件系统受到破坏后,能够恢复到发生破坏的最近时间点上,减少造成的损失。 2019/4/28 《计算机操作系统》- 第9章

124 本章目录 9.1 文件和文件的属性 9.2 文件结构和文件实现 9.3 文件系统 9.4 目录管理 9.5 磁盘存储器管理
9.1 文件和文件的属性 9.2 文件结构和文件实现 9.3 文件系统 9.4 目录管理 9.5 磁盘存储器管理 9.6 文件系统性能和可靠性 9.7 文件的共享和保护 2019/4/28 《计算机操作系统》- 第9章

125 文件共享指多个用户或多个程序共享同一份文件,在系统中只需要保留一份共享文件,不需要每个用户各自备有共享文件的副本。
文件的共享和保护 文件共享指多个用户或多个程序共享同一份文件,在系统中只需要保留一份共享文件,不需要每个用户各自备有共享文件的副本。 文件保护指文件本身不得由任何未授权的用户存取,对于授权用户只能在所授权限范围内使用。 2019/4/28 《计算机操作系统》- 第9章

126 基于i节点的文件共享方法 文件的属性存放在i节点中,在i节点中有文件的链接数这样一个属性,这个属性则表示有多少用户或程序在共享i节点所对应的文件。共享文件在不同的用户或程序中可以有不同命名,但是,却只有一个i节点。 2019/4/28 《计算机操作系统》- 第9章

127 每当删除文件时查询i节点中的文件引用计数 如果引用计数减1后不为0,则不能删除文件的i节点;
2019/4/28 《计算机操作系统》- 第9章

128 当B访问文件F时,操作系统根据新文件F中的路径名去读共享文件F。
基于符号链方法的文件共享 符号链法 假设用户或程序B、C共享文件F,而F已经是C的文件。符号链方法是首先由操作系统创建一个符号链文件,其中的符号链是文件F的路径名,将所创建的符号链文件命名为F。F与B在同一个目录中。 当B访问文件F时,操作系统根据新文件F中的路径名去读共享文件F。 2019/4/28 《计算机操作系统》- 第9章

129 通过符号链文件访问共享文件会增加系统的开销
基于符号链方法的文件共享 通过符号链文件访问共享文件会增加系统的开销 基于i节点的文件共享和基于符号链的文件共享都存在由于有多个文件名而造成的文件备份有多个拷贝的问题。 2019/4/28 《计算机操作系统》- 第9章

130 9.7.3 文件的存取权限及验证 文件的存取权限为: 执行文件: 用户不能读文件,只能利用文件执行文件功能。 读文件: 用户可以读文件内容。
文件的存取权限及验证 文件的存取权限为: 执行文件: 用户不能读文件,只能利用文件执行文件功能。 读文件: 用户可以读文件内容。 更新文件: 用户可以修改文件内容。 写文件: 用户可以并修改并添加新的文件内容。 改变文件: 用户可以改变文件的属性。通常只有文件的所有者才能改变文件。 删除文件: 用户可以删除自己的文件。 2019/4/28 《计算机操作系统》- 第9章

131 操作系统通过验证文件的存取权限,实现文件的保护 常用的存取权限验证方法有:
文件的存取权限及验证 操作系统通过验证文件的存取权限,实现文件的保护 常用的存取权限验证方法有: 访问控制矩阵 存取控制表 用户权限表 口令 密码 2019/4/28 《计算机操作系统》- 第9章

132 通过一个二维的矩阵列出系统中的所有用户和文件,如果允许i用户访问j文件,则(i,j)为1;否则为0,
文件的存取权限及验证 1.访问控制矩阵 通过一个二维的矩阵列出系统中的所有用户和文件,如果允许i用户访问j文件,则(i,j)为1;否则为0, 优点:简单 缺点:矩阵需要占用的空间大 2019/4/28 《计算机操作系统》- 第9章

133 文件的存取权限及验证 2.存取控制表 按照用户与文件的关系,将用户分为: 文件主:可以读、写、执行 对文件有存取要求的用户组A:可以写、执行
对文件有存取要求的用户组B:可以读、执行 其他 :没有权限 2019/4/28 《计算机操作系统》- 第9章

134 将系统中的一个用户或用户组对所有要存取的文件名集中放在一个表中,其中,每个标目指明对相应文件的存取权限。
用户权限表文件的存取权限及验证 3.用户权限表 将系统中的一个用户或用户组对所有要存取的文件名集中放在一个表中,其中,每个标目指明对相应文件的存取权限。 2019/4/28 《计算机操作系统》- 第9章

135 用户为自己的每个文件设置一个访问的口令,存取文件时必须提供口令
用户权限表文件的存取权限及验证 4.口令 用户为自己的每个文件设置一个访问的口令,存取文件时必须提供口令 2019/4/28 《计算机操作系统》- 第9章

136 为了保护文件内容不被他人破坏,系统可以采取对文件内容进行加密的方法,即采取编码和译码的方法。
用户权限表文件的存取权限及验证 5.密码 为了保护文件内容不被他人破坏,系统可以采取对文件内容进行加密的方法,即采取编码和译码的方法。 2019/4/28 《计算机操作系统》- 第9章

137 作业通过发送电子邮件附件形式提交到助教老师邮箱:
练习 9.12,9.13 作业通过发送电子邮件附件形式提交到助教老师邮箱: 赵 静 作业文件名命名要求: OS_学号_姓名_n.doc (n为当章节序号) 如一个合法文件名: OS_95002_张三_9.doc 2019/4/28 《计算机操作系统》- 第9章

138 Any Question? Thank you ! 2019/4/28 《计算机操作系统》- 第9章


Download ppt "操作系统原理 Operating System Principles"

Similar presentations


Ads by Google