系统架构设计师教程:文件管理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
系统架构设计师教程:文件管理
操作系统的主要功能是进行处理机与进程管理、存储管理、设备管理、文件管理和作业管理,本节讨论操作系统是如何完成这些功能的。
文件管理
操作系统对计算机的管理包括两个方面:硬件资源和软件资源。硬件资源的管理包括CPU的管理、存储器的管理、设备管理等,主要解决硬件资源的有效和合理利用问题。
软件资源包括各种系统程序、各种应用程序、各种用户程序,也包括大量的文档材料、库函数等。每一种软件资源本身都是具有一定逻辑意义的、相关信息的集合,在操作系统中它们以文件形式存储。
计算机系统的重要作用之一是能快速处理大量信息,因此数据的组织、存取和保护成为一个极重要的内容。文件系统是操作系统中组织、存取和保护数据的一个重要部分。
文件管理的功能包括:建立、修改、删除文件;按文件名访问文件;决定文件信息的存放位置、存放形式及存取权限;管理文件间的联系以及提供对文件的共享、保护和保密等。允许多个用户协同工作又不引起混乱。文件的共享是指一个文件可以让多个用户共同使用,它可以减少用户的重复性劳动,节省文件的存储空间,减少输入/输出文件的次数等。文件的保护主要是为防止由于误操作而对文件造成的破坏。文件的保密是为了防止未经授权的用户对文件进行访问。
文件的保护、保密实际上是用户对文件的存取权限控制问题。一般为文件的存取设置两级控制:第1级是访问者的识别,即规定哪些人可以访问;第2级是存取权限的识别,即有权参与访问者可对文件执行何种操作。
1.文件的逻辑结构
文件的结构是指文件的组织形式,从用户观点所看到的文件组织形式,称为文件的逻
辑结构。
文件的逻辑组织是为了方便用户使用。一般文件的逻辑结构可以分为两种:无结构的字符流文件和有结构的记录文件。记录文件由记录组成,即文件内的信息划分成多个记录,以记录为单位组织和使用信息。
记录文件有顺序文件、索引顺序文件、索引文件和直接文件。
(1)顺序文件。大多数文件是顺序文件。顺序文件的记录定长,记录中的数据项的类型长度与次序固定,一般还有一个可以惟一标识记录的数据项,称为键(key),记录是按键值的约定次序组织的。顺序文件常用于批处理应用,对于查询或更新某个记录的处理性能不太好。
(2)索引顺序文件。索引顺序文件是基于键的约定次序组织的,而且维护键的索引和溢出区域。键的索引也可以是多级索引。索引顺序文件既适用于交互方式应用,也适用于批处理方式应用。
(3)索引文件。索引文件是基于记录的一个键数据项组织的。许多应用需按照别的数据项访问文件,为此,常采用索引文件方法,即对主文件中的记录按需要的数据项(一个或几个)建索引,索引文件本身是顺序文件组织。
(4)直接文件。直接文件又称哈希(Hash)文件。记录以它们在直接访问存储设备上的物理地址直接(随机地)访问。直接文件常用于需要高速访问文件而且每次访问一条记录的应用中。
2.文件的物理结构
文件的物理结构是指文件在存储设备上的存放方法。文件的物理结构侧重于提高存储器的利用效率和降低存取时间。文件的存储设备通常划分为大小相同的物理块,物理块是分配和传输信息的基本单位。文件的物理结构涉及文件存储设备的组块策略和文件分配策略,
决定文件信息在存储设备上的存储位置。常用的文件分配策略有:
(1)顺序分配(连续分配)。这是最简单的分配方法。在文件建立时预先分配一组连续的物理块,然后,按照逻辑文件中的信息(或记录)顺序,依次把信息(或记录)按顺序存储到物理块中。这样,只需知道文件在文件存储设备上的起始位置和文件长度,就能进行存取,这种分配方法适合于顺序存取,在连续存取相邻信息时,存取速度快。其缺点是在文件建立时必须指定文件的信息长度,以后不能动态增长,一般不宜用于需要经常修改的文件。
(2)链接分配(串联分配)。这是按单个物理块逐个进行的。每个物理块中(一般是最后一个单元)设有一个指针,指向其后续连接的下一个物理块的地址,这样,所有的物理块都被链接起来,形成一个链接队列。在建立链接文件时,不需指定文件的长度,在文件的说明信息中,只需指出该文件的第一个物理块块号,而且链接文件的文件长度可以动态地增长。只调整物理块间的指针就可以插入或删除一个信息块。
链接分配的优点是可以解决存储器的碎片问题,提高存储空间利用率。由于链接文件只能按照队列中的链接指针顺序序查找,因此,搜索效率低,一般只适用于顺序访问,不适用于随机存取。
(3)索引分配。这是另一种对文件存储不连续分配的方法。采用索引分配方法的系统,为每一个文件建立一张索引表,索引表中每一表项指出文件信息所在的逻辑块号和与之对应的物理块号。
索引分配既可以满足文件动态增长的要求,又可以方便而迅速地实现随机存取。对一些大的文件,当索引表的大小超过一个物理块时,会发生索引表的分配问题。一般采用多级(间接索引)技术,这时在由索引表指出的物理块中存放的不是文件存放处而是存放文件信息的物理块地址。这样,如果一个物理块能存储n个地址,则一级间接索引将使可寻址的文件长度变成n2块,对于更大的文件可以采用二级甚至三级间接索引(例如,Unix操作
系统采用三级索引结构,如图1-12所示)。
图1-12索引结构图
索引文件的优点是既适用于顺序存取,又适用于随机存取。缺点是索引表增加了存储空间的开销。另外,在存取文件时需要访问两次磁盘,一次是访问索引表,另一次是根据索引表提供的物理块号访问文件信息。为了提高效率,一种改进的方法是,在对某个文件进行操作之前,预先把索引表调入内存。这样,文件的存取就能直接从在内存的索引表中确定相应的物理块号,从而只需要访问一次磁盘。
3.文件存储设备管理
文件存储设备管理,就是操作系统要有效地进行存储空间的管理。由于文件存储设备是分成许多大小相同的物理块,并以块为单位交换信息,因此,文件存储设备的管理实质上是对空闲块的组织和管理问题。它包括空闲块的组织,空闲块的分配与空闲块的回收等问题。有3种不同的空闲块管理方法,它们分别是索引法、链接法和位示图法。
(1)索引法。索引法把空闲块作为文件并采用索引技术。为了有效,索引对应于一个或由几个空闲块构成的空闲区。这样,磁盘上每一个空闲块区都对应于索引表中一个条目,