计算机操作系统原理培训及实操第5章.pdf
《计算机操作系统原理培训及实操第5章.pdf》由会员分享,可在线阅读,更多相关《计算机操作系统原理培训及实操第5章.pdf(146页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第5章 文 件 系 统第5章 文 件 系 统5.1 文件系统概述文件系统概述5.2 文件结构和文件存取文件结构和文件存取5.3 文件目录和目录检索文件目录和目录检索5.4 文件共享与保护的实现文件共享与保护的实现5.5 文件系统的用户接口文件系统的用户接口第5章 文 件 系 统5.1 文件系统概述文件系统概述5.1.1 文件文件 如上所述,文件系统的功能是通过把软件资源组织成若干个逻辑单位的方式来实现的。我们把这些逻辑单位称为文件。文件是一个具有符号名的一组相关联的字符的有序序列。从内容来看,有些文件组成的基本单位是一些有序的逻辑记录,如一个班级的学生档案数据;也有些文件是无记录无结构的相关联
2、元素的集合,如C语言的源程序;另外,一些慢速字符设备也可以被看作文件,因为这些设备传输的信息也是一组按顺序出现的字符序列。这些文件一般赋予由特殊字符组成的文件名。第5章 文 件 系 统1文件名文件名 顾名思义,文件名也称作文件标识符,是文件的名字,它是区别不同文件的标识符号。文件名是便于信息保存和读取的重要机制。为了便于管理,必须有文件的命名规则。不同系统中,文件命名规则略有不同。例如,在DOS系统中,要求文件名由18个字母或数字组成,而Windows 98/NT支持长达255个字符。有些文件系统中,要区分文件名的大小写,如UNIX;也有些不区分,如在DOS下,STUDENT和student是
3、同一个文件;在Windows 98中,保留用户起名时字母的大小写,但系统在处理时不作区分,如STUDENT和student虽然看起来外形不同,系统却认为它们是同一个文件。第5章 文 件 系 统 大多数文件系统中的文件名由两部分构成,它们之间用“.”隔开。前面的部分称为主文件名,后面的部分称为扩展名。扩展名提示文件的某些特征或文件内容的类别。UNIX中,甚至支持多个扩展名,例如student.c.Z 表示经过压缩了的C源程序。通常扩展名只是约定俗成的惯例,并不强迫用户使用。但有些例外,比如C编译器可能对非“.c”结尾的程序拒绝编译,而Widnows对于系统不认识的扩展名要求用户给出打开此文件的应
4、用程序名。表5-1列出了一些常用的文件扩展名。第5章 文 件 系 统表表5-1 文件扩展名文件扩展名扩展名含 义.cC源程序文件.bak备份文件.html超文本文档.mpgMPEG编码电影.hlp帮助文件.gifGIF格式图像.obj目标文件.txt文本文件.zip压缩文件.exe可执行文件第5章 文 件 系 统 2文件属性文件属性 除了文件名外,系统还给文件赋予其它特征信息以便于管理和控制存取,这些信息称为文件属性。文件属性通常包括文件当前的状态和使用标志,有些系统将它们和文件名一起放在特殊的数据结构中以便查询。表5-2列出了一些常用的文件属性。第5章 文 件 系 统表表5-2 文文 件件
5、属属 性性域含 义创建者文件创建者的用户名只读标志是否只读隐藏标志是否隐藏系统标志是否系统文件物理位置存放设备及存放位置记录长度内部记录的字节数文件长度文件的字节数创建时间文件创建的日期和时间最后存取时间最后一次存取的日期和时间保护文件存取权限的规定口令访问该文件所需的口令第5章 文 件 系 统 在DOS系统的文件系统中,每个文件都有一个记录文件名及所有属性的数据结构,称为目录项,由32个字节组成,表5-3是DOS中一个目录项的结构。表表5-3 DOS的文件属性的文件属性文件名 扩展名 属性 未用 建立时间 日期 首簇号 文件长度 字节 8 3 1 10 2 2 2 4 第5章 文 件 系 统
6、 3文件的类型文件的类型 从不同的角度可以对文件进行不同的分类。从系统角度来看,主要类型有正规文件、目录文件和设备文件。正规文件指包含用户信息或系统数据的文件;目录文件是管理文件的特殊系统文件;设备文件分为以字符为处理单位的字符设备文件和以块为处理单位的块设备文件。本章我们先研究正规文件,在5.3节中讨论目录文件,设备文件在UNIX系统中讨论。第5章 文 件 系 统 一般说来,正规文件从内容来看有ASCII码文件和二进制文件两种形式。前者由多行正文组成,可能用到回车符和换行符,后者是简单的二进制字节序列。ASCII码文件的优点是可以直接原样打印。对二进制文件的打印只能得到一堆乱码,但它们往往有
7、一定的内部结构。比如每个系统中的可执行的二进制文件,可能就包括文件头、正文、数据、重定位标识和符号表等部分。第5章 文 件 系 统 正规文件还可以进行如下分类:(1)按用途可以分为:系统文件、库文件与用户文件。系统文件是支持操作系统实现基本功能的文件,用户不能直接使用,只能通过系统调用为用户服务。库文件由标准子程序及常用的应用程序组成,允许用户调用,但不允许修改。用户文件是用户委托系统保存的文件,如源程序、目标程序、原始数据、计算结果等。(2)从系统保护角度分为:只读文件、读写文件、不保护文件。不同类型表明用户对不同文件的读写权限和系统对文件赋予的保护级别。第5章 文 件 系 统 (3)按文件
8、物理结构分为:连续文件、串联文件、索引文件。连续文件的文件信息存放在外存中连续的存储块中。串联文件则放在外存中以链接方式连接的存储块中,存储块在物理位置上并不一定连续。索引文件的文件位置由索引表指出。(4)按存放时间分为:临时文件、永久文件、档案文件。临时文件是解题过程中的“中间文件”,暂存在磁盘上,随用户撤离而撤消。永久文件一般在磁盘和作为档案的磁带上都有副本,以便于用户经常使用。档案文件只保留在磁带上,以备查证和恢复文件时使用。第5章 文 件 系 统 (5)按文件内部信息的结构分为:流式文件、记录文件。流式文件内部信息没有结构,它是一个字符流,有结束符。记录文件的内部可以划分为多个记录,用
9、户以记录为单位组织和使用信息。第5章 文 件 系 统5.1.2 文件系统文件系统 1文件系统的概念文件系统的概念 所谓文件系统,是指操作系统中涉及到文件管理的那部分软件、管理时用到的数据结构及其被管理的文件。从用户的角度看,文件系统的主要功能是实现“按名存取”,即用户只需要知道文件名,就可以存取文件的信息,而不需要知道它们具体的存放位置。从系统的角度看,文件系统是对文件存储器的存储空间进行组织、分配、回收,负责文件的存储并对存入的文件实施保护、检索的系统。具体地说,文件系统负责为用户建立文件,存入、读取、修改、转储文件,控制对文件的存取,当用户不再使用时撤消文件。由此可见,文件系统是以对用户“
10、透明”的方式实现对信息管理的一种有力的手段。第5章 文 件 系 统 2文件系统的功能文件系统的功能 文件系统虽然被用户使用,但它的任务首先是解决对文件存储器空间的有效管理问题,通常文件存储器上的物理空间是以物理块为单位进行分配的,这是构成文件组织形式的主要依据。文件系统的第二个任务是文件的命名和共享问题,即解决文件命名的冲突、重名及实现对文件共享的需要。文件系统的第三个任务是提供合适的存取方法,以适合不同的应用。但是文件系统对所管理的信息仅提供存取方式和保护,至于它们之间的结构关系并不关心,也无力对它们进行解释,这是与数据库系统对数据管理显然不同的地方。第5章 文 件 系 统 基于以上考虑,文
11、件系统应该实现如下功能:(1)通过各种数据结构记录系统中的全部信息,包括信息的名字、位置和存取权限等。(2)使用户可以方便灵活地进行信息存取,即用户无需考虑外存的信息组织,也无需记住信息在外存的存储和分布情况,完全实现按名存取。(3)提供安全可靠的保护措施,以避免各种故障或偶然性事故而产生的破坏行为,并防止授权或未授权的用户有意或无意地进行破坏性操作。(4)防止用户信息失窃,采取对文件进行加密等措施,为用户提供保密手段。(5)为节省空间,方便用户存取,协调相关用户共同完成某项任务,文件系统为用户提供共享功能。第5章 文 件 系 统5.2 文件结构和文件存取文件结构和文件存取5.2.1 文件逻辑
12、结构及文件存取文件逻辑结构及文件存取 1逻辑结构(用户观点)逻辑结构(用户观点)逻辑结构是从用户的角度观察到的文件结构。文件内的信息是由创建者定义的,有很多不同的类型。例如文本、数据、目标程序,图像等。试图执行一个文本文件和打印一个目标文件都是没有意义的。人们当然希望操作系统能够知道特定文件结构,以支持不同的文件操作。问题在于让操作系统知道具体的文件结构十分不便,不但会大大地增加操作系统的代码,也会使其自身十分不灵活,特别是出现新的结构会使它变得无能为力。所以,操作系统内部一般将文件视为无结构或简单结构的信息流,不对文件的信息项做任何解释。具体的信息处理由相应的应用程序提供。几种常用的逻辑结构
13、如图5-1所示。第5章 文 件 系 统图5-1 文件的三种逻辑结构(a)字符序列R1Rn S T U D E N T(b)记录序列(c)记录树第5章 文 件 系 统 (1)流式结构:在流式结构中文件是无结构的字符序列,它的信息单位是字节或字。操作系统不知道也不关心文件中的具体内容,它所见到的都是字节或字。UNIX和DOS均使用这种结构,Windows 95/98也基本采用这种方式,只是使用了长文件名。这种结构的特点是使用灵活、方便。用户程序可以在文件内加入任何内容,并且以方便的形式命名。这时,处理文件结构的任务由用户完成,如图5-1(a)所示。第5章 文 件 系 统 (2)记录式结构:在记录式
14、结构中文件由固定长度或可变长度的记录组成,即文件具有自身的记录结构,每条记录也有内部结构,如图5-1(b)所示。这时,文件读写的逻辑单位是一条记录。CP/M系统采用了固定长记录方式组织文件,它的记录长度为128个字符,也有些系统采用可变长的记录组织文件。第5章 文 件 系 统 (3)记录树结构:在记录树结构中,文件由一棵记录树构成,记录的长度通常是不定的。在记录的固定位置包含一个关键字域。记录树按关键字域进行排序,以便于对特定关键字进行快速查找。在记录树结构中由操作系统而不是由用户来决定记录放置的位置,这种结构广泛用于一些进行商业处理的大型计算机系统中,如图5-1(c)所示。第5章 文 件 系
15、 统 2文件的存取文件的存取 文件的存取方法是由文件的性质和用户使用文件的情况来决定的。用户根据文件的逻辑结构对文件进行存取,而不必了解文件具体存储的物理地址,那是由文件的物理组织来确定的。根据文件存取的次序通常可划分为两大类:顺序存取和直接存取。顺序存取是严格按记录或字节排列的顺序依次存取。直接存取也称随机存取,允许随意存取文件的任何记录或字节,而不管上一次存取到哪一条记录或哪一个字节。第5章 文 件 系 统 1)顺序存取 顺序存取方法是指按照记录的顺序依次存取。一般分为固定长度记录的顺序存取和可变长记录的顺序存取。显然,对于上述的两种文件,知道了当前记录的地址,确定下一个要存取的记录地址是
16、比较方便的,只要将记录指针顺序移动即可完成操作。如果文件是可读、可写的,可能读与写的位置不同,则需要分别定义读指针和写指针。存取一个记录后,对指针的位置做相应的修改,如图5-2所示。第5章 文 件 系 统图5-2 顺序存取记录的组织R0R1R2LLLwptr(rptr)R0R1R2wptr(rptr)L01L11L21(a)固定长记录(b)可变长记录第5章 文 件 系 统 对于图5-2(a)固定长记录的顺序文件,需要设置一个专用单元以存放记录长度L,并定义读指针rptr与写指针wptr,它们分别指向下一次读写的首地址。读指针与写指针的初值为第一个记录的首地址。每次读写后,读指针rptr与写指针
17、wptr修改如下:rptr=rptr+L;wptr=wptr+L;对于图5-2(b)可变长记录顺序文件,设第i条记录的长度为Li,存放于该记录前面的单元中,则每次读写后,读指针rptr与写指针wptr修改如下:rptr=rptr+Li+1;wptr=wptr+Li+1;第5章 文 件 系 统 有时为了加速文件的输入、输出,可采用预先缓冲技术,即用户要求读出记录Ri时,系统除Ri外,还预先将Ri的后几条记录读到内存的一个缓冲区中。这样,当用户提出读下一条记录的请求时,记录已在主存中,节约了读取时间。在IBM/370操作系统中提供了预先缓冲链接的方法,即把预读记录的缓冲区链接在一起,排队等待用户提
18、取。这种方法也称为排队顺序存取方法。第5章 文 件 系 统 2)直接存取 用户往往希望能直接得到某个记录。比如在按记录号查询的过程中,用户除了给出文件名外,还显式地指明所需要的记录号。这种存取方法一般通过直接计算或利用指针确定记录的位置,可分为固定长度记录的直接存取和可变长记录的直接存取。如图5-2(a)所示,当记录为固定长时,如果用户提出存取某记录,该记录的逻辑地址是LA=iL其中i为记录号,L为记录的长度,存放于专用单元中。第5章 文 件 系 统 如果记录本身是可变长的,如图5-2(b)所示,则必须从文件的首地址开始,依记录号顺序读出记录,以便查到各个记录的长度。显然,这种方法是十分低效的
19、。利用索引表可以提高存取速度。在索引表表目中存放记录的长度和指针,记录号按顺序排列,指针指向该记录的首地址。存取记录时,先以记录号为索引读出相应表目的指针,再按照指针确定的记录的逻辑地址和长度进行存取,如图5-3所示。因为存取前不能确定下几条记录的长度,因此直接存取方法不能采用预先缓冲技术。一种可以提高效率的方法是系统保存被请求的“上一个”记录号和地址,如果当前的请求大于“上一次”的记录号,则向后查找,否则从文件头开始查找。第5章 文 件 系 统图5-3 直接存取文件的索引表组织01234L0L1L2L3L4R0R1R2R3R4索引号长度指针文件记录第5章 文 件 系 统 3)按键存取 按关键
20、字进行信息查询的存取方法也是一种直接存取方法,目前使用十分普遍。在按键存取中,文件中的记录是按键值顺序存放的。键值通常是记录中某个重要数据项的值,它能区分不同的记录。例如学生的记录表文件,可以按照学号的顺序进行记录的存放和读取。为了提高检索速度,可以采用索引表来指明键和记录的逻辑地址之间的对应关系,如图5-4所示。这里将学号作为记录的键,根据索引表可以查找任何一个键值的记录地址。第5章 文 件 系 统图5-4 按键存取法键960019600296003逻辑地址0200400地址0200400960019600296003学号姓名张名李娜刘方性别男女男年龄252323成绩988975索引表记录表
21、第5章 文 件 系 统 在上述方法中,当记录个数很多时,索引表将十分庞大,检索速度较慢。通常采用的方法是将索引表按关键字分为多级。在主索引中指出二级索引表中一组表目的始地址,二级索引表中每个表目包含一个位置指针,指向文件中由一组记录组成的子集的开始单元。这样,经过多次访问和顺序查询可以查到相应记录的逻辑地址。虽然这种方法比较复杂,但是可以使用多个较小的索引表块,通常比顺序查询速度快。例如,在图5-5中,若要查询学号为9602的记录地址,先找到96索引数据块的逻辑地址,从而查到9601的地址,再经过顺序查询就可以得到9602的数据。第5章 文 件 系 统图5-5 按键存取的多级索引表逻辑地址96
22、01970198019901键96979899逻辑地址键96019610970197109801键96019610970197109801属性主索引二级索引第5章 文 件 系 统5.2.2 文件的物理结构(系统观点)文件的物理结构(系统观点)逻辑文件在外存的组织结构称为文件的物理结构。这种结构的组织依赖于文件存储器(磁带、磁盘、磁鼓等)的物理特性及用户对文件实施的具体操作。为了有效地管理文件的存储空间,文件系统中引入了“物理块”的概念。我们把文件存储空间划分成大小相等的块,文件的存储以块为单位进行。一个“块”一般可以存放一个或几个逻辑记录,块的长度通常等于磁盘扇区的长度。“块”是内存和外存之间
23、进行信息传输的基本物理单位。下面介绍几种常用的物理结构。第5章 文 件 系 统 1连续结构(连续文件)连续结构(连续文件)连续结构是指把逻辑文件中的连续信息存放到连续的物理块中,是连续区分配的一种方法。实现时,系统需要建立一个文件说明表,由文件说明表指出文件名及存放文件信息的第一个物理块的首地址和文件长度(即所占的块数)。这里假定逻辑记录长度和“物理块”大小是相等的。若一个连续文件由m条记录组成,起始记录的位置是第i个物理块,那么其它记录将依次被分配到i+1,i+2,i+m?1等物理块中,如图5-6所示。第5章 文 件 系 统图5-6 连续文件结构文件名 块数 首块号AMii1im1物理块号文
24、件说明表第5章 文 件 系 统 连续文件的优点是物理结构简单,访问文件时通过简单的计算就可得到文件的物理地址,有利于记录定位,存取速度快。连续文件的缺点是建立文件时必须指定文件长度,以后不能增加长度,这是因为与文件尾部相邻的物理块可能已经分配给别的文件了。如果文件长度变化较大,会造成存储空间的浪费或产生碎片,降低存储空间的利用率。与主存的分区式分配类似,采用连续结构分配时,文件存储空间也存在着“碎片”问题,可以采用“紧凑”技术解决。但是这种方法浪费时间,较少采用。第5章 文 件 系 统 连续文件适合的物理设备是顺序存取的磁带,而磁盘则不适于用连续文件处理。因为它的磁头始终处于旋转状态,当存取下
25、一条记录时,磁头可能已经越过位置。因此,在实际系统中,安排相邻记录的存储位置时,往往将它们交叉间隔分布在同一磁道上以节省定位时间。第5章 文 件 系 统 2链接结构(串联文件)链接结构(串联文件)为了克服连续结构的缺点,可以采用链接结构来形成串联文件,把逻辑文件中的连续信息存放到不连续的物理块中,这是非连续区分配的一种方法。实现时,系统需建立一个文件说明表,在文件说明表中指明文件名及存放文件的第一个物理块的首地址和所需块数,利用每个物理块的最后一个单元存放一个指针,指向下一个存放文件的物理块的首地址,指针为空时,表示文件结束。文件的信息内容一般分散在不连续的物理块中,但指针链接的前后两个物理块
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 操作系统 原理 培训 实操第
限制150内