Presentation is loading. Please wait.

Presentation is loading. Please wait.

操作系统原理与设计 Operating Systems: Design and Implementation

Similar presentations


Presentation on theme: "操作系统原理与设计 Operating Systems: Design and Implementation"— Presentation transcript:

1 操作系统原理与设计 Operating Systems: Design and Implementation
系别:计算机科学技术系 主讲:熊焰 电话: 邮箱: 2019/4/11

2 第四章 文件管理 4.1 文件系统的概念 文件系统:管理文件的软件即存取和管理信息的机构。它是操作系统中负责存取和管理信息的模块,它用统一的方式管理用户和系统信息的存储、检索、更新、共享和保护,并为用户提供一整套方便有效的文件使用和操作方法。也是管理文件所需要的数据结构(如目录、索引表等)的总体。 用户观点:文件系统呈现在用户面前的是一个文件由什么组成,如何命名,如何保护文件,可以进行何种操作等等 操作系统观点:文件目录怎样实现,怎样管理存储空间,文件存储位置,磁盘实际运作方式(与设备管理的接口)等等。 文件系统面向用户的功能: 2019/4/11

3 第四章 文件管理 (1)文件的按名存取; (2)文件目录建立和维护; (3)实现逻辑文件到物理文件的转换; (4)文件存储空间的分配和管理;
(5)提供合适的文件存取方法; (6)实现文件的共享、保护和保密; (7)提供一组可供用户使用的文件操作。 文件系统的特点 (1)友好的用户接口,用户只对文件进行操作,而不管文件结构和存放的物理位置。 (2)对文件按名存取,对用户透明。 (3)某些文件可以被多个用户或进程共享。 (4)可存储大量信息。 2019/4/11

4 第四章 文件管理 文件的属性 (1)文件类型。 (2)文件长度。 (3)文件的位置。 (4)文件的存取控制。 (5)文件的建立时间。
4.2 文件 4.2.1 文件的概念 文件:信息在逻辑上具有完整意义的集合,是一个具有符号名的一组信息项的有序序列。 信息项:构成文件内容的基本单位,长度是单个字节 2019/4/11

5 第四章 文件管理 编号:0 1 …… i …… n-1 信息项 信息项 ……... 信息项 ……... 信息项 读写指针 ,或多个字节。
文件内容的意义:由文件的建立者和使用者解释。 文件不但反映了用户概念中的逻辑结构,而且和存放它的辅助存储器的存储结构紧密相关。 一个文件必须从逻辑文件和物理文件两个侧面来观察它。 各信息项之间具有顺序关系: 编号: …… i …… n-1 信息项 信息项 ……... 信息项 ……... 信息项 读写指针 2019/4/11

6 第四章 文件管理 文件是一个抽象机制,它提供了一种把信息保存在存储介质上,而且便于以后存取的方法,用户不必关心实现细节。
4.2.2 文件的命名 文件名是字母或数字组成的字母数字串,它的格式和长度因系统而异,大小写区分,支持文件扩展名。 例如, .bak .c .f77 .gif .hlp .html .mpg .o .ps .tex .txt .zip 4.2.2 文件的类型 分类的目的:对不同文件进行管理,提高系统效率;提高用户界面友好性。 2019/4/11

7 第四章 文件管理 按文件性质和用途分类: (1)系统文件:有关OS及有关系统所组成文件。 (2)用户文件:用户编制的文件。
(3)库文件:标准子程序及常用应用程序组成文件,允许用户使用但不能修改。 按信息保存期限分类: (1)临时文件; (2)永久文件; (3)档案文件。 按文件的保护方式分类: (1)只读文件; (2)读写文件; 2019/4/11

8 第四章 文件管理 (3)可执行文件; (4)不保护文件。 按文件的逻辑结构分类: (1)流式文件; (2)记录式文件。
按文件的物理结构分类: (1)连续文件; (2)链接文件; (3)索引文件。 按照文件的存取方式分类: (1)顺序存取文件; (2)随机存取文件。 2019/4/11

9 第四章 文件管理 按照设备的类型分类: (1)磁盘文件; (2)磁带文件; (3)打印文件。 按照文件的内容分类:
(1)普通文件:包含的是用户的信息,一般为ASCII或二进制文件。 (2)目录文件:管理文件系统的系统文件。 (3)特殊文件:字符设备文件:和输入输出有关,用于模仿串行I/O设备,例如终端,打印机,网络等块设备文件:模仿磁盘。 文件的属性 2019/4/11

10 第四章 文件管理 (1)文件基本属性: (2)文件类型属性: (3)文件保护属性: (4)文件管理属性: (5)文件控制属性:
文件保护属性:用于防止文件被破坏,称为文件保护。包括两个方面: 1.防止系统崩溃所造成的文件破坏:定时转储和多副本 。 2.防止文件主和其他用户有意或无意的非法操作所造成的文件不安全性:建立三元组(用户、对象、存取权限)。 2019/4/11

11 第四章 文件管理 4.3 文件的逻辑结构 4.3.1 逻辑结构 文件结构的观点:
(1)用户观点(逻辑结构):用户“思维”中的抽象文件,或称逻辑文件,其侧重点在于为用户提供一种逻辑结构清晰、使用简便的逻辑文件形式。用户将按照这种形式去存储、检索和加工有关文件中的信息。 (2)实现观点(物理结构):驻留在设备“介质”中的实际文件,或称物理文件。其侧重点是选择一些工作性能良好、设备利用率高的物理文件形式。系统将按照这种形式同外部设备打交道并控制信息的传输。 2019/4/11

12 第四章 文件管理 文件的组织: (1)文件的逻辑结构:是指用户思维中文件的结构。
(2)文件的物理结构:是指文件在存储介质上的结构(或称组织)。在当代,文件的存储介质是磁盘,包括U盘、硬盘和光盘、磁带,早期还有磁鼓和软盘。由于目前的磁带是模拟磁盘的结构,所以文件的物理结构主要是指磁盘上文件的结构。 两种逻辑结构文件: (1)无结构文件:又称流式文件,组成流式文件的基本信息单位是字节或字,其长度是文件中所含字节的数目,如大量的源程序,库函数等采用的就是流式结构。 2019/4/11

13 第四章 文件管理 (2)有结构的文件:指由若干个相关的记录构成的文件,又称记录式文件。
记录式文件:一种结构式文件,文件是记录的集合. 每个记录由彼此相关的域构成。记录可按顺序编号为记录1,记录2,…,记录n。如果文件中所有记录的长度都相同,则这种文件为定长记录文件。定长记录文件的长度 = 记录个数x记录长度。变长记录文件的长度为各记录长度之和。 例如:学生登记表文件 xsdjb.dbf 姓名 学号 籍贯 通信地址 邮政编码 李铭 武昌 武昌关山街125号 司马乐 北京 北京海军路88号 2019/4/11

14 第四章 文件管理 逻辑记录和块的关系:逻辑记录是按信息在逻辑上的独立含义划分的单位,块是存储介质上连续信息所组成的区域。一个逻辑记录被存放到文件存储器的存储介质上时,可能占用一块或多块,也可以一个物理块包含多个逻辑记录。 文件比作书,逻辑记录比作书中的章节,那么,卷是册而块是页。 书和章节相当于文件和逻辑记录,是逻辑概念;而册和页相当于卷和块,是物理概念。 记录格式:格式F---定长记录、格式V---变长记录、格式S---跨块记录。 记录键:主键 、次键。 记录类型:单键记录、多键记录。 逻辑记录、存储记录和物理记录之间的关系: 2019/4/11

15 第四章 文件管理 逻辑纪录 存储纪录 物理纪录 用户作业 存取方法 存储设备 映射 逻辑数据组织(面向用户) 物理数据组织(面向设备)
2019/4/11

16 第四章 文件管理 两种逻辑结构文件的比较: (1)流式文件就象给一张白纸给用户,用户可将他的信息任意地写到纸上,没有任何格式上的限制。
(2)记录式文件就象给一张表格给用户,用户要按表规定的格式填信息。 (3)结构式文件对用户的限制很大,使用起来就不方便,所以记录式文件不受欢迎。 选取文件的逻辑结构应遵循如下原则: (1)当用户对文件信息进行修改操作时,给定的逻辑结构能尽量减少对已存储好的文件信息的变动。 (2)当用户需要对文件信息进行操作时,给定的逻辑结构应使文件系统在尽可能短的时间内查找到需要查找的记录或基本信息单位。 (3)应使文件信息占据最小的存储空间。 (4)应是便于用户进行操作。 2019/4/11

17 第四章 文件管理 4.3.2 文件存取方法 存取方法:操作系统为用户程序提供的使用文件的技术和手段。 两个观点:
(1)从用户使用观点来看,关心数据的逻辑结构,即记录及其逻辑关系,数据独立于物理环境; (2)从系统实现观点来看,关心数据的物理结构,数据被文件系统按照某种规则排列和存放到物理存储介质上。 三种存取方法: (1)顺序存取:是最简单的方法。它严格按照文件信息单位排列的顺序依次存取,后一次存取总是在前 2019/4/11

18 第四章 文件管理 前一次存取的基础上进行,所以不必给出具体的存取位置。
(2)随机存取:又称直接存取,在存取时必须先确定进行存取时的起始位置(如记录号、字符序号等)。 在文件系统中,提供文件存取操作有: n = read(fd,buffer,size); m = write(fd,buffer,size); 这两个操作总是从当前位置开始读或写,执行顺序 存取操作。 调整文件的读写起始位置的系统调用:leek(fd,offset,mode) ,若在read、write之前执 2019/4/11

19 第四章 文件管理 行leek操作,就调整了文件的读写指针(读写开始的位置),实现了随机存取。 存储介质:
(1)介质种类:磁盘,磁带,光盘,U盘。 (2)物理块:文件的存储设备常常划分为若干大小相等的物理块。同时也将文件信息划分成相同大小的逻辑块(块),所有块统一编号。以块为单位进行信息的存储、传输和分配。 (3)磁带:永久保存大容量数据的顺序存取设备。前面的物理块被存取访问之后,才能存取后续的物理块的内容。存取速度较慢,主要用于后备存储,或存储不经常用的信息,或用于传递数据的介质。 2019/4/11

20 第四章 文件管理 磁盘:直接(随机)存取设备,存取磁盘上任一物理块的时间不依赖于该物理块所处的位置。信息记录在磁道上,多个盘片,正反两面都用来记录信息,每面一个磁头。所有盘面中处于同一磁道号上的所有磁道组成一个柱面。物理地址形式:磁头号(盘面号)、磁道号(柱面号)、扇区号。磁盘系统由磁盘本身和驱动控制设备组成,实际存取读写的动作过程是由磁盘驱动控制设备按照主机要求完成的。 第i块 间隙 第i+1块 2019/4/11

21 第四章 文件管理 扇区 磁臂 柱面 磁头 2019/4/11

22 第四章 文件管理 (1)一次访盘请求:读/写,磁盘地址(设备号,柱面号,磁头号,扇区号),内存地址(源/目)。
(2)完成访盘过程的三个动作: 1.寻道(时间):磁头移动定位到指定磁道。 2.旋转延迟(时间):等待指定扇区从磁头下旋转经过。 3.数据传输(时间):数据在磁盘与内存之间的实际传输。 (3)很多系统允许有些磁盘是可装卸的节省驱动设备成本,增加灵活性和便携性。 (4)硬盘又分为两种: 1.固定头磁盘:每个磁道设置一个磁头,变换磁道时 2019/4/11

23 第四章 文件管理 不需要磁头的机械移动,速度快但成本高。 2.移动头磁盘:一个盘面只有一个磁头,变换磁道时需要移动磁头,速度慢但成本低。
光盘:光盘容量大,速度快,价格便宜,但一般不可写,可读写光盘驱动器价格贵,写过程很麻烦。光盘的空间结构与磁盘类似。 外存的特点: (1)容量大,断电后仍可保存信息,速度较慢,成本较低。 (2)两部分组成:驱动部分+存储介质。 (3)种类很多。 (4)外存空间组织与地址、存取方式非常复杂。 2019/4/11

24 第四章 文件管理 (5)I/O过程方式非常复杂。 用户对外存的要求: (1)用户对外存的使用:读写外存数据。
(2)用户对外存的要求:方便、效率、安全。 1.在读写外存时不涉及硬件细节,使用逻辑地址和逻辑操作。 2.存取速度尽可能快,容量大且空间利用率高。 3.外存存放的信息安全可靠,防止来自硬件的故障和他人的侵权。 4.可以方便地共享,动态扩缩,携带拆卸,了解存储情况和使用情况。 5.以尽可能小的代价完成上述要求。 2019/4/11

25 第四章 文件管理 用户通过两类接口与文件系统联系,获得文件系统的服务:
(1)第一类是与文件有关的操作命令或作业控制语言中与文件有关的语句,构成文件系统人—机接口。 (2)第二类是提供给用户程序使用的文件类系统调用,构成了用户和文件系统的另一个接口。 基本文件类系统调用: (1)建立文件 (2)打开文件 (3)读/写文件 (4)文件控制 (5)关闭文件 (6)撤销文件 2019/4/11

26 第四章 文件管理 4.4 文件的数据存储 卷:存储介质的物理单位,物理卷和物理设备不总是一致的。
文件和卷:单文件卷;多文件卷;多卷文件;多卷多文件。 块:存储介质上连续信息所组成的一个区域,也叫物理记录。它也是主存储器和辅助存储设备信息交换的物理单位,每次交换一块或整数块。决定块的大小要考虑到用户使用方式、数据传输效率和存储设备类型等多种因素。 不同类型的存储介质,块的长短常常各不相同;同一类型的存储介质,块的长短也可以不同。 间隙是块之间不记录用户代码信息的区域。 2019/4/11

27 第四章 文件管理 4.5 文件的物理结构 构造文件物理结构的方法:
(1)计算法:设计映射算法,通过对记录键的计算转换成对应的物理块地址,找到所需记录。直接寻址文件、计算寻址文件,顺序文件均属此类。 (2)指针法:设置专门指针,指明相应记录的物理地址或表达各记录之间的关联。索引文件、索引顺序文件、连接文件、倒排文件等均属此类。 连续结构(顺序):一个文件的信息存放在若干连续的物理块中。逻辑记录顺序和物理记录顺序完全一致的文件,通常,记录按出现的次序被读出或修改。优点:结构简单,实现容易,不需要额外的开销。缺点:用户创建文件时要给出文件的大小;不 2019/4/11

28 第四章 文件管理 利于文件的动态增加和修改;连续文件是一种连续结构的文件,对每个文件要求存放在存储介质上的连续的物理块中,存储空间利用率不高。类似于存储管理中的分区。适用于变化不大的顺序访问的文件。在流行的UNIX系统中仍保留了连续文件结构。 顺序文件变种: (1)紧凑顺序文件 (2)扩展顺序文件 (3)连接顺序文件 (4)划分顺序文件 串联(链接)结构:是按顺序由串联的块组成的,即文件的信息按存储介质的物理特性存于若干块中。每个物理块的最末一个字(或第一个字)作为链 2019/4/11

29 第四章 文件管理 接字,它指出后继块的物理地址。链首指针存放在该文件目录中。文件的结尾块的指针为“∧”。这 2019/4/11

30 第四章 文件管理 种文件结构不要求连续存放。对于记录式文件一块中可包含一个逻辑记录或多个逻辑记录,也可以若干物理块包含一个逻辑记录。优点:存储空间利用率高;文件创建时用户不必指出文件的大小;文件容易动态扩充和修改;顺序存取效率高。缺点:随机存取效率太低,如果访问文件的最后内容,实际上是要访问整个文件。类似于存储管理中的页式。 链接结构的变种:堆栈、队列、两端队列。 文件映照:为了克服链接文件的存取效率太低的问题,人们提出文件映照的技术,即把链接文件中的链接字集中在一结构中,这样既保持了链接文件的优点,也克服了其缺点,DOS、WINDOWS系统就采用了这样结构。 2019/4/11

31 第四章 文件管理 2019/4/11

32 第四章 文件管理 索引(随机)结构:一个文件的信息存放在若干不连续物理块中,系统为每个文件建立一个专用数据结构--索引表,并将这些块的块号存放在一个索引表中。一个索引表就是磁盘块地址数组,其中第i个条目指向文件的第i块。索引表位置:文件目录中,文件的开头等。索引表大小:固定大小,非固定大小。优点:保持了链接结构的优点,又解决了其缺点即能顺序存取,又能随机存取;满足了文件动态增长、插入删除的要求;也能充分利用外存空间。缺点:寻道次数多和寻道时间长;索引表本身带来了系统开销,如内外存空间,存取时间。 访问文件时,根据文件的逻辑块号查文件索引表,表中每个表目包括:逻辑块号和物理块号,找到对应的物理块号,然后,进行访问。 索引结构的三种形式:直接地址结构、索引结构、 2019/4/11

33 第四章 文件管理 计算寻址结构。 2019/4/11

34 第四章 文件管理 索引结构是实现非连续存储的另一种方法,适用于数据记录保存随机存取设备上的文件。使用索引表,每个表目包含一个记录的键及其记录数据的存储地址,这类文件称索引文件。 记录1 关键字 地址 记录2 记录N 文件名 索引表 2019/4/11

35 第四章 文件管理 索引文件在文件存储器上分两个区:索引区和数据区。 访问索引文件需两步操作: (1)查找文件索引;
(2)以相应键登记项内容作为地址而获得记录数据。 两类索引项:稠密索引和稀疏索引。 索引顺序文件:是顺序文件的扩展,其中各记录本身在介质上也是顺序排列的,它包含了直接处理和修改记录的能力。 索引顺序文件能象顺序文件一样进行快速顺序处理,既允许按物理存放次序(记录出现的次序);也允许按逻辑顺序(由记录主键决定的次序)进行处理。 2019/4/11

36 第四章 文件管理 存储介质 磁带 磁盘 物理结构 连续结构 连续 链接 索引 存取方式 顺序存取 顺序 顺序 顺序 随机 随机
提高查找速度的办法:二级索引,二级索引表的表项列出一级索引表每一块最后一个索引项的键值及该索引表区的地址,若干个记录的索引本身也是一种记录。查找时先查看二级索引表找到某键所在的索引表区地址,再搜索一级索引表找出数据记录。 文件结构、文件存取方式与文件存储介质的关系: 存储介质 磁带 磁盘 物理结构 连续结构 连续 链接 索引 存取方式 顺序存取 顺序 顺序 顺序 随机 随机 2019/4/11

37 第四章 文件管理 Hash结构:记录的关键字与其地址间可通过某种方式建立对应关系,利用这种结构实现文件的存取叫Hash结构。
Hash结构要建立hash表,hash表是一个指针数组,数组通过索引访问,找到的指针便指向数据记录。索引是与数据记录有关的关键字或其变换。 hash函数的构造:设文件名为8个ASCⅡ字符。构造的hash函数为模2加“⊕”,求已知文件名的ASCⅡ字符值的模2加值作为该文件的FCB所在物理块在目录文件中的索引A,那么,A= (a1⊕a2⊕…⊕a8)。 目录文件的建立:目录文件采用索引结构,建立文件时先求出文件名的hash值A。凡A值相同的文件的FCB都存放在同一个物理块。磁盘的物理块号存放在索引表中的相对位置应等于A值。 2019/4/11

38 第四章 文件管理 文件的查找:根据给定文件名,算出该文件的FCB所在物理块号在索引表中的相对位置A。根据A就可找到该FCB所在物理块号,把这个物理块读入内存缓冲区,用文件名逐个比较,找出要求的FCB。 溢出处理:物理块中存放的FCB是有限的,建立目录文件时,如果A值相同的文件数目超过物理块能容纳数时,产生溢出。溢出时,系统再申请一个盘区,该区物理块号放在A+k的索引表目中,k是质数作为位移常数。第二块盘区也溢出,则申请第三块,块号放在A+2×k表目中,依此类推。查找目录时,如第一块找不到可找A+k表目中的物理块号,读出后继续比较,依次类推。 2019/4/11

39 第四章 文件管理 4.6 文件目录 文件系统实现“按名存取”文件的重要手段是文件目录。
文件系统基本功能之一是负责文件目录的建立、维护和检索。 文件控制块(FCB):又称文件目录项,操作系统为每一个文件开辟一个存储区,在它的里面记录着该文件的有关信息,我们把该存储区称为“文件控制块(FCB)”。找到一个文件的FCB,也就得到了这个文件的有关信息,就能够对它进行所需要的操作。它是操作系统为管理文件而设置的数据结构,存放了为管理文件所需的所有有关信息。文件控制块也是文件存在的标志。 FCB内容:文件名,文件号,用户名,文件地址, 2019/4/11

40 第四章 文件管理 文件长度,文件类型,文件属性,共享计数,文件的建立日期,保存期限,最后修改日期,最后访问日期,口令,文件逻辑结构,文件物理结构。 2019/4/11

41 第四章 文件管理 FCB中关于位置的描述 2019/4/11

42 第四章 文件管理 FCB中关于位置的描述 2019/4/11

43 第四章 文件管理 文件目录:把文件的文件控制块汇集在一起,就形成了系统的文件目录,即文件控制块的有序集合。每个文件控制块就是一个目录项。
目录文件:为了实现对文件目录的管理,通常将文件目录以文件的形式保存在外存,这个文件就叫目录文件。 一级目录结构:为所有文件建立一个目录文件(组成一线性表)。 目录项1 目录项2 …… 目录项N 文件1 文件2 文件N 2019/4/11

44 第四章 文件管理 如果系统中的文件很多,那么文件目录就会很大。可以想象,按文件名去查找一个文件的FCB,平均需要搜索半个目录文件,会耗费很多时间。 系统里面的文件不能重名。即便是不同的用户,也不能给他们的文件起相同的名字,否则就有可能找不到指定的文件。 一级目录结构的优缺点: (1)优点: 简单,易实现。 (2)缺点: 不能重名;文件平均检索时间长;限制了对文件的共享。 二级目录结构:第一级为主文件目录,用于管理所有用户的文件目录,登记系统接受的用户名字及该用户文件目录的地址。第二级为用户文件目录,为该用户的每个文件保存一登记栏,其内容与一级目 2019/4/11

45 第四章 文件管理 录的目录项相同。优点:解决了文件的重名问题和文件共享问题;用户名和文件名查找时间低。缺点:增加了系统开销。 用户名 A B
文件目录始址 …… 主文件目录 文件名 物理地址 Afile1 用户A文件目录 Afile2 文件名 物理地址 Bfile1 用户B文件目录 Bfile2 Bfile3 ……… 2019/4/11

46 第四章 文件管理 树形目录结构:每一级目录可以是下一级目录的说明,也可以是文件的说明,形成层次关系。多级目录结构采用树形结构,是一棵倒向有根树,树根是根目录;从根向下,每个树枝是一个子目录;而树叶是文件。优点:层次结构清晰,便于管理和保护,解决重名问题,查找速度加快。缺点:查找一个文件按路径名逐层检查,由于每个文件都放在外存,多次访盘影响速度。 绝对路径名:一个文件的路径名是由根目录到该文件的通路上所有目录文件名和该文件的符号名组成的。 DOS和WINDOWS文件路径名:\A\R\T,\B\IU\I,\D,\B\P。UNIX系统文件路径名:/A/R/T,/B/IU/I,/D,/B/P。 2019/4/11

47 第四章 文件管理 树型目录结构 2019/4/11

48 第四章 文件管理 2019/4/11

49 第四章 文件管理 相对路径名:对于文件又有一种相对路径名。用户可以指定一个目录作为当前目录(也称工作目录)。从当前目录往下的文件的路径名,称为文件的相对路径名。一个文件的相对路径名与当前所处的位置有关,它不是惟一的。 文件目录检索:根据路径名进行检索,全路径名检索:从根开始;相对路径检索:从当前路径。 “按名存取”的实现:用户访问文件时,系统根据文件名查文件目录,找到它的文件控制块。经过合法性检查,从控制块中得到该文件所在的物理地址,然后进行所需要的存取操作。 2019/4/11

50 第四章 文件管理 2019/4/11

51 第四章 文件管理 4.7 文件存储空间的管理 确定了块的大小,还要对它们进行管理,即要记住哪些已经分配,哪些仍然空闲。常采用的磁盘存储空间管理方案有位示图、空闲块表以及空闲块链。 位示图:为所要管理的磁盘设置一张位示图。至于位示图的大小,由磁盘的总块数决定。位示图中的每个二进制位与一个磁盘块(这里假定一个扇区就是一个磁盘块)对应,该位状态为“1”,表示所对应的块已经被占用;状态为“0”,表示所对应的块仍然是空闲,可以参加分配。 一个具体的位示图见下图: 2019/4/11

52 第四章 文件管理 2019/4/11

53 第四章 文件管理 相对块号:是指从0开始,按柱面和盘面(即磁头)的顺序对磁盘块进行统一编号。位示图中第i字的第j位对应的相对块号就是:相对块号= i×32+j。M = 相对块号/32;N = 相对块号%32。 由“字号、位号”求“柱面号、磁头号和扇区号”的如下公式:柱面号=M; 磁头号=N/4; 扇区号=N%4 在归还磁盘块时,根据释放块的“柱面号、磁头号和扇区号”,先计算出该块的相对块号,再求出它在位示图中的字号和位号。具体公式如下:相对块号=柱面号×32+磁头号×4+扇区号,字号=相对块号/32,位号=相对块号%32。 空闲区表:用空闲区表来管理文件存储空间,做法是 2019/4/11

54 第四章 文件管理 系统设置一张表格,表中的每一个表目记录磁盘空间中的一个连续空闲盘区的信息。 2019/4/11

55 第四章 文件管理 空闲块链:所谓空闲块链即在磁盘的每一个空闲块中设置一个指针,指向另一个磁盘空闲块,从而所有的空闲块形成一个链表,这就是磁盘的“空闲块链”。有时也把磁盘空闲块链称为“空白串联文件”。 成组链接:一种改进的方法,在这种方法中,系统根据磁盘块数,开辟若干块来专门登记系统当前拥有的空闲块的块号,UNIX操作系统就是采用的这种方法。 内存中所需的表目: (1)系统打开文件表:放在内存,用于保存已打开文件的FCB。此外,还有文件号,共享计数,修改标志等。 (2)用户打开文件表:每个进程一个,文件描述符,打开方式,读写指针,系统打开文件表入口,在进程的PCB中,记录了用户打开文件表的位置。 2019/4/11

56 第四章 文件管理 2019/4/11

57 第四章 文件管理 (3)用户打开文件表与系统打开文件表之间的关系:用户打开文件表指向系统打开文件表。如果多个进程共享同一个文件,则多个用户打开文件表目对应系统打开文件表的同一入口。 2019/4/11

58 第四章 文件管理 2019/4/11

59 第四章 文件管理 4.8 文件系统的使用 文件操作的实现: 文件系统提供对文件的各种操作,这些操作方便、灵活地使用文件及文件系统,形式分别为系统调用或命令。文件系统提供给用户程序的一组系统调用,包括:建立、打开、关闭、撤销、读、写和控制,通过这些系统调用用户能获得文件系统的各种服务。 (1)建立文件:建立文件的FCB,并建立必要的存储空间,分配空FCB,根据提供的参数及需要填写有关内容,返回一个文件描述。目的是建立系统与文件的联系。 形式为create(文件名,访问权限,(,最大长度))。 2019/4/11

60 第四章 文件管理 1.检查参数的合法性,文件名是否符合命名规则,是转2,否则错误返回; 2.检查同一目录下有无重名文件,无转3,有错误返回;
3.在目录中有无空闲位置,有转4,否则不成功返回; 4.填写目录项内容:文件名,用户名等,存取权限,长度置零,(,首址); 5.返回。 (2)打开文件: 使用文件的第一步,任何一个文件使用前都要先打开,即把FCB送到内存,形式为open(文件路径名,打开方式)。 1.根据文件路径名查目录,找到FCB主部; 2019/4/11

61 第四章 文件管理 2.根据打开方式、共享说明和用户身份检查访问合法性;
3.根据文件号查系统打开文件表,看文件是否已被打开,是,共享计数加1,否则将外存中的FCB主部等信息填入系统打开文件表空表项,共享计数置为1; 4.在用户打开文件表中取一空表项,填写打开方式等,并指向系统打开文件表对应表项。返回信息: fd---文件描述符,是一个非负整数,用于以后读写文件。 (3)关闭文件:略。 (4)删除文件:撤销FCB。 (5)指针定位:seek(fd,新指针的位置)。 2019/4/11

62 第四章 文件管理 1.由fd查用户打开文件表,找到对应的入口;
2.将用户打开文件表中文件读写指针位置设为新指针的位置,供后继读写命令存取该指针处文件内容。 (6)读文件:形式为read(文件名,(文件内位置),要读的长度,内存目的地址),隐含参数:进程主。 1.检查长度是否为正整数,是转2,否则转10; 2.根据文件名查找目录,确定该文件在目录中的位置; 3.根据隐含参数中的进程主和目录中该文件的存储权限数据,检查是否有权读?是转4,否则转10; 4.由文件内位置与要读的长度计算最末位置,将其与目录中的文件长度比较,超过否?是转10,否则转5; 2019/4/11

63 第四章 文件管理 5.根据参数中的位置、长度和目录中的映射信息,确定块号、块数、块内位移与长度; 6.根据下一块号读块至内存缓冲区;
7.根据块内位移长度取出要读的内容,送至参数中的内存目的地址; 8.根据块内长度或起始块号+块数,确定还读下一块吗?同时确定下一块块号,是转5,否则转9; 9.正常返回; 10.错误返回,返回相应错误号。 (7)写文件:略 (8)文件连接(LINK):略 2019/4/11

64 第四章 文件管理 (9)复制文件:略 (10)目录的操作:略 文件卷的安装和使用: (1)文件系统结构: 基本 文件系统 子文件 系统1
系统2 系统n 2019/4/11

65 第四章 文件管理 (2)文件卷的动态安装 (3)文件卷的动态安装过程 (4)文件卷的拆卸 文件共享
(1)定义: 一个文件被多个用户或程序使用。 (2)文件共享的三种形式:被多个用户使用,由存取权限控制;被多个程序使用,但各用自己的读写指针;被多个程序使用,但共享读写指针。 (3)文件共享的目的:节省时间和存储空间,减少了用户工作量;进程间通过文件交换信息。 (4)文件的静态共享:系统调用形式为:chat (* oldnamep, * newnamep;link (oldnamep, newnamep) 2019/4/11

66 第四章 文件管理 ① 检索目录找到oldnamep所指向文件的索引节点inode编号。
② 再次检索目录找到newnamep所指文件的父目录文件,并把已存在文件的索引节点inode编号与别名构成一个目录项,记入到该目录中去。 ③ 把已存在文件索引节点inode的连接计数i_nlink加“1”。 链接实际上是共享已存在文件的索引节点inode,完成链接的系统调用: link(“/usr/fei1/myfile.c”,”/usr/fei2/myfile.c”); link(“/usr/fei1/myfile.c”,”/usr/include/testfile.c”); 2019/4/11

67 第四章 文件管理 执行后,三个路径名指的是同一个文件: /usr/fei1/myfile.c, /usr/fei2/myfile.c,
/usr/include/testfile.c。 tty00 dev bin lib etc usr tty01 sh date cc who passwd UNIX fei1 myfile.c getty include fei2 testfile.c 2019/4/11

68 第四章 文件管理 文件解除链接调用形式为:unlink (namep)。解除链接与文件删除执行的是同一系统调用代码。删除文件是从文件主角度讲的,解除文件连接是从共享文件的其他用户角度讲的。都要删去目录项,把i_nlink减“1”,不过,只有当i_nlink减为“0”时,才真正删除文件。 (5)文件的动态共享: 1.文件动态共享是系统中不同的用户进程或同一用户的不同进程并发地访问同一文件。 2.这种共享关系只有当用户进程存在时才可能出现,一旦用户的进程消亡,其共享关系也就自动消失。 2019/4/11

69 第四章 文件管理 3.UNIX文件的每次读写由一个读/写位移指针指出要读写的位置。问题是:若文件可以为多个进程所共享,那么,应让多个进程共用同一个读/写位移指针,还是各个进程具有各自的读写位移指针呢? 4.同一用户父、子进程协同完成任务,使用同一读/写位移指针,同步地对文件进行操作。 5.该位移指针宜放在相应文件的活动索引节点中。当用系统调用fork建立子进程时,父进程的user结构被复制到子进程的user结构中,使两个进程的打开文件表指向同一活动的索引节点,达到共享同一位移指针的目的。 2019/4/11

70 第四章 文件管理 2019/4/11

71 第四章 文件管理 6.两个以上用户共享文件,每个希望独立地读、写文件,这时不能只设置一个读写位移指针,须为每个用户进程分别设置一个读、写位移指针。 7.位移指针应放在每个进程用户打开文件表的表目中。这样,当一个进程读、写文件,并修改位移指针时,另一个进程的位移指针不会随之改变,从而,使两个进程能独立地访问同一文件。 2019/4/11

72 第四章 文件管理 2019/4/11

73 第四章 文件管理 层次式文件系统模型: (1) Madnick于1969年提的一个层次式文件系统模型,介绍文件系统一般的工作原理,模型分成8个层次。 获得结果 用户存取要求 用户接口 符号文件系统 存取控制验证 逻辑文件系统 物理文件系统 设备和分配策略模块 I/O控制系统 物理介质 基本文件系统 2019/4/11

74 第四章 文件管理 (2)用户接口:接受用户发来的文件系统调用,进行必要的语法检查,根据用户对文件的存取要求,转换成统一格式的内部系统调用,并进入符号文件系统。 (3)符号文件系统:根据文件路径名,建立或搜索文件目录,获得文件内部唯一标识来代替这个文件,供后面存取操作使用。 (4)基本文件系统:根据文件内部标识负责把文件说明信息调入内存的活动文件表中。如文件已经打开,则根据本次存取要求修改活动文件表内容,并把控制传到下一层。 (5)存取控制验证:根据活动文件表相应项识别调用者的身份,验证存取权限,判定文件操作的合法性,实现文件的存取、共享、保护和保密。如不允许本次访问便发出一个错误条件,本次文件操作请求失败。 2019/4/11

75 第四章 文件管理 (6)逻辑文件系统:根据文件说明中的逻辑结构信息,把指定的逻辑记录转换成相对的块地址。对流式文件,把用户指定的逻辑地址按块长计算出相对块号;对记录式文件,先把记录号转换成逻辑地址,再把其转换成相对块号。如本文件适用多种存取方法,则应设多个例程完成不同的转换算法。 (7)物理文件系统:根据活动文件表相应目录项中的物理结构信息,将相对块号及块内相对地址转换为文件存储器的物理块号和块内地址。 (8)设备和分配策略模块:负责文件存储空间的分配,若为写操作,则动态地为调用者申请物理块;实现缓冲区信息管理。根据物理块号生成I/O控制系统的地址格式。 (9)I/O控制系统:具体执行I/O操作,实现文件信息的存取。这一层属于设备管理功能。 2019/4/11

76 第四章 文件管理 内存映射文件: 概念上,系统提供两个新的系统调用:
(1)映射文件:有两个参数:一个文件名和一个虚拟地址,把一个文件映射到进程地址空间。 (2)移去映射文件:让文件与进程地址空间断开,并把映射文件的数据写回磁盘文件。 虚拟文件系统: (1)虚拟文件系统要实现以下目标: 1.同时支持多种文件系统; 2.多个文件系统应与传统的单一文件系统没有区别,在用户面前表现为一致的接口; 3.提供通过网络共享文件的支持,访问远程结点上的文件系统应与访问本地结点的文件系统一致; 2019/4/11

77 第四章 文件管理 4.可以开发出新的文件系统,以模块方式加入到操作系统中。 (2)虚拟文件系统设计思想:
1.在对多个文件系统的共同特性进行抽象基础上,形成一个与具体文件系统实现无关的虚拟层,并在此层次上定义与用户的一致性接口; 2.文件系统具体实现层使用类似开关表技术进行文件系统转接,每个文件系统是自包含的,实现各文件系统的具体细节。 (3)虚拟文件系统定义了v节点(虚拟节点)和vfs(虚拟文件系统)。一个v节点代表了内核中一个文件,而vfs代表了内核中一个文件系统。 2019/4/11

78 第四章 文件管理 文件系统的可靠性与安全性: (1)文件系统的可靠性:系统抵抗和预防各种物理性破坏和人为性破坏的能力。 1.坏块问题。
2.备份:通过转储操作,形成文件或文件系统的多个副本。 1)最简单的RAID (廉价磁盘冗余阵列)组织方式:镜像 2)最复杂的RAID组织方式:块交错校验。 3)海量转储:定期将所有文件拷贝到后援存储器。 4)增量转储:只转存储修改过的文件,即两次备份之间的修改,减少系统开销。 3.恢复: 4.文件系统的一致性:文件写回磁盘块时,若在写回之 2019/4/11

79 第四章 文件管理 磁盘0 磁盘1 数据1 的备份 数据0 的备份 数据0 数据1 CPU 2019/4/11

80 第四章 文件管理 前,系统崩溃,则文件系统出现不一致。需要设计一个实用程序,当系统再次启动时,运行该程序,检查磁盘块和目录系统。
5.一致性检查工作过程:两张表,每块对应一个表中的计数器,初值为0。 表一:记录了每块在文件中出现的次数。 表二:记录了每块在空闲块表中出现的次数。 2019/4/11

81 第四章 文件管理 2019/4/11

82 第四章 文件管理 2019/4/11

83 第四章 文件管理 2019/4/11

84 第四章 文件管理 2019/4/11

85 第四章 文件管理 文件系统的安全性:确保未经授权的用户不能存取某些文件。涉及到技术、管理、法律、道德和政治等问题。
(1)安全性的两个重要方面: 1.数据丢失、灾难、硬件或软件故障、人的失误,可通过备份解决(存放在另一处)。 2.积极的或消极的入侵者:非技术人员的偶然窥视、入侵者的窥视、明确的偷窃企图和商业或军事间谍活动,设计安全时要考虑是那一类入侵者。 (2)著名的安全缺陷:逻辑炸弹、蠕虫等。 (3)一般性的安全攻击:请求内存页、磁盘空间和磁带并读取其内容、尝试非法的系统调用(非法参数 、不合适的参数)、在登录过程中键入DEL,BREAK、写一段程序欺骗用户和病毒等。 2019/4/11

86 第四章 文件管理 (4)安全性的设计原则: 1.系统设计必须公开。 2.缺省属性应该不可访问。 3.检查当前权限。
4.给每个进程赋予一个最小的可能权限。 5.保护机制应简单一致,嵌入到系统底层。 6.采取的方案必须可接受。 (5)文件的保护机制: 1.文件保护:用于提供安全性的特定的操作系统机制。(对拥有权限的用户,应该让其进行相应操作,否则,应禁止防止其他用户冒充对文件进行操作)。 2019/4/11

87 第四章 文件管理 2.用户验证:当用户登录时,检验其身份(用户是谁,用户拥有什么,用户知道什么):口令、物理鉴定(磁卡,指纹,签名分析,手指长度分析等)。 3.存取控制:审查用户的权限和审查本次操作的合法性。 1)文件的二级存取控制: 第一级:对访问者的识别,对用户分类: a) 文件主(owner)。 b)文件主的同组用户(group)。 c)其它用户(other)。 第二级:对操作权限的识别,对操作权限的分类: 2019/4/11

88 第四章 文件管理 a) 读操作(r)。 b) 写操作(w)。 c) 执行操作(x)。 d) 不能执行任何操作(-)。 2)存取控制矩阵 文件
用户 A B C  User1 rw r w User2 e    文件系统的性能问题: 2019/4/11

89 第四章 文件管理 (1)磁盘服务:其速度和可靠性成为文件系统性能和可靠性的主要瓶颈,设计文件系统时应尽可能减少磁盘访问次数。
(2)块高速缓存:系统在内存中保存一些块,逻辑上它们属于磁盘,检查所有的读请求,看所需的块是否在高速缓存中。如果在,则可直接进行读操作。否则,首先要将块读到高速缓存,再拷贝到所需的地方,如果高速缓存已满,则需要进行淘汰。 (3)合理分配磁盘空间:分配块时,把有可能顺序存取的块放在一起,最好在同一柱面上,从而减少磁盘臂的移动次数。 (4)磁盘调度:当多个访盘请求在等待时,采用一定的 2019/4/11

90 第四章 文件管理 策略,对这些请求的服务顺序调整安排,旨在降低平均磁盘服务时间,达到公平、高效。 1.公平:一个I/O请求在有限时间内满足。
2.高效:减少设备机械运动所带来的时间浪费。 3.磁盘调度考虑的问题:一次访盘时间 = 寻道时间+旋转延迟时间+存取时间。 1) 减少寻道时间(活动头磁盘)。 2) 减少延迟时间(固定头磁盘)。 (5)磁盘调度算法: 1.先来先服务:按访问请求到达的先后次序服务。优点:简单,公平;缺点:效率不高,相临两次请求可 2019/4/11

91 第四章 文件管理 能会造成最内到最外的柱面寻道,使磁头反复移动,增加了服务时间,对机械也不利。
2.最短寻道时间优先:优先选择距当前磁头最近的访问请求进行服务,主要考虑寻道优先。优点:改善了磁盘平均服务时间;缺点:造成某些访问请求长期等待得不到服务。 3.扫描算法(电梯算法):当设备无访问请求时,磁头不动;当有访问请求时,磁头按一个方向移动,在移动过程中对遇到的访问请求进行服务,然后判断该方向上是否还有访问请求,如果有则继续扫描;否则改变移动方向,并为经过的访问请求服务,如此反复。优点:克服了最短寻道优先的缺点,既考虑了距离, 2019/4/11

92 第四章 文件管理 同时又考虑了方向。 2019/4/11


Download ppt "操作系统原理与设计 Operating Systems: Design and Implementation"

Similar presentations


Ads by Google