OS2013_UNIT8文件与文件系统_第1页
OS2013_UNIT8文件与文件系统_第2页
OS2013_UNIT8文件与文件系统_第3页
OS2013_UNIT8文件与文件系统_第4页
OS2013_UNIT8文件与文件系统_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Unit 8操作系统原理操作系统原理冯耀霖冯耀霖文件管理之一文件管理之一内容内容文件管理的对象文件管理的对象文件文件文件系统文件系统1 计算机系统的重要作用之一就是能够存储并处理大量计算机系统的重要作用之一就是能够存储并处理大量的各种各样的数据,由于内存容量有限且不能持久保存数的各种各样的数据,由于内存容量有限且不能持久保存数据,故而平时总是把各种数据以据,故而平时总是把各种数据以“文件文件”的形式存放在大的形式存放在大容量的且可持久保存数据的磁盘等外存介质中,需要时再容量的且可持久保存数据的磁盘等外存介质中,需要时再随时将它们调入内存由随时将它们调入内存由CPU进行处理。因此,除了进行处理。

2、因此,除了CPU和内存之外,外存(特别是高速的磁盘)也是现代计算机和内存之外,外存(特别是高速的磁盘)也是现代计算机系统的关键资源,对外存资源的管理当然也是操作系统的系统的关键资源,对外存资源的管理当然也是操作系统的核心管理功能之一。核心管理功能之一。我们说,操作系统就像一个魔术师,他将计算机系统我们说,操作系统就像一个魔术师,他将计算机系统中的所有硬件资源变幻成了用户容易理解且使用方便的各中的所有硬件资源变幻成了用户容易理解且使用方便的各种抽象,使得用户根本无需了解这些资源的复杂且繁琐的种抽象,使得用户根本无需了解这些资源的复杂且繁琐的内部物理细节。正如进程和线程抽象的是内部物理细节。正如进

3、程和线程抽象的是CPU,虚存抽象,虚存抽象 的是内存,那么,对外存的抽象是什么呢?的是内存,那么,对外存的抽象是什么呢?操作系统对外操作系统对外存的抽象就是文件系统存的抽象就是文件系统。所以,。所以,文件系统的管理(也称文文件系统的管理(也称文件管理)的对象就是外部存储器。件管理)的对象就是外部存储器。磁盘是最常用也是最重要的外存介质,本课程讨论的磁盘是最常用也是最重要的外存介质,本课程讨论的文件管理主要是针对磁盘。其他外存介质(磁带、光盘)文件管理主要是针对磁盘。其他外存介质(磁带、光盘)的管理与磁盘管理非常类似,同学们可以很容易地推断或的管理与磁盘管理非常类似,同学们可以很容易地推断或理解

4、。理解。由于文件系统是磁盘存储器的抽象,不了解磁盘,就由于文件系统是磁盘存储器的抽象,不了解磁盘,就很难深刻理解文件系统。但本课程是介绍操作系统原理的,很难深刻理解文件系统。但本课程是介绍操作系统原理的,这里只是对磁盘进行一个简要的介绍,点到为止。这里只是对磁盘进行一个简要的介绍,点到为止。那么什么是磁盘呢?通俗地讲,磁盘就是形状像圆盘那么什么是磁盘呢?通俗地讲,磁盘就是形状像圆盘的磁性存储介质,具有持久存储特性。的磁性存储介质,具有持久存储特性。一块磁盘实际上并不只有一张盘片,而是由多张盘片一块磁盘实际上并不只有一张盘片,而是由多张盘片组成,每张盘片的正反两面皆可以存储数据。每个盘面上组成,

5、每张盘片的正反两面皆可以存储数据。每个盘面上都配有一个读写磁头,而所有的读写磁头连在一跟共享的都配有一个读写磁头,而所有的读写磁头连在一跟共享的磁臂上。当磁臂运动时,所有的磁头均做相同的运动。盘磁臂上。当磁臂运动时,所有的磁头均做相同的运动。盘片则以常速不停地旋转,旋转速度通常为每分钟片则以常速不停地旋转,旋转速度通常为每分钟3500转转到到10000转,即大约每转,即大约每6ms到到17ms旋转一圈。图旋转一圈。图8-1给给出的是将硬盘外壳切开一块所看到的结构。出的是将硬盘外壳切开一块所看到的结构。二进制信息记录在磁盘表面上,由二进制信息记录在磁盘表面上,由磁头磁头进行读写。进行读写。一般,

6、每个盘面对应一个磁头,该磁头由少量的空气垫层一般,每个盘面对应一个磁头,该磁头由少量的空气垫层浮起,悬浮在盘面上方约几个微米的高度。磁头在盘面上浮起,悬浮在盘面上方约几个微米的高度。磁头在盘面上的移动操作由一个的移动操作由一个“伺服机构伺服机构”负责控制。磁头可以在负责控制。磁头可以在617 ms的时间内遍历磁盘的整个活动区域,这个时间的时间内遍历磁盘的整个活动区域,这个时间与磁盘旋转一圈的时间一样。不管一个磁盘驱动系统有多与磁盘旋转一圈的时间一样。不管一个磁盘驱动系统有多少个读写磁头、多少磁道,或多少盘面,在任何时候只能少个读写磁头、多少磁道,或多少盘面,在任何时候只能有一个磁头处于活动状态

7、。有一个磁头处于活动状态。磁表面由若干同心圆组成,称为磁表面由若干同心圆组成,称为磁道磁道,最外一条磁,最外一条磁道为道为0号磁道。不同盘面上的相同磁道构成一个号磁道。不同盘面上的相同磁道构成一个柱面柱面,并,并被赋予一个柱面号,也就是磁道号。被赋予一个柱面号,也就是磁道号。每条磁道又等分为若干每条磁道又等分为若干扇区扇区,扇区是磁盘存储信息,扇区是磁盘存储信息的最小物理单位,也是磁盘的最小物理单位,也是磁盘I/O的最小单位,当前的扇区的最小单位,当前的扇区容量通常为容量通常为1KB4KB。通常说的。通常说的“盘块盘块”就是指扇区。就是指扇区。除此之外,一块磁盘还含有信号界面电子系统。通过除此

8、之外,一块磁盘还含有信号界面电子系统。通过这些电路和电子系统,得以将系统用户与系统的运作原理这些电路和电子系统,得以将系统用户与系统的运作原理隔离开来。例如,对于一个磁盘驱动器用户来说,他无需隔离开来。例如,对于一个磁盘驱动器用户来说,他无需了解磁性表面上数据字位的读写操作是如何完成的。现代了解磁性表面上数据字位的读写操作是如何完成的。现代的磁盘都带有一个微控制器,如的磁盘都带有一个微控制器,如IDE磁盘。这种磁盘提供磁盘。这种磁盘提供较为复杂的功能,如纠错、数据分拆与组装、磁盘调度等。较为复杂的功能,如纠错、数据分拆与组装、磁盘调度等。也有的磁盘非常简单,仅仅提供字位流的读写,而其他复也有的

9、磁盘非常简单,仅仅提供字位流的读写,而其他复杂的功能则交给集成在计算机主板上的设备控制器来做。杂的功能则交给集成在计算机主板上的设备控制器来做。图图8-1 磁盘的物理结构磁盘的物理结构 扇区扇区磁头磁头磁头磁头移动臂移动臂柱面柱面磁道磁道图图8-2 磁盘内部结构图示磁盘内部结构图示磁盘的存储容量磁盘的存储容量 磁道数磁道数扇区数扇区数扇区容量扇区容量 盘面数盘面数因此,一个盘块的物理地址由三个参数唯一确定,即因此,一个盘块的物理地址由三个参数唯一确定,即盘块的物理地址是个三维地址:盘块的物理地址是个三维地址:(柱面号柱面号,盘面号盘面号,盘块号盘块号)即即(磁道号磁道号,磁头号磁头号,扇区号扇

10、区号)当今硬磁盘的容量已经达到了当今硬磁盘的容量已经达到了TB级级(1TB=1000GB),),数据传送速度可达数据传送速度可达3GB/s以上。以上。2 什么是文件什么是文件文件控制块文件控制块文件类型文件类型2.1 一个文件(一个文件(file)是可长久保存数据并可按名访问的)是可长久保存数据并可按名访问的一个磁盘(外存)存储单元。一个磁盘(外存)存储单元。我们知道,在程序设计中我们知道,在程序设计中变量是内存存储单元的抽象变量是内存存储单元的抽象。内存单元的基本单位是字节,内存单元的基本单位是字节,变量名其实就是内存单元的变量名其实就是内存单元的地址地址,也就是该内存单元首字节的物理编号。

11、内存单元的,也就是该内存单元首字节的物理编号。内存单元的大小(所占字节数)由变量的数据类型所确定,例如,字大小(所占字节数)由变量的数据类型所确定,例如,字符型变量是个单字节内存单元,整型变量是个符型变量是个单字节内存单元,整型变量是个4字节内存字节内存单元等。单元等。变量值就是存放在该内存单元里的数据变量值就是存放在该内存单元里的数据。文件则是操作系统对磁盘存储单元的抽象文件则是操作系统对磁盘存储单元的抽象。磁盘单元。磁盘单元的基本单位是扇区(也称盘块),的基本单位是扇区(也称盘块),文件名就是磁盘单元的文件名就是磁盘单元的地址,它被映射成磁盘单元的物理地址地址,它被映射成磁盘单元的物理地址

12、(由柱面号、磁头(由柱面号、磁头号及扇区号构成的三维地址)。号及扇区号构成的三维地址)。与变量不同的是:与变量不同的是:通常变量对应的内存单元的大小由数据类型确定而且通常变量对应的内存单元的大小由数据类型确定而且是不变的;而是不变的;而文件对应的磁盘单元的大小是不确定的和可文件对应的磁盘单元的大小是不确定的和可变的,变的,一个文件可包含一个或多个盘块,而且在文件的使一个文件可包含一个或多个盘块,而且在文件的使用过程中,文件可动态地增长和缩小。用过程中,文件可动态地增长和缩小。文件与变量不同的另一点是:变量是属于进程的,变文件与变量不同的另一点是:变量是属于进程的,变量是在进程运行中建立的,一旦

13、该进程运行结束,变量也量是在进程运行中建立的,一旦该进程运行结束,变量也就随之消失;而就随之消失;而文件是属于用户的,文件由用户进程创建,文件是属于用户的,文件由用户进程创建,该用户进程运行结束而被撤消但文件依然存在,创建文件该用户进程运行结束而被撤消但文件依然存在,创建文件的用户可长久拥有他所创建的文件的用户可长久拥有他所创建的文件,即文件可长久存在而即文件可长久存在而不会自动消失,不会自动消失,而且归属某用户的文件可被该用户创建的而且归属某用户的文件可被该用户创建的其他进程所使用,甚至可以被授权给其他用户的进程其他进程所使用,甚至可以被授权给其他用户的进程 所使用。所使用。与变量一样,每个

14、文件都需要用一个符号名(文件名)与变量一样,每个文件都需要用一个符号名(文件名)来标识,它可以是英文名或中文名,也可以是图像名(图来标识,它可以是英文名或中文名,也可以是图像名(图标)。标)。文件名命名规则随系统而异,通常规定了构成文件名文件名命名规则随系统而异,通常规定了构成文件名的可用字符集以及文件名的最大长度。早期的操作系统通的可用字符集以及文件名的最大长度。早期的操作系统通常将文件名限制在常将文件名限制在8个字符之内,并且只能使用字符集的个字符之内,并且只能使用字符集的一一部分作为文件名的构成,例如,空白符不能出现在文一一部分作为文件名的构成,例如,空白符不能出现在文件名内。现代的操作

15、系统则允许文件名长度达到件名内。现代的操作系统则允许文件名长度达到255个字个字符,且允许使用的字符集也扩大了许多。符,且允许使用的字符集也扩大了许多。现代操作系统一般都支持主辅名的文件名结构,即一现代操作系统一般都支持主辅名的文件名结构,即一个文件名由主文件名和辅助文件名(也称扩展名)两部分个文件名由主文件名和辅助文件名(也称扩展名)两部分组成,其间用圆点分隔。扩展名用于表明文件的类型。例组成,其间用圆点分隔。扩展名用于表明文件的类型。例如:如:file1.txt表示该文件是个文本文件,表示该文件是个文本文件,file2.c表示该文表示该文件是件是C源程序文件,源程序文件,file3.exe

16、表示这是个可执行文件。表示这是个可执行文件。需要注意的是,扩展名对文件类型的标识仅仅是指示需要注意的是,扩展名对文件类型的标识仅仅是指示性的,并不具有强制性。例如,在性的,并不具有强制性。例如,在UNIX/Linux下,扩展下,扩展名仅仅用来提醒用户,系统其实并不遵守,即只要一个文名仅仅用来提醒用户,系统其实并不遵守,即只要一个文件是可执行文件,即使其扩展名不是件是可执行文件,即使其扩展名不是.exe,该文件也能,该文件也能在在UNIX/Linux下执行。但有些操作系统对扩展名进行了下执行。但有些操作系统对扩展名进行了强制服从,即扩展名必须和文件类型相同,否则无法使用。强制服从,即扩展名必须和

17、文件类型相同,否则无法使用。例如例如Windows,如果一个文件的扩展名不是,如果一个文件的扩展名不是.exe、.com、.bat,则该程序无法执行,即使该文件确确实实,则该程序无法执行,即使该文件确确实实是一个可执行文件。是一个可执行文件。2.2 文件控制块文件控制块由文件的特性,管理文件(磁盘存储单元)比管理变由文件的特性,管理文件(磁盘存储单元)比管理变量(内存存储单元)要复杂得多。为此,操作系统定义了量(内存存储单元)要复杂得多。为此,操作系统定义了一种管理文件的专门数据结构一种管理文件的专门数据结构文件控制块文件控制块,每个文件,每个文件配置有一个文件控制块。配置有一个文件控制块。

18、文件控制块文件控制块(FCB,File Control Block)是文件特是文件特性的抽象描述,集中定义了文件的各种静态和动态属性。性的抽象描述,集中定义了文件的各种静态和动态属性。FCB一般包含有如下一般包含有如下6个方面的信息:个方面的信息:文件标识文件标识:文件名(由文件创建者给定)。:文件名(由文件创建者给定)。文件类型文件类型:如普通文件、目录文件、设备文件等。:如普通文件、目录文件、设备文件等。文件建立属性文件建立属性:如文件主标识:如文件主标识uid、创建进程的、创建进程的pid、建立的日期和时间建立的日期和时间物理属性物理属性:如卷标识:如卷标识vid(指示该文件所属设备)、

19、(指示该文件所属设备)、文件的大小(盘块数)、文件的物理地址及文件的长度文件的大小(盘块数)、文件的物理地址及文件的长度(文件中数据流的长度,字节数)。(文件中数据流的长度,字节数)。共享和保护属性:共享和保护属性:如,授权的用户和用户组、访问如,授权的用户和用户组、访问权限、密码。权限、密码。其他属性:其他属性:如,最近的访问时间、最近的修改时间、如,最近的访问时间、最近的修改时间、保留期限、锁标志。保留期限、锁标志。文件属性中的个别属性是不可显示的或透明的,如密文件属性中的个别属性是不可显示的或透明的,如密码和文件的物理地址。大部分属性都是可显示和查看的。码和文件的物理地址。大部分属性都是

20、可显示和查看的。有些属性值是由系统自动更新的,如文件的大小、文件的有些属性值是由系统自动更新的,如文件的大小、文件的长度、最近访问时间和最近修改时间。有些属性可以由文长度、最近访问时间和最近修改时间。有些属性可以由文件主和被赋予特权的用户(如系统管理员)进行配置和更件主和被赋予特权的用户(如系统管理员)进行配置和更新,如授权的用户和用户组及其访问权限。新,如授权的用户和用户组及其访问权限。在在UNIX和和Linux中,中,FCB被称作被称作索引节点索引节点( index node),简称,简称 i 节点。节点。实际上,实际上,文件就是操作系统定义的一种抽象数据类型文件就是操作系统定义的一种抽象

21、数据类型,FCB则是这种抽象数据类型的属性集合。一个文件就是则是这种抽象数据类型的属性集合。一个文件就是FCB的一个实例的一个实例。创建一个文件就是。创建一个文件就是FCB的一次实例化。的一次实例化。在创建一个文件时,在创建一个文件时,OS首先建立一个空闲的首先建立一个空闲的FCB实体;实体;然后对该然后对该FCB中的各属性值进行初始化,其中最重要的工中的各属性值进行初始化,其中最重要的工作是为该文件分配一个磁盘单元(也称文件体)。当完成作是为该文件分配一个磁盘单元(也称文件体)。当完成了该了该FCB的初始化后,一个新文件也就随之诞生了。的初始化后,一个新文件也就随之诞生了。一个文件的映象实际

22、上是由两部分所组成:文件头和一个文件的映象实际上是由两部分所组成:文件头和文件体文件体。文件头即文件头即FCB,操作系统用它来管理文件。文件,操作系统用它来管理文件。文件体则是存储数据的容器。体则是存储数据的容器。2.3 文件类型文件类型文件的分类方法很多,下面是几种常见的文件分类方文件的分类方法很多,下面是几种常见的文件分类方法。法。1. 按用途及使用权限分类按用途及使用权限分类系统文件系统文件由系统创建,用于存放操作系统及系由系统创建,用于存放操作系统及系统应用软件的信息。这类文件对用户不直接开放。统应用软件的信息。这类文件对用户不直接开放。库文件库文件由系统创建,用于存放标准子程序及常由

23、系统创建,用于存放标准子程序及常用的应用程序。这类文件允许用户使用,但用户无权修改。用的应用程序。这类文件允许用户使用,但用户无权修改。用户文件用户文件由用户创建并使用,存放各种用户信息,如由用户创建并使用,存放各种用户信息,如源程序、目标程序、计算结果、原始数据等。源程序、目标程序、计算结果、原始数据等。2. 按保存时间分类按保存时间分类临时文件临时文件在用户一次登录时段中建立的用于保在用户一次登录时段中建立的用于保存临时信息的文件,当用户退出系统时,这类文件也被随存临时信息的文件,当用户退出系统时,这类文件也被随之撤消。之撤消。永久文件永久文件要长期保存的文件。要长期保存的文件。3. 按保

24、护方式分类按保护方式分类只读文件只读文件只允许对其执行读操作。只允许对其执行读操作。读写文件读写文件既允许对其执行读操作,也允许对其既允许对其执行读操作,也允许对其执行写操作。执行写操作。可执行文件可执行文件存放的是可执行程序,包括二进制存放的是可执行程序,包括二进制代码程序和脚本程序。二进制代码程序通常是不可读写的,代码程序和脚本程序。二进制代码程序通常是不可读写的,脚本程序则是可读写的。脚本程序则是可读写的。4. 按管理方式分类按管理方式分类普通文件普通文件普通文件即数据文件,用来保存各种普通文件即数据文件,用来保存各种数据。它可进一步分为数据。它可进一步分为文本文件文本文件和和二进制文件

25、二进制文件两类。文本两类。文本文件即文件即ASCII码文件,任何编辑器都可以打开这种文件对码文件,任何编辑器都可以打开这种文件对其进行读写,如源程序文件、脚本文件、字处理文档文件。其进行读写,如源程序文件、脚本文件、字处理文档文件。二进制文件是经过编码处理的文件,普通编辑器打不开,二进制文件是经过编码处理的文件,普通编辑器打不开,必须用专门的应用软件才能打开,如经编译连接后生成的必须用专门的应用软件才能打开,如经编译连接后生成的可执行程序文件、多媒体文件,加密文件等。可执行程序文件、多媒体文件,加密文件等。目录文件目录文件专门存放目录信息的文件。一个文件专门存放目录信息的文件。一个文件目录(也

26、称目录(也称文件夹文件夹folder)是文件系统分层结构中某个层)是文件系统分层结构中某个层次中所含文件的清单,用于实现文件名到文件物理地址的次中所含文件的清单,用于实现文件名到文件物理地址的映射,其作用就如同一本书中的目录一样。每个文件在文映射,其作用就如同一本书中的目录一样。每个文件在文件目录里都对应有一个目录项,目录项内容实际上就是件目录里都对应有一个目录项,目录项内容实际上就是FCB,换言之,一个文件目录就是若干文件的,换言之,一个文件目录就是若干文件的FCB的集合。的集合。文件目录是操作系统管理文件系统的核心数据结构,也是文件目录是操作系统管理文件系统的核心数据结构,也是用户使用文件

27、的基本界面。数据交换时就以该文件来替代。用户使用文件的基本界面。数据交换时就以该文件来替代。例如,在例如,在Linux下往下往lp1文件写数据就相当于在行式打印文件写数据就相当于在行式打印机机1上打印数据。通过特殊文件,输入输出和文件系统就上打印数据。通过特殊文件,输入输出和文件系统就统一了。统一了。也许有人会问,输入输出设备还能用文件替代?当然,也许有人会问,输入输出设备还能用文件替代?当然,文件系统其实就是为磁盘提供的抽象。而磁盘就可以看作文件系统其实就是为磁盘提供的抽象。而磁盘就可以看作是输入输出设备,既然可以对磁盘提供一个抽象,为什么是输入输出设备,既然可以对磁盘提供一个抽象,为什么就

28、不能为其他的输入输出设备提供一种抽象呢?就不能为其他的输入输出设备提供一种抽象呢?3 文件卷文件卷文件系统格式文件系统格式常见的文件系统常见的文件系统文件系统是操作系统对磁盘存储器的抽象文件系统是操作系统对磁盘存储器的抽象,是磁盘存,是磁盘存储器与用户及用户进程之间的一个界面。它使磁盘空间变储器与用户及用户进程之间的一个界面。它使磁盘空间变得容易使用,用户可以根据需要建立自己的文件,并可以得容易使用,用户可以根据需要建立自己的文件,并可以按名访问各种文件,从而将用户从数据存放磁盘的细节中按名访问各种文件,从而将用户从数据存放磁盘的细节中解放出来。解放出来。3.1 文件卷文件卷一个文件卷(一个文

29、件卷(volume)是一个格式化了的独立的外)是一个格式化了的独立的外存介质单位。存介质单位。独立的外存介质单位如:一张光盘片,一卷磁带,一独立的外存介质单位如:一张光盘片,一卷磁带,一个硬磁盘、一个可移动磁盘及一个个硬磁盘、一个可移动磁盘及一个U盘。对于硬盘来说,盘。对于硬盘来说,硬盘上的每个分区(如硬盘上的每个分区(如Windows的的C盘、盘、D盘、盘、E盘等)盘等)也是一个独立的卷。也是一个独立的卷。那么,为什么要对硬盘进行分区呢?那么,为什么要对硬盘进行分区呢?分区的理由多种多样。首先,分区可以方便我们对磁分区的理由多种多样。首先,分区可以方便我们对磁盘的使用,因为不同的分区可以建立

30、不同的文件系统;其盘的使用,因为不同的分区可以建立不同的文件系统;其次,分区有安全性上的优势,因为一个分区毁坏了,其他次,分区有安全性上的优势,因为一个分区毁坏了,其他分区仍然可以使用;再次,分区还有可靠性上的优势,因分区仍然可以使用;再次,分区还有可靠性上的优势,因为一个分区染毒不影响其他分区的正常使用。这些分区理为一个分区染毒不影响其他分区的正常使用。这些分区理由虽然是好的理由,但都不是必须分区的理由。由虽然是好的理由,但都不是必须分区的理由。必须分区的理由是对磁盘空间的使用。计算机的内存必须分区的理由是对磁盘空间的使用。计算机的内存字的长度通常有限,而磁盘地址需要存放在内存字里面。字的长

31、度通常有限,而磁盘地址需要存放在内存字里面。这样,操作系统能够访问的磁盘地址数量就是一个有限数,这样,操作系统能够访问的磁盘地址数量就是一个有限数,这个有限数将限制操作系统能够访问的磁盘空间大小,如这个有限数将限制操作系统能够访问的磁盘空间大小,如果一个磁盘容量超过这个上限,多余的空间将无法被访问。果一个磁盘容量超过这个上限,多余的空间将无法被访问。例如,假定内存字的长度为例如,假定内存字的长度为16位,这样操作系统能够表位,这样操作系统能够表示的磁盘地址数为示的磁盘地址数为216,也就是,也就是65536个磁盘地址。又假个磁盘地址。又假定盘块(每个地址)的大小为定盘块(每个地址)的大小为1K

32、B,则操作系统能够访问,则操作系统能够访问的最大磁盘空间为的最大磁盘空间为64MB。当然,我们可以加大盘块的尺寸使得能够访问的按空当然,我们可以加大盘块的尺寸使得能够访问的按空间增大。但这样带来的坏处是磁盘空间的浪费,因为很多间增大。但这样带来的坏处是磁盘空间的浪费,因为很多文件占不到一个盘块。再说,即使这样,也不过增大能访文件占不到一个盘块。再说,即使这样,也不过增大能访问的磁盘空间,并不能从根本上解决问题。但如果使用分问的磁盘空间,并不能从根本上解决问题。但如果使用分区,则可以将磁盘分解为大小为区,则可以将磁盘分解为大小为64MB的多个分区,这样的多个分区,这样整个磁盘就都可以被访问到。整

33、个磁盘就都可以被访问到。3.2 文件系统格式文件系统格式我们知道,任何文件卷必须格式化后才能使用。我们知道,任何文件卷必须格式化后才能使用。所谓所谓格式化格式化,就是在该文件卷上建立文件系统,即就是在该文件卷上建立文件系统,即按文件系统定义的空间分布和组织结构划分文件卷。按文件系统定义的空间分布和组织结构划分文件卷。下面以磁盘为例。下面以磁盘为例。(1)磁盘文件系统的整体格式磁盘文件系统的整体格式一个磁盘分解为一个个扇区(盘块),编号从一个磁盘分解为一个个扇区(盘块),编号从0开始开始递增。第递增。第0#盘块在整个文件系统中具有重要意义,它存盘块在整个文件系统中具有重要意义,它存放的是放的是主

34、引导记录主引导记录(Master Boot Record,MBR),),MBR被用来启动计算机。如果被用来启动计算机。如果0#盘块损坏,则整个磁盘盘块损坏,则整个磁盘就无法使用。就无法使用。在在MBR后面紧接着的是后面紧接着的是磁盘分区表磁盘分区表。磁盘分区表里。磁盘分区表里给出的是磁盘的所有分区,以及每个分区的物理位置和大给出的是磁盘的所有分区,以及每个分区的物理位置和大小信息(包括起始地址、终结地址、盘块数)。各分区中小信息(包括起始地址、终结地址、盘块数)。各分区中有一个为有一个为主分区主分区(根卷),操作系统就装载在这个分区里。(根卷),操作系统就装载在这个分区里。主分区里的第一个盘块

35、中存放的是主分区里的第一个盘块中存放的是Boot Record(引导(引导记录)。只有主分区里设置有记录)。只有主分区里设置有Boot Record。在计算机启动时,处于主板在计算机启动时,处于主板ROM里的里的BIOS首先运行。首先运行。BIOS在进行一些基本的系统配置扫描后对磁盘的在进行一些基本的系统配置扫描后对磁盘的0#盘块盘块进行读操作,将进行读操作,将MBR里的引导程序读到内存并运行。里的引导程序读到内存并运行。MBR找到系统主分区,并将主分区里的找到系统主分区,并将主分区里的Boot Record加加载到内存运行。载到内存运行。Boot Record负责找到操作系统映象并负责找到操

36、作系统映象并加载到内存,从而启动操作系统。加载到内存,从而启动操作系统。所有的文件系统都必须所有的文件系统都必须按照这种格式布局,操作系统才能正常启动按照这种格式布局,操作系统才能正常启动。(2)分区文件系统格式分区文件系统格式 各磁盘分区上的文件系统格式因文件系统的不同而异。各磁盘分区上的文件系统格式因文件系统的不同而异。下面是下面是Linux支持的支持的EXT2文件系统的格式:文件系统的格式:引导块引导块:只有主分区的第一个盘块里设置有:只有主分区的第一个盘块里设置有Boot Record。其他分区的第一个盘块都不用。其他分区的第一个盘块都不用。超级块超级块:各分区的第二个盘块是超级块(:

37、各分区的第二个盘块是超级块(super block),也称卷控制块),也称卷控制块(VCB),它记录着本文件系统的,它记录着本文件系统的各种参数,如:卷标识符、文件系统类型、盘块的大小、各种参数,如:卷标识符、文件系统类型、盘块的大小、本系统总块数等。本系统总块数等。空区管理块空区管理块:内中设置有空闲块管理结构。:内中设置有空闲块管理结构。 i 节点区节点区:集中存放本文件系统中的所有:集中存放本文件系统中的所有i节点节点(即(即FCB)。)。根目录区根目录区:存放本文件系统的根目录。:存放本文件系统的根目录。 文件区文件区:本文件系统的所有文件都建立在该空间:本文件系统的所有文件都建立在该

38、空间中。中。 现代通用操作系统可同时支持多种不同的文件系统,现代通用操作系统可同时支持多种不同的文件系统,在不同的文件卷上运行不同的文件系统。在不同的文件卷上运行不同的文件系统。例如,例如,Windows同时支持同时支持FAT文件系统、文件系统、NTFS文件文件系统及系统及NFS文件系统;文件系统;Linux同时支持同时支持EXT2文件系统、文件系统、EXT3文件系统、文件系统、NFS文件系统等。文件系统等。MBR分区表分区表分区分区1 1(主分区)(主分区)分区分区2 2分区分区n n整块磁盘整块磁盘引导记录引导记录超级块超级块空闲块管理空闲块管理i节点区节点区根目录区根目录区文件区文件区图

39、图8-3 文件系统格式示例文件系统格式示例3.3 常见的文件系统常见的文件系统EXT2这是早期大多数这是早期大多数UNIX/Linux版本的默认版本的默认文件系统,支持文件系统,支持UNIX文件类型:普通文件、目录文件、文件类型:普通文件、目录文件、特殊文件及符号连接文件。早先的特殊文件及符号连接文件。早先的EXT2支持的最大卷容支持的最大卷容量只为量只为2GB,现在已能达到,现在已能达到4TB。EXT3是对是对EXT2的扩展。的扩展。EXT2是非日志式文件是非日志式文件系统,这在一些关键行业的应用是一个不小的缺陷。系统,这在一些关键行业的应用是一个不小的缺陷。EXT3完全兼容完全兼容EXT2

40、,它们在硬盘布局上是一样的,其,它们在硬盘布局上是一样的,其差别仅在于差别仅在于EXT3多了一个日志(多了一个日志(journal)文件,用来)文件,用来记录文件系统的日志,跟踪磁盘内容的变化。记录文件系统的日志,跟踪磁盘内容的变化。FAT微软开发的文件系统。经过了从微软开发的文件系统。经过了从MS-DOS、Windows 3x、Windows 9x,到,到Windows 2000/XP的不断改进,它已发展成为包含的不断改进,它已发展成为包含FAT12、FAT16和和FAT32的庞大家族。的庞大家族。NTFS是微软为了配合是微软为了配合Windows NT的推出而设的推出而设计的文件系统,为系统提供了强大的安全性和可靠性。计的文件系统,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论