您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > Linux操作系统原理与应用教学课件ppt作者张玲第1-6章第6章
第6章文件管理第6章文件管理6.1文件管理概述6.2Linux文件系统6.3Ext2文件系统6.4虚拟文件系统习题第6章文件管理6.1文件管理概述6.1.1文件与文件系统1.文件文件是具有名字的一组相关信息的有序集合,存放在外部存储器中。文件的名字称为文件名,它是文件的标识。文件的信息可以是各种各样的,一个程序、一批数据、一张图片、一段视频等都可以作为文件的内容。文件的存储空间是具有长久记忆特性的外部存储器(如磁盘、磁带等),因而文件是可以长久保存的信息形式。所有需要在系统关机后仍能保留的信息都应以文件的形式存在。第6章文件管理2.文件系统文件系统是操作系统的一个重要组成部分,它负责管理系统中的文件,为用户提供使用文件的操作接口。文件系统由实施文件管理的软件和被管理的文件组成。文件系统软件属于系统内核代码,文件则按特定的格式存放在磁盘分区中。文件系统通常以磁盘分区划分,每个分区对应一个独立的文件系统。归纳起来,文件系统的功能包括以下几项:●实现文件的“按名存取”,包括按名建立、读/写、检索、修改、删除文件等操作。●管理分区存储空间,实施存储空间的分配、回收与重组。●实现对文件的共享、保密和保护措施。●提供文件访问接口。第6章文件管理3.文件的描述为了实施和控制对文件的各种访问操作,文件系统为每个文件都建立了一个文件控制块(FileControlBlock,FCB)。文件的FCB的作用类似于进程的PCB,它记录了文件的使用者和管理者所关心的所有信息,包括文件名、属主、文件大小、物理存储位置、修改和访问时间、存取权限等。当用户创建一个新文件时,文件系统就为这个文件建立起一个FCB。随着文件的操作,FCB的内容也相应地变化。当文件被删除时,它的FCB也就消失了。第6章文件管理4.文件目录计算机系统中通常存有大量的文件,系统须采用某种有效的形式来组织和管理这些文件。由于文件与文件的FCB一一对应,因此,管理文件就是管理文件的FCB。文件系统采用目录来组织文件。目录是FCB的有序集合,通过目录将所有的FCB分层分类地组织在一起,方便了文件的检索操作。由于目录的信息是需要长久保存的,所以目录也需以文件的形式存在。为此,系统定义了一种特殊的文件——目录文件,其内容是一组FCB构成的文件列表,每个表项是一个文件的FCB,在目录里就称为目录项了。由于目录本身也是文件,因此目录的FCB也可以作为另一个目录中的目录项,从而构成目录的层次关系。第6章文件管理目录的主要功能是实现文件的“按名存取”,即用户只需提供文件名就可以对文件进行各种操作。目录实现了文件名到文件物理存放位置的映射。目录的另一个功能是合理地组织文件。现在,几乎所有的操作系统都采用树形目录结构,就是将文件分层分类地组织成一个树状结构,从根目录开始向下延伸。树形目录结构的特点是层次清楚,便于文件分类管理,可加快文件的检索速度。另外,树形目录还允许文件重名,即只要文件不在同一目录下便可以使用相同的名字。第6章文件管理5.文件的结构文件结构是文件内容的组织方式。从不同层面上看到的文件结构有所不同。图6-1所示是文件在三个不同抽象层次上的结构。第6章文件管理图6-1文件的结构第6章文件管理第6章文件管理1)文件的格式终端用户是通过应用程序来使用文件的,从他们的角度看到的是文件的应用结构,也就是文件的格式。文件的格式由处理文件的应用程序定义和使用,通常以后缀名相区分。如“.doc”文件是由Word程序使用的格式,“.bmp”是图片处理程序使用的格式。根据文件格式的结构类型,文件大致可分为结构化文件(如列表文件、数据库文件等)、半结构化文件(如Web文档、图片、图像等)和无结构文件(如纯文本文件等)。第6章文件管理2)文件的逻辑结构文件的逻辑结构是文件系统的直接用户(也就是应用程序)所看到的文件结构。文件的逻辑结构取决于文件系统接口的设计,它决定了文件存取的方式。应用程序按逻辑结构访问文件系统中的文件,并在此基础上构造出各种应用结构呈现给应用程序的用户。也就是说,应用程序负责文件的格式与逻辑结构之间的映射。文件的逻辑结构有记录式文件和流式文件两种,具体介绍见6.1.2小节。第6章文件管理3)文件的物理结构文件的物理结构又称为存储结构,是指文件在外存上的存储组织形式。文件系统负责文件的逻辑结构与物理结构之间的映射。文件的物理结构分为连续文件、链接文件和索引文件3种,具体介绍见6.1.3小节。操作系统所关心的是文件的逻辑结构与物理结构。逻辑结构是供文件系统的用户使用的,物理结构是文件系统内部使用的。将逻辑结构与物理结构相区分,是为了向用户屏蔽有关文件存储的细节,使用户可以只凭简单的逻辑结构来使用文件。第6章文件管理6.1.2文件的逻辑结构与存取方式1.文件的逻辑结构文件的逻辑结构是从文件的使用者角度所看到的文件信息的组织形式,它独立于文件的物理存储特性。文件的逻辑结构主要分为两种类型:一种是记录式文件,另一种是流式文件。第6章文件管理1)记录式文件记录式文件由若干记录组成,记录具有固定的长度和一致的内部结构,其中有一个用于标识记录的记录号字段。用户程序预先定义好文件记录的格式,文件系统就按此格式创建文件。访问文件时要向文件系统提供记录号,文件系统则以记录为单位进行文件的定位和读/写。记录式文件是结构化的文件,它就像一张表格,用户程序要按预先规定的格式填写数据和读取数据,使用起来不够灵活,也不便于构造不规则的应用格式。另外,记录的大小与存储块的大小难以匹配,读/写操作的复杂度较高。由于这些原因,记录式文件已渐被淘汰。第6章文件管理2)流式文件流式文件是由字节序列组成的文件,是无结构的文件。用户程序访问文件时只要指定文件的偏移位置和要读/写的字节数,文件系统即可方便地存取指定部分的文件内容。流式文件就像一张白纸,没有任何格式上的限制。用户程序可任意地在字节流上构造自己的应用格式。写文件时,用户程序按自己定义的结构来组织数据,然后把它们作为字节流写入文件;读文件时,将读出的字节流再解释成自己使用的结构。因此说,无结构实际上就是不限制结构的意思,这为应用程序提供了很大的灵活性,同时又简化了文件系统的操作。所以现代流行的操作系统,如Unix、Linux、Windows、OS/2等均采用流式文件作为文件的逻辑结构。第6章文件管理2.文件的操作对文件的操作主要有建立/删除、打开/关闭、读/写、修改属性等。建立文件时用户要为文件指定一个文件名,文件系统以文件名为标识建立文件的FCB,并为文件分配存储空间等资源。删除文件的操作与此相反,用户指定要删除的文件名,文件系统删除该文件的FCB,并释放其占用的存储空间等资源。对文件的读/写操作都要经过文件的FCB来进行。由于FCB存放在外存空间中,如果每次读/写文件都要访问外存FCB的话,存取速度将很低。因此在对文件进行任何读/写操作前,需要先打开文件。打开文件就是在内存中生成文件的FCB,并返回一个标识其内存FCB的文件标识符,随后的读/写操作将通过此文件标识符进行。所有读/写完成后应关闭文件。关闭文件操作将内存FCB的内容写回外存FCB,回收文件描述符,并删除内存中的文件FCB。第6章文件管理3.文件的存取方式不论是记录式文件还是流式文件,其逻辑结构都是一维的,但存取方式有所不同。这里针对流式文件的存取方式介绍如何根据逻辑结构存取文件。存取文件指的是对文件的读/写操作。每个打开的文件都有一个指示读/写位置的指针offset,如图6-2所示。文件刚打开时,读/写位置位于文件头0字节处。每次读/写文件时(比如用C函数read()和write()等),根据给定的长度参数读/写count个字节,完成后位置指针会自动移到读/写完的位置之后,这样下次读/写就接着本次的位置顺序地进行下去。必要时,也可以通过设置读/写位置指针来改变读/写的次序。例如,需要追加写入时,需先将位置指针定位到文件尾。应用程序对流式文件的存取方式有两种,即顺序存取和随机存取。第6章文件管理图6-2流式文件的存取第6章文件管理1)顺序存取顺序存取就是从文件头开始顺序地访问文件的每一段信息,直到文件尾。应用程序在加载、保存、传输文件时,或对文件做某些过滤性处理时,都要对文件进行顺序存取操作。顺序存取的通常做法是在一个循环中调用文件读/写函数,直到遇到文件结束符(EOF)。第6章文件管理2)随机存取随机存取也称为直接存取,就是从文件的指定位置开始存取一段数据。很多应用场合需要随机存取,例如,数据库管理程序从数据库表文件中读取或修改一个记录就是一种随机存取。随机存取的方法是:先将读/写指针定位到文件的指定位移处(比如用C函数lseek()等),然后从此位置开始存取指定字节数的一段数据。第6章文件管理6.1.3文件的物理结构与存储方式文件的物理结构是文件在外存中的组织和存放形式,是文件系统底层所使用的文件结构。文件的物理结构与存储介质的物理特性有关。在介绍文件的物理结构之前有必要了解一些存储设备的知识和存储空间的结构。文件的存储设备包括磁带、磁盘、闪存、光盘等,典型的存储设备是磁盘。下面简单介绍磁盘的物理结构及磁盘空间的逻辑结构。第6章文件管理1.磁盘的物理结构磁盘的结构如图6-3所示。磁盘由一组盘片组成,每个盘片有两个盘面,在对磁盘进行物理格式化时,在盘面上划分出多个同心圆,称为磁道(track)。所有盘面的相同位置的磁道组成的圆柱体,称为柱面(cylinder)。每个磁道又划分为多个弧段,称为扇区(sector),通常的大小是512字节。扇区是磁盘的物理块,是磁盘上可寻址的最小存储单位。文件的数据就存储在一系列扇区中。第6章文件管理图6-3磁盘结构示意图(上为俯视图,下为侧视图)旋转移动磁头扇区磁道柱面第6章文件管理磁盘在启动后高速旋转。每个磁面上有一个磁头,可以在不同磁道之间来回移动。扇区的定位参数有三个,即柱面号、磁头号和扇区号。访问磁盘时,先将磁头移动到指定的柱面上,等待要访问的扇区转到磁头下,然后指定的磁头开始读/写数据。第6章文件管理2.磁盘空间的逻辑结构由于磁盘是高速设备,一次读/写操作可以同时访问多个相邻的扇区(通常是在同一柱面上)。因此,文件系统在读/写磁盘时不是以扇区为单位,而是以块为单位的。块(block)由若干个相邻的扇区组成,它是对存储空间的逻辑划分。块的大小依赖于文件系统的设置和磁盘容量,但必须是扇区大小的2的整数倍,并且要小于内存页帧的大小。通常块的大小是512 B、1 KB或4 KB。在文件系统看来,磁盘的存储空间是由许多在逻辑上连续的块组成的,它们从0到n编号,如图6-4所示。文件系统以块为单位保存文件数据,也以块为单位传输数据。所以称这类存储设备为块设备。访问文件时,只要指定块号即可,不必关心它对应的扇区的位置,磁盘驱动程序会进行逻辑块到物理块(扇区)的转换。第6章文件管理图6-4磁盘存储空间的逻辑结构第6章文件管理3.文件的物理结构文件的物理结构主要有3种:连续文件、链接文件和索引文件。1)连续文件连续文件的存储方案是将文件的内容按逻辑顺序存放在连续的存储块中,这是最简单的存储分配方案,如图6-5所示。假设磁盘空间采用4K大小的块,文件A的大小为25K,系统为它分配了连续的7块。文件B的大小为10K,系统为它分配了连续的3块。它们的存储空间是连续的,起始块号和占用的块数都记录在它们各自的目录项中。第6章文件管理图6-5连续文件的存储结构示意图第6章文件管理连续存储方案的优点是简单、存取速度快。由于文件内容是连续存放的,访问时磁头移动较少,因而无论顺序存取还是随机存取,其性能都很好。它的缺点之一是限制了文件的动态增长。另一个缺点是磁盘碎片问题,即经过一系列的文件空间分配和回收操作后,空闲空间逐渐变得支离破碎,无法容纳新文件。磁盘碎片降低了外存空间的利用率,需要经常进行磁盘压缩整理。由于这些缺点,连续文件不适合用于磁盘等直接存取设备。它主要用于在顺序存取设备(如磁带)或只读存储设备(如只读光盘)上存储文件。第6章文件管理2)链接文件链接文件的存储思想是:文件内容可以存放
本文标题:Linux操作系统原理与应用教学课件ppt作者张玲第1-6章第6章
链接地址:https://www.777doc.com/doc-3871342 .html