《第6章文件系统课件.ppt》由会员分享,可在线阅读,更多相关《第6章文件系统课件.ppt(84页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、操作系统原理操作系统原理Principle of Operating System 精品课程精品课程第六章第六章 文件系统文件系统 6.1 6.1 概述概述 6.2 6.2 文件结构文件结构 6.3 6.3 文件目录文件目录 6.4 6.4 文件系统的实现文件系统的实现 6.5 6.5 辅存空间管理辅存空间管理 6.6 6.6 实例:实例:WindowsWindows文件系统文件系统本章主要内本章主要内容容操作系统原理操作系统原理Principle of Operating System 精品课程精品课程 在现代计算机系统中,用户的程序和数据,操作系统自身的程序和数据,甚至各种输入输出设备都是
2、以文件形式出现的。尽管文件有多种存储介质可以使用,如硬盘、软盘、光盘、闪存、记忆棒等,但是,它们都以文件的形式出现在操作系统的管理者和用户面前。所以,文件管理是操作系统中一项重要的功能。文件系统就是操作系统中统一管理信息资源的一种软件。它管理文件的存储、检索、更新,提供安全可靠的共享和保护手段,并且方便用户使用。操作系统原理操作系统原理Principle of Operating System 精品课程精品课程第六章第六章 文件系统文件系统 6.1 6.1 概述概述 6.2 6.2 文件结构文件结构 6.3 6.3 文件目录文件目录 6.4 6.4 文件系统的实现文件系统的实现 6.5 6.5
3、 辅存空间管理辅存空间管理操作系统原理操作系统原理Principle of Operating System 精品课程精品课程6.1 6.1 概述概述6.1.1 6.1.1 文件的基本概念文件的基本概念6.1.2 6.1.2 文件系统模型文件系统模型6.1.3 6.1.3 文件分类文件分类6.1.4 6.1.4 文件属性文件属性6.1.5 6.1.5 文件操作文件操作操作系统原理操作系统原理Principle of Operating System 精品课程精品课程 文件是具有名字且在逻辑上具有完整意义的信息项的有序序列,如图所示。这里所说的“有序序列”是指以用户观点,在逻辑上具有顺序性,实际
4、上,文件在辅存上物理存放时由于要考虑空间利用率的问题,因而不一定是连续的。编号:0 1 k n-1信息项1 信息项2 信息项k 信息项n读/写 指针 操作系统原理操作系统原理Principle of Operating System 精品课程精品课程文件系统的主要功能有:文件的按名存取;对文件目录的管理;地址映射;提供合适的文件存取方法;文件的共享、保护和保密等。操作系统原理操作系统原理Principle of Operating System 精品课程精品课程6.1 6.1 概述概述6.1.1 6.1.1 文件的基本概念文件的基本概念6.1.2 6.1.2 文件系统模型文件系统模型6.1.3
5、 6.1.3 文件分类文件分类6.1.4 6.1.4 文件属性文件属性6.1.5 6.1.5 文件操作文件操作操作系统原理操作系统原理Principle of Operating System 精品课程精品课程最低层是对象及其属性说明,这是由操作系统所提供的数据名称、数据集合单位所组成的层次;中间层是对对象进行操控和管理的软件集合,它是处于应用程序与操作系统之间的应用软件与系统软件;最高层是文件系统提供给用户的接口。操作系统中处理文件的部分称为文件系统。它分为三个层次:操作系统原理操作系统原理Principle of Operating System 精品课程精品课程 表6-2 文件系统模型文
6、件系统接口对对象操纵和管理的软件集合逻辑文件系统基本I/O管理程序(文件组织模块)基本文件系统(物理I/O层)I/O控制层(设备驱动程序)对象及其属性说明操作系统原理操作系统原理Principle of Operating System 精品课程精品课程6.1 6.1 概述概述6.1.1 6.1.1 文件的基本概念文件的基本概念6.1.2 6.1.2 文件系统模型文件系统模型6.1.3 6.1.3 文件分类文件分类6.1.4 6.1.4 文件属性文件属性6.1.5 6.1.5 文件操作文件操作操作系统原理操作系统原理Principle of Operating System 精品课程精品课程
7、按用途可分为:系统文件、库文件和用户文件。按存储方式可分为:ASCII文件和二进制文件。按保存期可分为:临时文件和永久文件。按访问方式可分为:只读文件、只执行文件和可读/写文件。按数据形式分为:源文件、目标文件和可执行文件。操作系统原理操作系统原理Principle of Operating System 精品课程精品课程6.1 6.1 概述概述6.1.1 6.1.1 文件的基本概念文件的基本概念6.1.2 6.1.2 文件系统模型文件系统模型6.1.3 6.1.3 文件分类文件分类6.1.4 6.1.4 文件属性文件属性6.1.5 6.1.5 文件操作文件操作操作系统原理操作系统原理Prin
8、ciple of Operating System 精品课程精品课程 为了能对系统内的各个文件实施管理以及保护,操作系统除了要保存文件的信息内容外,还要存储一些与文件相关的数据,我们称之为文件属性文件属性(File Attributes)。名称:文件是有名字的,以方便用户通过文件名来访问该文件。通常文件名是一个字符串组成。标识符:在文件系统内标识文件的唯一符号,通常是数字。这个信息对用户是不可访问的。类型:类型设置可以提供系统在访问时用以识别不同数据类型的文件。位置:此属性为一个指向磁盘实际存储位置的指针,让系统知道要到磁盘中的哪个位置去访问所需要的数据。操作系统原理操作系统原理Princip
9、le of Operating System 精品课程精品课程 大小:当数据被存储在磁盘中时需要足够的存储空间,大小属性就记录着该文件在磁盘上所占有的存储空间大小(以字节、字或块为单位),有时该属性也包括文件可允许大小的最大值。保护:在多用户多任务操作系统中,为了文件系统的安全,一般都会在文件上加入保护机制及访问控制的设置。拥有者:一般来说,文件都由建立它的用户所拥有,而文件的拥有者可以对文件的保护加以设置。日期信息:文件中会记录几个与文件相关的日期与时间信息,包含文件的建立时间、最后修改时间和最后访问时间等。这些信息主要用于文件的保护、安全和使用跟踪。操作系统原理操作系统原理Principl
10、e of Operating System 精品课程精品课程6.1 6.1 概述概述6.1.1 6.1.1 文件的基本概念文件的基本概念6.1.2 6.1.2 文件系统模型文件系统模型6.1.3 6.1.3 文件分类文件分类6.1.4 6.1.4 文件属性文件属性6.1.5 6.1.5 文件操作文件操作操作系统原理操作系统原理Principle of Operating System 精品课程精品课程 对文件的操作可分为两类:一是对文件自身的操作,主要实现文件的创建、删除、复制等;二是对记录的操作,例如在文件中查找一个记录。创建文件 读文件 写文件 删除文件 属性更改 截断文件 操作系统原理操
11、作系统原理Principle of Operating System 精品课程精品课程第六章第六章 文件系统文件系统 6.1 6.1 概述概述 6.2 6.2 文件结构文件结构 6.3 6.3 文件目录文件目录 6.4 6.4 文件系统的实现文件系统的实现 6.5 6.5 辅存空间管理辅存空间管理操作系统原理操作系统原理Principle of Operating System 精品课程精品课程6.2 文件结构6.2.1 6.2.1 文件、记录与文件控制块文件、记录与文件控制块6.2.2 6.2.2 文件的逻辑结构文件的逻辑结构6.2.3 6.2.3 文件的物理结构文件的物理结构操作系统原理操
12、作系统原理Principle of Operating System 精品课程精品课程 文件结构指的是文件的逻辑结构逻辑结构和物理结构物理结构。文件的逻辑结构指文件的外部组织形式,是用户所看到的文件的组织形式;文件的物理组织指文件的内部组织形式,是文件在物理存储设备上的存储形式,所以又称文件的存储结构。操作系统原理操作系统原理Principle of Operating System 精品课程精品课程 记录记录是一组相关数据项的集合,用于描述一个对象某方面的属性。一个记录通常包含哪些数据项,取决于需要描述对象的哪个方面。在这些记录中,为了能唯一的标识一个记录,必须在记录的各个数据项中,确定出一
13、个项或几个项,这些项的集合称为关键字。文件系统为了能有效管理一个文件,必须建立一个与文件一一对应的数据结构,用来保存文件名及文件的各种属性,这个数据结构称为文件控制块文件控制块(File Control Block,FCB)。操作系统原理操作系统原理Principle of Operating System 精品课程精品课程文件控制块的主要信息包括三方面:基本信息:文件标识、文件逻辑结构、文件物理结构 存取控制信息:文件主存取权限、授权者存取权限、文件口令等 使用信息:文件日期、文件使用信息操作系统原理操作系统原理Principle of Operating System 精品课程精品课程6.
14、2 文件结构6.2.1 6.2.1 文件、记录与文件控制块文件、记录与文件控制块6.2.2 6.2.2 文件的逻辑结构文件的逻辑结构6.2.3 6.2.3 文件的物理结构文件的物理结构操作系统原理操作系统原理Principle of Operating System 精品课程精品课程 文件的逻辑组织形式有两种:流式流式和记录式记录式。前者是非结构式的,后者是结构式的。1 1流式文件流式文件 流式文件中构成文件的基本单位是字节,即流式文件是具有符号名并在逻辑上具有完整意义的字节序列。编号:0 1 k n-1 字 节 字 节 字 节 字 节读/写指针操作系统原理操作系统原理Principle of
15、 Operating System 精品课程精品课程2 2记录式文件记录式文件 记录式文件顾名思义就是由记录构成的文件,即记录式文件是具有符号名并在逻辑上具有完整意义的记录序列。编号:0 1 k n-1 记 录 记 录 记 录 记 录读/写指针操作系统原理操作系统原理Principle of Operating System 精品课程精品课程 根据记录的长度可分为定长和不定长两类:定长记录:指文件中所有记录都是相同的。所有记录中的各数据项,都处于记录中相同位置,具有相同的顺序及相同的长度,文件的长度用记录数目表示。变长记录:指文件中各记录的长度不相同。包括:记录中包含的数据项数目可能不同。或者
16、是数据项本身的长度不定。用户对记录式文件的访问是以记录为基本单位的。每个文件的内部有一个读/写指针,通过系统调用可以将该读/写指针固定到文件的某一个位置,以后的读/写系统调用将从该指针所确定的位置开始。操作系统原理操作系统原理Principle of Operating System 精品课程精品课程6.2 文件结构6.2.1 6.2.1 文件、记录与文件控制块文件、记录与文件控制块6.2.2 6.2.2 文件的逻辑结构文件的逻辑结构6.2.3 6.2.3 文件的物理结构文件的物理结构操作系统原理操作系统原理Principle of Operating System 精品课程精品课程成组和分解
17、成组和分解逻辑记录和块的关系逻辑记录和块的关系 逻辑记录是按信息在逻辑上的独立含义划分的逻辑记录是按信息在逻辑上的独立含义划分的单位,块是存储介质上连续信息所组成的区域。单位,块是存储介质上连续信息所组成的区域。一个逻辑记录被存放到文件存储器的存储介质上一个逻辑记录被存放到文件存储器的存储介质上时,可能占用一块或多块,也可以一个物理块包时,可能占用一块或多块,也可以一个物理块包含多个逻辑记录。含多个逻辑记录。操作系统原理操作系统原理Principle of Operating System 精品课程精品课程记录成组和分解处理过程记录成组和分解处理过程 逻辑记录逻辑记录1 1逻辑记录逻辑记录2
18、2逻辑记录逻辑记录3 3物理记录物理记录逻辑记录逻辑记录用户缓冲区用户缓冲区系统缓冲区系统缓冲区操作系统原理操作系统原理Principle of Operating System 精品课程精品课程 用于保存文件的物理设备是划分为块的,文件的物理结构就是要确定如何将记录或字节保存在存储型设备的物理块中。一般在确定文件的物理结构时应当考虑以下几个因素:记录格式:文件记录的格式分为定长和变长两种。空间开销:指除保存文件内容之外所需的额外开销。它包括辅存开销以及当文件使用时所需的内存开销。存取速度:包括顺序存取速度、按号随机存取速度以及按键随机存储速度。长度变化:指文件长度的动态增加和动态减少,尤其是
19、文件长度的动态增加。操作系统原理操作系统原理Principle of Operating System 精品课程精品课程1 1顺序结构顺序结构 顺序结构又称为连续结构,采用这种结构,一个文件占用若干个连续的物理块,其首块号及块数记录于文件控制块FCB中。块块28块块29块块30块块31FCB首块号首块号28块数块数4磁盘空间磁盘空间操作系统原理操作系统原理Principle of Operating System 精品课程精品课程2 2链接结构链接结构 链接结构又称串联结构。采用这种结构,一个文件占有若干个不连续的存储块,各块之间以指针相连。首块号首块号28块数块数4块块28块块30块块46块
20、块45FCB磁盘空间磁盘空间操作系统原理操作系统原理Principle of Operating System 精品课程精品课程3 3索引文件索引文件 采用索引结构,一个文件占有若干不连续的存储块,这些块的块号记录于一个索引表中。首块号首块号28块数块数443839798块块43块块83块块98块块97FCB 磁盘空间磁盘空间操作系统原理操作系统原理Principle of Operating System 精品课程精品课程第六章第六章 文件系统文件系统 6.1 6.1 概述概述 6.2 6.2 文件结构文件结构 6.3 6.3 文件目录文件目录 6.4 6.4 文件系统的实现文件系统的实现
21、6.5 6.5 辅存空间管理辅存空间管理操作系统原理操作系统原理Principle of Operating System 精品课程精品课程6.3 6.3 文件目录文件目录6.3.1 6.3.1 分区与目录分区与目录6.3.2 6.3.2 一级目录一级目录6.3.3 6.3.3 二级目录二级目录6.3.4 6.3.4 树形目录树形目录6.3.5 6.3.5 无环图目录和通用图目录无环图目录和通用图目录操作系统原理操作系统原理Principle of Operating System 精品课程精品课程 分区是指一个新的磁盘驱动器在使用前将它划分为几个逻辑上独立的区域,每一个分区,用户都可以将它看
22、作是一个单独的存储设备。不同的分区可以根据需要,由用户分别安装不同的文件系统。通常,在每个分区中都会有一个设备目录(Device Directory)或是卷表(Volume Table),两者的功能都是用来记录此分区中的所有目录及文件信息。以Unix系列的文件系统为例,设备目录用来存储分区的相关信息,而在Windows中,这些信息会被记录在卷表中。操作系统原理操作系统原理Principle of Operating System 精品课程精品课程分区分区1设备目录设备目录FAT-32设备目录设备目录Ext2卷表卷表NTFS分区分区2磁盘一磁盘一磁盘二磁盘二分区分区3操作系统原理操作系统原理Pr
23、inciple of Operating System 精品课程精品课程 如果要想查找到某个文件的信息,则要访问整个设备目录或卷表文件。为了能对文件进行快速的存取,这就需要使用到前面介绍的文件控制块FCB。操作系统会为每一个新建立的文件设立一个FCB,其中包含有这个文件的所有属性信息。多个文件的FCB组成了一个文件目录,通常称为文件目录表,而每一个FCB就是文件目录表中的一个文件目录项。文件目录也是以“目录文件”的形式保存的。操作系统原理操作系统原理Principle of Operating System 精品课程精品课程6.3 6.3 文件目录文件目录6.3.1 6.3.1 分区与目录分区
24、与目录6.3.2 6.3.2 一级目录一级目录6.3.3 6.3.3 二级目录二级目录6.3.4 6.3.4 树形目录树形目录6.3.5 6.3.5 无环图目录和通用图目录无环图目录和通用图目录操作系统原理操作系统原理Principle of Operating System 精品课程精品课程 一级目录就是在整个计算机系统中只有一个目录,所有文件均存储在这个目录下,这是目录文件中最简单的一种形式。目录是在一个分区,也就是根目录中,存储几个不同名称的文件,这是最基本的一级目录结构。整个系统中只有一张文件目录表,该系统下的所有文件信息均存储在此表中。操作系统原理操作系统原理Principle of
25、 Operating System 精品课程精品课程操作系统原理操作系统原理Principle of Operating System 精品课程精品课程6.3 6.3 文件目录文件目录6.3.1 6.3.1 分区与目录分区与目录6.3.2 6.3.2 一级目录一级目录6.3.3 6.3.3 二级目录二级目录6.3.4 6.3.4 树形目录树形目录6.3.5 6.3.5 无环图目录和通用图目录无环图目录和通用图目录操作系统原理操作系统原理Principle of Operating System 精品课程精品课程 每个用户将他们建立的文件存储在各自目录下,即使有相同的文件名也不会互相影响。首先在
26、各个磁盘分区,也就是根目录中,建立不同的用户目录,也称为子目录(Sub-Directory),这些用户的相关信息被保存在主文件目录表中。所有用户的文件目录结构相似,是由各自目录下文件的文件控制块FCB组成。当用户登录此操作系统时,他可以访问的文件自然就是他的目录中的所有文件,所以系统在查找用户需要的文件时,就只需寻找他的目录下的文件。操作系统原理操作系统原理Principle of Operating System 精品课程精品课程6.3 6.3 文件目录文件目录6.3.1 6.3.1 分区与目录分区与目录6.3.2 6.3.2 一级目录一级目录6.3.3 6.3.3 二级目录二级目录6.3.
27、4 6.3.4 树形目录树形目录6.3.5 6.3.5 无环图目录和通用图目录无环图目录和通用图目录操作系统原理操作系统原理Principle of Operating System 精品课程精品课程 通常用户需要按自己的方式来组织文件,也就是按照用户的要求在自己的目录下创建新的子目录,将二级目录结构变为三级文件目录,甚至四级、五级文件目录,从而形成层次文件目录结构,我们把这种三级以上的文件目录结构统称为树形目录结构。一个树形目录结构就像一棵倒向生长的有根树,树根是文件目录的根目录;用户文件是树的树叶,其它子目录是树的非终端结点。由于它具有结构的可伸缩性、文件可重名、便于实现文件的共享和保护等
28、优点,几乎所有的现代操作系统都采用树形目录结构。路径名是指在树形目录结构中从根目录到该文件之间的通路上,所有目录文件名与访问文件名,依次用“”连接起来。操作系统原理操作系统原理Principle of Operating System 精品课程精品课程操作系统原理操作系统原理Principle of Operating System 精品课程精品课程6.3 6.3 文件目录文件目录6.3.1 6.3.1 分区与目录分区与目录6.3.2 6.3.2 一级目录一级目录6.3.3 6.3.3 二级目录二级目录6.3.4 6.3.4 树形目录树形目录6.3.5 6.3.5 无环图目录和通用图目录无环图
29、目录和通用图目录操作系统原理操作系统原理Principle of Operating System 精品课程精品课程 在多用户多任务操作系统中,文件共享是一件很重要的事,最简单的方法就是将这些必要的文件存放在某个目录中,程序员通过各自的目录都可连接到此共享的目录或文件,这样就形成了一个无环图目录结构,如果任何一个人修改了公用目录中的文件,其效果便可以立即显现出来。无环图目录结构中目录的共享无环图目录结构的安全问题操作系统原理操作系统原理Principle of Operating System 精品课程精品课程操作系统原理操作系统原理Principle of Operating System
30、精品课程精品课程 使用无环图的目录结构时,可能会发生的问题就是当用户要建立一个符号链表时,所要进行链接的目录可能是该链表所在目录的父目录(Parent Directory),或是更上级的目录。这样一来,就破坏了原本的无环图结构,也就形成了目录结构上的循环,这就是通用图目录结构。操作系统原理操作系统原理Principle of Operating System 精品课程精品课程操作系统原理操作系统原理Principle of Operating System 精品课程精品课程第六章第六章 文件系统文件系统 6.1 6.1 概述概述 6.2 6.2 文件结构文件结构 6.3 6.3 文件目录文件目
31、录 6.4 6.4 文件系统的实现文件系统的实现 6.5 6.5 辅存空间管理辅存空间管理操作系统原理操作系统原理Principle of Operating System 精品课程精品课程6.4 6.4 文件系统的实现文件系统的实现6.4.1 6.4.1 文件系统调用的实现文件系统调用的实现6.4.2 6.4.2 文件共享文件共享6.4.3 6.4.3 文件的安全与保护文件的安全与保护操作系统原理操作系统原理Principle of Operating System 精品课程精品课程1 1建立文件建立文件 根据设备类型在选中的相应设备上建立一个文件目录,并返回一个用户文件标识,用户在以后的读
32、写操作中可以利用此文件标识;将文件名、文件属性等数据填入文件目录;调用辅存空间管理程序为文件分配第一个物理块;需要时发出装卷信息;在活动中登记该文件有关信息,进行文件定位和卷标处理。操作系统原理操作系统原理Principle of Operating System 精品课程精品课程2 2打开文件打开文件 在内存活动文件表中申请一个空项,用以存放该文件的文件目录信息;根据文件名查找目录文件,将找到的文件目录信息复制到活动文件表占用栏;若打开的是共享文件,则要做相应处理,如使用共享文件的用户加1;文件定位,卷标处理。操作系统原理操作系统原理Principle of Operating System
33、 精品课程精品课程3 3关闭文件关闭文件 将活动文件表中该文件的“当前用户”减1;若此值为0,则撤销此目录;若活动文件表相应表目已被修改,则应先将表目内容写回文件存储器上相应表目中,以使文件目录保存最新状态;卷定位工作。操作系统原理操作系统原理Principle of Operating System 精品课程精品课程4 4读读/写文件写文件 按文件名从活动文件表中找到该文件的目录;按存取控制说明检查访问的合法性;根据文件目录指出的该文件的逻辑和物理组织方式将逻辑记录号或字符个数转换成物理块号;向设备管理发出I/O请求,完成数据传输操作。操作系统原理操作系统原理Principle of Ope
34、rating System 精品课程精品课程5.5.撤消文件撤消文件 若文件没有关闭则先做关闭工作;若为共享文件则应进行联访处理;在目录文件中删除相应目录项;释放该文件占有的辅存空间。操作系统原理操作系统原理Principle of Operating System 精品课程精品课程6.4 6.4 文件系统的实现文件系统的实现6.4.1 6.4.1 文件系统调用的实现文件系统调用的实现6.4.2 6.4.2 文件共享文件共享6.4.3 6.4.3 文件的安全与保护文件的安全与保护操作系统原理操作系统原理Principle of Operating System 精品课程精品课程 文件共享文件共
35、享是指多个进程在受控的前提下共用系统中的一个文件,这种控制是由操作系统和文件的使用者共同实现的。操作系统中文件共享的形式有两种:1不同时使用一个文件 2同时使用一个文件 存在两种情况:(1)所有进程都不修改所共享的文件。(2)某些进程要求修改被共享的文件。操作系统原理操作系统原理Principle of Operating System 精品课程精品课程6.4 6.4 文件系统的实现文件系统的实现6.4.1 6.4.1 文件系统调用的实现文件系统调用的实现6.4.2 6.4.2 文件共享文件共享6.4.3 6.4.3 文件的安全与保护文件的安全与保护操作系统原理操作系统原理Principle
36、of Operating System 精品课程精品课程 最常见的方法就是定期地备份整个文件系统中的数据,包含将重要的文件数据备份至不同的存储位置,或将整个磁盘备份至不同的存储媒介上。另外一种则是文件访问的权限保护,也就是读取、写入及执行等使用权限的设置。操作系统原理操作系统原理Principle of Operating System 精品课程精品课程1 1访问权限(访问权限(Access TypeAccess Type)文件的访问权限就是一种最基本的文件系统保护机制,系统必须根据文件的访问权限来操作文件。若将一个文件的访问权限加以细分,然后再针对不同的访问权限加以管制,这样,对同一个文件不
37、同的用户就会拥有较具伸缩性的访问权限。读取(Read);写入(Write);执行(Execute);追加(Append);删除(Delete);列表(List)。操作系统原理操作系统原理Principle of Operating System 精品课程精品课程2 2访问组访问组(Access Groups)(Access Groups)为了让整个访问控制的问题更好解决,我们可将此问题作些修改。首先是减少访问的方式,这样可将整个问题简单化,因为大部分的文件访问都可以相互参考,所以在大部分的文件系统中都只会针对其中的读取(Read)、修改(Write)及执行(Execute)进行访问控制,其他的
38、访问权限则交给文件的所有者。简化了访问权限之后,我们便可将文件针对不同的用户作不同的权限设置,譬如说,有些操作系统就提供以用户为单位来设置权限的机制。操作系统原理操作系统原理Principle of Operating System 精品课程精品课程 Unix系列的操作系统便将所有的用户分成3类,对于每个文件只要针对这3类用户分别作权限设置:拥有者(Owner):即建立文件的用户。一般来说,文件的建立者都会拥有对于此文件的所有访问权限。组(Group):在操作系统中,可以将需要相似访问权限的用户归类成不同的组,每个组中可以有多个用户,而每个用户也可以同时隶属于不同的组。其他(Other):除了
39、上述两种特别被指定的用户之外,剩下的用户会被归类为其他。操作系统原理操作系统原理Principle of Operating System 精品课程精品课程第六章第六章 文件系统文件系统 6.1 6.1 概述概述 6.2 6.2 文件结构文件结构 6.3 6.3 文件目录文件目录 6.4 6.4 文件系统的实现文件系统的实现 6.5 6.5 辅存空间管理辅存空间管理操作系统原理操作系统原理Principle of Operating System 精品课程精品课程6.5 6.5 辅存空间管理辅存空间管理6.5.1 6.5.1 辅存的分配方法辅存的分配方法6.5.2 6.5.2 空闲空间管理空闲
40、空间管理操作系统原理操作系统原理Principle of Operating System 精品课程精品课程 辅助存储器的特点之一,就是可以为用户提供一个存放大量数据的存储空间,这些数据以文件的形式存放。为了方便操作,几乎所有的操作系统都把文件分割成固 定大小的块来存储,这个块称为磁盘块。在为文件分配磁盘块时有三种方式:连续分配 链接分配 索引分配操作系统原理操作系统原理Principle of Operating System 精品课程精品课程1 1连续分配连续分配 连续分配是为一个文件分配一组连续的磁盘块,这些磁盘块通常位于同一磁道,其地址按线性排列。例如,一个磁盘块的大小是k,文件的第一
41、个磁盘块的地址是d,那么第二个磁盘块地址是dk,第三个磁盘块地址是d2k,第i个磁盘块的地址是d(i1)k。操作系统原理操作系统原理Principle of Operating System 精品课程精品课程 若辅存采用连续分配方式,即将逻辑文件中的记录按顺序存放到相邻的磁盘块中,该物理文件就称为顺序文件。系统在访问顺序文件时,读/写头只需经过一次或几次(如果文件较大,一个磁道存放不下,需要存放到多个磁道时)移动、定位操作。在连续分配的文件系统中,每个文件需要保存两个信息,一个是该文件第一个磁盘块的起始地址,另一个是该文件磁盘块总数。操作系统原理操作系统原理Principle of Opera
42、ting System 精品课程精品课程操作系统原理操作系统原理Principle of Operating System 精品课程精品课程 文件在进行分配时,系统尽量将数据存放在连续的磁盘块中。但是与内存空间的分配情况类似,随着文件的建立和删除,磁盘空间也会经过不断地分配和回收,这将使磁盘空间被分割出很多小的磁盘块,这些小磁盘块将很难再被用来存储文件,它们被称为“外部碎片”。磁盘重组(Disk Defragmentation)要花费大量时间。连续分配的优点优点:文件访问速度快;直接存取。连续分配的缺点缺点:要求有大量连续的磁盘空间;文件装入磁盘前,必须事先知道文件的长度。操作系统原理操作系统
43、原理Principle of Operating System 精品课程精品课程2 2链式分配链式分配 存放每个文件的磁盘块不是连续的,离散地分布在磁盘空间中,通过链表链接起来。不需要事先知道文件的大小,对文件的增加、删除和修改操作都十分方便。采用链式分配时,分配表中需要存储文件的起始磁盘块号和结束磁盘块号。而在每个磁盘块中要增加一个指针,这个指针指向文件的下一个磁盘块,这样系统可以从分配表中的起始磁盘块开始访问,顺着链表直到最后一个磁盘块,整个文件访问才完成。操作系统原理操作系统原理Principle of Operating System 精品课程精品课程磁盘空间的链式分配操作系统原理操作
44、系统原理Principle of Operating System 精品课程精品课程链式分配的缺点缺点:不具有直接存取的功能,操作起来比较复杂。读取文件的速度较慢。如果这个文件中的某一个磁盘块的指针出现错误,则整个文件就无法再被访问。操作系统原理操作系统原理Principle of Operating System 精品课程精品课程3 3索引分配索引分配 一个文件中所有磁盘块的编号都被存放在一个固定的磁盘块中,这个磁盘块称为索引块(Indexed Block)。在系统的索引分配表中存放有对应文件的索引块指针。利用索引系统可以容易地找到文件中第i个磁盘块,实现直接存取。而且,系统可以有效地利用磁
45、盘空间,从而避免“外部碎片”的问题。索引分配的缺点缺点:索引表连续存储 多级索引分配方式、混合索引分配方式 操作系统原理操作系统原理Principle of Operating System 精品课程精品课程操作系统原理操作系统原理Principle of Operating System 精品课程精品课程6.5 6.5 辅存空间管理辅存空间管理6.5.1 6.5.1 辅存的分配方法辅存的分配方法6.5.2 6.5.2 空闲空间管理空闲空间管理操作系统原理操作系统原理Principle of Operating System 精品课程精品课程 空闲空间是指磁盘中那些没有使用的空间,系统在建立文
46、件时的首要任务就是在空闲空间中为文件分配磁盘块,所以系统必须记录下空闲空间(Free Space)的使用情况,当需要在磁盘中建立文件时,就从这些空闲空间中找到合适的磁盘块分配给文件。操作系统原理操作系统原理Principle of Operating System 精品课程精品课程1 1位示图位示图 磁盘中的每一个磁盘块都用一个二进制来表示它是否空闲,如果该磁盘块已经被分配,则用“1”来表示;如果该磁盘块空闲,则用“0”来表示。这样,由所有磁盘块的二进制标识所组成的集合就称为位示图,或位向量。0 1 1 1 0 1 1 1 1 1 0 0 1 11 0 0 1 1 1 0 0 0 0 0 1
47、0 1 0 1 0 0 0 1 1 1 0 1 0 11 0 1 0 1 0 1 1 1 1 0 1 0 0 0 0 1 0 1 1 1 操作系统原理操作系统原理Principle of Operating System 精品课程精品课程2 2空闲表空闲表 系统进行辅存的文件分配时尽量分配连续空间,所以空闲的磁盘块大多都是连续的,系统建立一个空闲表,记录每个空闲块的起始块号和长度。利用空闲表管理空闲空间的方法,与内存管理中的可变分区管理方法类似。在分配磁盘块时可采用最先适应算法、最佳适应算法和最坏适应算法。回收时,将空闲空间插入空闲表中,并记录起始磁盘号及长度。如果两个空闲空间是相邻的,则要对
48、它们进行合并。操作系统原理操作系统原理Principle of Operating System 精品课程精品课程3 3空闲链表空闲链表 空闲链表方式是将所有的空闲空间用指针链接起来,并设一个头指针指向空闲链表的第一个磁盘块。在系统建立一个新文件时,可通过这个头指针来查找合适数量的空闲块,将它们从链表中断开分配给文件。删除文件时,将需要释放的磁盘块插入到空闲链表的合适位置。空闲链表的缺点:缺点:空闲链表方式在分配磁盘块时,要多次进行磁盘的I/O操作,效率很低。并且每个磁盘块要有一个指针,指向下一个空闲块就要浪费一定的磁盘空间。操作系统原理操作系统原理Principle of Operating System 精品课程精品课程操作系统原理操作系统原理Principle of Operating System 精品课程精品课程作作 业业习题六(习题六(P254)1、3、4、5、8、9操作系统原理操作系统原理Principle of Operating System 精品课程精品课程谢谢!