操作系统原理电子教案.ppt
《操作系统原理电子教案.ppt》由会员分享,可在线阅读,更多相关《操作系统原理电子教案.ppt(85页珍藏版)》请在三一办公上搜索。
1、第6章 文 件 管 理,6.1 文件的概念6.2 文件目录6.3 文件和目录操作6.4 文件的逻辑结构6.5 文件的物理结构6.6 文件存储空间的分配6.7 文件存储空间的管理6.8 文件系统6.9 文件的共享和保护,6.1 文件的概念,文件系统的管理功能,就是通过把计算机保存的程序和数据组织成一系列文件的方法来实现的。文件是计算机系统中信息存放的一种组织形式。在现代操作系统中,几乎都是通过文件系统来组织和管理计算机保存的大量程序和数据。,6.1.1 文件及其分类,1.文件的定义 文件是计算机系统中信息存放的一种组织形式,是在逻辑上具有完整意义的信息集合,并且有一个名字以供标识。构成文件的基本
2、单位可以是字符流,也可以是记录。据此,文件有两种有代表性定义:(1)文件是具有标识符的相关字符流的集合。说明文件是由字节组成,这是一种无结构的文件,称为流式文件,目前UNIX操作系统,MS-DOS系统均采用这种文件形式。无结构的文件由于采用字符流方式,与源程序、目标代码等在形式上是一致的,因此,该方式适用于源程序、目标代码等文件。(2)文件是具有标识符的相关记录(一个有意义的信息单位)的集合。文件是由记录组成,这是一种有结构的文件。记录是由一组相关信息项组成。例如每个学生的档案表可以视为一个记录,它包括学生姓名、出生年月、性别、籍贯等信息项,所有学生档案表组成一个学生文件。记录式文件主要用于信
3、息管理。,6.1.1 文件及其分类,2.文件的命名 文件名由创建者给定,它是由字母或数字组成的一个字符串,用来标识该文件。不同的系统对文件命名有不同的要求。例如,有些系统规定必须是字母打头且允许一些其它符号出现在文件名的非打头部分;有些系统区分文件名中的大小写字母,如UNIX和Linux系统;而有些系统则不去区分文件名中的大小写,如MS-DOS。名字的长度因系统不同而异。如在有的系统中把名字规定为8个字符,而在有的系统中规定可用14个字符。,6.1.1 文件及其分类,2.文件的命名文件名由文件名和扩展名两部分组成,中间用“.”隔开,如program.c。它们都是由字母或数字组成的字母数字串。扩
4、展名也称文件后缀,利用扩展名可以区分文件的属性。,6.1.1 文件及其分类,3.文件的分类(1)按文件的用途分类系统文件:指由操作系统及其它系统程序和数据组成的文件。这种文件不对用户开放,仅供系统使用,用户只能通过操作系统提供的系统调用来使用它们,用户没有读权限和修改权限。库文件:指系统为用户提供的各种标准函数、标准过程和实用程序等。用户只能使用这些文件,而不允许对其进行修改。用户文件:指由用户的源代码、目标文件、可执行文件或数据等所构成的文件。这种文件的使用和修改权均属于用户。,6.1.1 文件及其分类,3.文件的分类(2)按文件的操作权限分类只读文件:只允许进行读操作,不能进行写操作的文件
5、。读写文件:允许文件属主和授权用户对其进行读或写操作的文件。只执行文件:该类文件只允许授权的用户调用执行,而不允许其修改或读出文件的内容。,6.1.1 文件及其分类,3.文件的分类(3)按文件的性质分类 普通文件:指一般的用户文件和系统文件,譬如一般用户建立的源程序文件、数据文件、目标代码文件及操作系统自身代码文件、库文件、实用程序文件等都是普通文件。普通文件通常分为ASCII文件和二进制文件,一般存放在外存储设备上。目录文件:由文件目录项组成,用来管理和实现文件系统功能的系统文件,通过目录文件可以对其它文件的信息进行检索。对目录文件可以进行与普通文件一样的各种文件操作。特殊文件:指系统中的各
6、类I/O设备。为了方便统一管理,系统将所有的I/O设备都视为文件,以文件方式提供给用户使用。根据设备数据交换单位的不同,又可将特殊文件分为块设备文件和字符设备文件。前者用于磁盘、光盘等块设备的I/O操作,而后者用于终端、打印机等字符设备的I/O操作。,6.1.1 文件及其分类,3.文件的分类(4)按文件中数据的形式分类 源文件。指由源程序和数据构成的文件。通常由终端或输入设备输入的源程序和数据所形成的文件都属于源文件。它通常由ASCII码或汉字组成。目标文件。指把源程序经过相应语言的编译程序编译过,但尚未经过链接程序链接的目标代码所构成的文件。它属于二进制文件。通常,目标文件使用的后缀名是“.
7、obj”。可执行文件。指把编译后产生的目标代码再经过链接程序链接后所形成的文件。,6.1.2 文件的属性,为了对文件进行控制和管理,大多数操作系统都用一组信息来指定文件的类型、操作特性和存取保护等,这组信息称为文件的属性。文件的基本属性:文件的名称、文件的所有者、文件的授权者、文件的长度等。文件的类型属性:如普通文件、目录文件、系统文件、隐含文件、设备文件等。也可以按文件信息分为ASCII码文件、二进制码文件等。文件的保护属性:如可读、可写、可执行、可更新、可删除等,可改变保护以及档案属性。文件的管理属性:如文件的建立时间、最后存取时间、最后修改时间等。文件的控制属性:逻辑记录长、文件的大小、
8、文件的最大长度以及允许的存取方式标志、关键字的位置、关键字长度等。所有文件的信息都保存在目录结构中,而目录结构保存在外存中。通常,目录条目包括文件名称及其唯一标识符,而这些标识符又定位其它属性信息。一个文件的属性信息大概需要1KB。,6.2 文件目录,文件目录是一种数据结构,用来标识文件系统中的文件及其物理地址,供检索时使用。对文件目录管理的功能要求如下:(1)实现按名存取。(2)提高对目录的检索速度。(3)文件共享。(4)允许文件重名。,6.2.1 文件控制块和文件目录,一个文件包括两部分:文件说明和文件体。文件体是指文件本身的信息,它可以是记录式文件或字符流文件。文件说明也叫文件控制块(f
9、ile control block,FCB),它是操作系统为管理文件而设置的数据结构,存放管理文件所需的所有有关信息(文件属性),文件控制块是文件存在的标志。,6.2.1 文件控制块和文件目录,1.文件控制块 文件控制块通常包含三类信息:(1)基本信息文件名:用于标识一个文件的符号名。在每个系统中,每个文件都必须有唯一的名字,用户利用该名字进行访问。文件类型:指明文件属性是普通文件,还是目录文件或特殊文件,是系统文件还是用户文件等。文件物理位置:指文件在外存上的存储位置,如存放文件的设备名、文件在外存的起始盘块号、文件占用的盘块数或字节数。文件大小:当前文件的大小(以字节、字或块为单位)和允许
10、的最大长度。(2)存取控制信息 存取控制信息包括:文件属主的存取权限、标准用户的存取权限以及一般用户的存取权限。(3)使用信息时间和日期:反映文件创建和最后修改的日期和时间。最后使用情况:包括文件是否被其它进程锁住、文件在内存中是否已被修改但尚未拷贝到盘上等。这些信息可用于对文件实施保护和监控等。使用计数:表示当前有多少个进程正在使用或打开该文件。,6.2.1 文件控制块和文件目录,2.文件目录文件与文件控制块一一对应,文件控制块的有序集合称为文件目录,一个文件控制块就是一个文件目录项。为了实现对文件目录的管理,通常将文件目录以文件的形式保存在外存上,这个文件就叫目录文件。MS-DOS目录项示
11、意图:,6.2.1 文件控制块和文件目录,3.索引节点为了减少检索文件的时间,在有的系统中,如UNIX/Linux系统,采用把文件名和文件描述信息分开的方法,使文件描述信息单独形成一个定长的数据结构,称为索引节点,简称为i结点。这样,在文件目录中的每个目录项仅由文件名和指向该文件对应的i结点的指针所构成。在UNIX系统中一个目录仅占16个字节,其中14个字节是文件名,2个字节为i结点指针。在1KB的盘块中可保存64个目录项,这样,为找到一个文件,可使平均启动磁盘次数减少到原来的1/4,大大节省了系统开销。Unix系统的文件目录项示意图如下。,6.2.2 文件目录结构,1.单级目录 在整个文件系
12、统中只建立一张目录表,每个文件占一个目录项,目录项中包含文件名、文件扩展名、文件类型、文件长度、文件物理地址以及其它文件属性。,6.2.2 文件目录结构,1.单级目录单级目录的优点是简单、易于实现,实现了目录管理的基本功能按名存取,但却存在以下一些缺点:(1)查找速度慢。(2)不允许重名。(3)不便于文件的共享。,6.2.2 文件目录结构,2.两级目录为每一个用户建立一个单独的用户文件目录UFD(User File Directory)。这些文件目录具有相似的结构,它由用户所有文件的文件控制块组成。系统再建立一个主文件目录MFD(Master File Directory),在主文件目录中,每
13、个用户目录文件都占有一个目录项,其目录项中包括用户名和指向该用户目录文件的指针。,6.2.2 文件目录结构,2.两级目录两级目录结构基本克服了单级目录的缺点,具有以下优点:(1)解决文件名冲突。(2)提高目录检索速度。(3)不同用户可使用不同的文件名来访问系统中的同一个共享文件。两级目录仍然存在一些问题。这种结构有效地对用户加以隔离,这种隔离在各用户之间完全无关时是优点,但是当用户需要在某个任务上进行合作,且一用户又需要访问其它用户的文件时,这种隔离就是个缺点,因为有的系统不允许本地用户文件被其它用户访问。,6.2.2 文件目录结构,3.多级目录 多级目录结构是一棵倒向的有根树,树根是根目录;
14、从根向下,每一个树枝是一个子目录,而树叶则是文件。树形目录有许多优点:它较好地反映了现实世界中具有层次关系的数据集合和较确切地反映系统内部文件的分支结构,不同的文件可以重名,只要它们不位于同一子目录中即可,易于规定不同层次或子树中文件的不同存取权限,便于文件的保护、保密和共享等。,6.2.2 文件目录结构,在树形目录结构中,文件的全名包括从根目录开始到文件为止的所有子目录路径。各个子目录名之间用正斜线“/”或反斜线“”隔开。子目录名组成的部分又称为路径名。系统内的每个文件都有唯一的路径名,路径名是从根经过所有子目录再到指定文件的路径。绝对路径名从根目录开始并给出路径上的目录名直到指定的文件。相
15、对路径名则从当前目录开始定义一个路径。,6.2.3 目录的实现,1.线性列表目录文件是由目录项构成的一个线性表,每个目录项包括文件名和指向数据块的指针。当需要创建一个新文件时,系统必须首先搜索目录文件以确定有没有同名的文件存在,然后把新文件的目录项添加到目录末尾。当删除一个文件时,系统根据给定的文件名来搜索文件目录。找到该文件所在目录项后,释放分配给该文件的磁盘空间,并将相应的目录项删除。,6.2.3 目录的实现,2.哈希表哈希表是实现文件目录的另一种数据结构。采用这种方法时,除了使用线性列表来存放目录项以外,还使用了哈希表。哈希表将根据文件名计算出一个哈希值,并返回一个指向线性列表中元素的指
16、针。因此,它大大降低了目录搜索时间,插入和删除也很方便,不过需要一些措施来避免冲突(两个不同的文件名具有相同的哈希值)。哈希表的最大困难在于其大小通常是固定的,而且哈希函数也依赖于哈希表的大小。,6.3 文件和目录操作,6.3.1 文件操作 用户通过文件系统提供的系统调用对文件进行操作。1.基本的文件操作(1)创建文件。(2)删除文件。(3)读文件。(4)写文件。(5)文件定位。(6)截短文件。,6.3.1 文件操作,2.文件的“打开”和“关闭”操作为了避免多次重复地检索目录,大多数操作系统都引入“打开(open)”这一文件系统调用,当用户第一次请求对某文件进行操作时,先利用open系统调用显
17、式地将该文件打开。操作系统维护一个包含所有打开文件的信息表(打开文件表,open file table)。当需要进行一个文件操作时,可以通过打开文件表的一个索引来指定文件,而不需要搜索整个文件目录。当文件不再使用时,进程可以关闭它,操作系统随即从打开文件表中删除这一条目。,6.3.2 目录操作,1.创建目录创建的新目录除了目录项“.”(表示该目录本身)和“.”(表示父目录)以外,其内容为空。2.删除目录 删除目录时,系统首先进行目录检索,在父目录中找到该目录的目录项,然后验证用户的操作权限,如果具有删除权限,就执行相应的删除操作。在删除目录时,不同的系统有不同的限制。有的系统限制只能删除空目录
18、,因此,当被删除目录下有子目录或文件时,将不能删除目录,如MS-DOS就是采用这种目录删除方式。而另外有些系统则不管目录是否为空都可以执行删除操作,如果目录非空,系统会自动将它下面的文件或子目录一并删除。3.检索目录 检索目录是根据用户给定的文件路径名,从高层到底层顺序地查找各级文件目录,寻找指定文件的相关信息。,6.4 文件的逻辑结构,对于文件组织形式的研究有两种不同的观点,即用户观点和实现观点。用户观点的目的是研究用户“思维”中的抽象文件,也称逻辑文件。研究的侧重点是为用户提供一种逻辑结构清晰、使用简便的逻辑文件形式。用户按照这种形式去存储和访问有关文件中的信息。实现观点的目的是研究保存在
19、设备介质中的实际文件,也称物理文件。研究的侧重点是如何选择工作性能良好、设备利用率高的物理文件形式。,6.4 文件的逻辑结构,对应于用户观点的逻辑文件和实现观点的物理文件,任何一个文件都存在两种形式的结构:逻辑结构和物理结构。(1)文件的逻辑结构。这是从用户观点出发所观察到的文件组织形式,是用户可以直接处理的数据及结构,它独立于文件的物理特性。(2)文件的物理结构。又称为文件的存储结构,是指文件在外存上的存储组织形式。这不仅与存储介质的存储性能有关,而且与所采用的外存分配方式有关。操作系统对文件逻辑结构提出的基本要求包含以下三个方面:高检索速度。在将大批记录组成文件时,应有利于提高检索记录的速
20、度和效率。便于修改。要便于在文件中增加、删除和修改一个或多个记录。低存储费用。减少文件占用的存储空间,不要求大片的连续存储空间。,6.4.1 文件逻辑结构的类型,文件的逻辑结构可分为两大类:有结构文件和无结构文件。1.有结构文件有结构文件又称记录式文件,它在逻辑上可以看成是一组连续记录的集合,即文件由若干条相关记录组成,且对每个记录编上号码,依次为记录1、记录2、记录n。每个记录是一组相关的数据集合,用于描述一个对象的某个方面的属性,如年龄、姓名、职务、工资等。通常数据结构和数据库都是采用有结构的文件形式。,6.4.1 文件逻辑结构的类型,有结构文件按照记录长度是否相同,又可分为定长记录文件和
21、不定长记录文件两种。(1)定长记录:定长记录文件中所有记录的长度相等。定长记录处理方便,开销小,被广泛用于数据处理中。(2)变长记录文件:变长记录文件中的记录长度不相等。产生变长记录的原因,可能是由于一个记录中所包含的数据项数目并不相同,如书的著作者、论文中的关键词等;也可能是数据项本身的长度不定,例如,病历记录中的病因、病史;科技情报记录中的摘要等。,6.4.1 文件逻辑结构的类型,为了方便用户使用和系统管理,可采用多种方式来组织这些记录,形成以下几种文件:(1)顺序文件。由一系列记录按某种顺序排列形成的文件。其中的记录通常是定长记录,能用较快的速度查找文件中的记录。(2)索引文件。主要针对
22、变长记录的文件,为之建立一张索引表,每个记录占用一个表项,以加快对记录检索的速度。(3)索引顺序文件。这是上述两种文件构成方式的组合。,6.4.1 文件逻辑结构的类型,2.无结构的文件 无结构文件是由一组相关信息组成的有序字符流,即流式文件。大量的源程序、可执行程序、库函数等均采用无结构的文件形式。Windows系统中,所有的文件都被看成是流式文件,即使是有结构文件,也被视为流式文件,系统不对文件进行格式处理。把文件看作字节流,为操作系统带来了很大的灵活性。用户可以根据需要在自己的文件中加入任何内容,而不用操作系统提供任何额外帮助。由于记录式文件的使用很不方便,尤其是变长记录文件,另外在文件中
23、还要有说明记录长度的信息,这就浪费了一部分存储空间。因此许多现代计算机操作系统,如UNIX操作系统等都取消了记录式文件。,6.4.2 顺序文件,1.文件记录的排序 顺序文件是一系列记录按某种顺序排列形成的文件。通常可归纳为以下两种情况:(1)时间顺序结构。各记录之间的顺序与关键字无关。记录按存入时间的先后顺序排列。(2)关键字顺序结构。各记录按关键字(词)排列。可以按关键字(词)的长短从小到大或从大到小排列,或按其英文字母顺序排序。对时间顺序结构文件,在每次检索文件时,每次都必须从头开始,逐个记录查找,直至找到指定的记录,或查完所有的记录为止。对关键字顺序结构文件,可采用一些有效的查找算法,如
24、折半查找法、插值查找法、跳步查找法等来提高检索效率。,6.4.2 顺序文件,2.顺序文件的读/写操作对于定长记录的顺序文件,如果已知当前记录的逻辑地址,可很容易确定下一个记录的逻辑地址。在读/写一个文件时,可设置一个读/写指针Rptr/Wptr,令它指向下一个记录的首地址,每当读/写完一个记录时,便执行下式 Rptr/Wptr:=Rptr/Wptr+L 使之指向下一个记录的首地址,其中的L为记录长度。对于变长记录的顺序文件,在顺序读/写时与定长记录顺序文件相似,不同的是在每次读/写完一个记录后,须将读/写指针加上Li,Li是刚读/写完的记录的长度。,6.4.2 顺序文件,3.顺序文件的优缺点
25、当对记录文件进行批量存取操作时,即每次要读写一大批记录时,此时,对顺序文件的存取效率是所有逻辑文件中最高的。在交互应用场合,用户(程序)需要查找或修改单个记录,为此系统需要逐个查找诸记录。这时,顺序文件表现出来的性能就可能很差,当文件较大时,情况更为严重。例如,一个含有104个记录的顺序文件,如果对它采用顺序查找去查找一个指定的记录,则平均需要查找5103个记录。如果是可变长记录的顺序文件,则为查找一个记录所需付出的开销将更大。顺序文件的另一个缺点是,增加或删除一个记录比较困难。,6.4.3 索引文件,在变长记录文件中引入索引表,即为变长记录文件建立一张索引表,对主文件中的每个记录,在索引表中
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 原理 电子 教案
链接地址:https://www.31ppt.com/p-6575545.html