计算机操作系统(第三版)汤小丹第6章
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
注意:
1)“本章要点”部分,用红字标注的不是期末考试出题范围。
2)“习题部分”用蓝字标注的是重点习题,期末考试50%的题目是这些习题的原
题。
红字标注的习题期末考试不考,仅供考研的同学参考。
3)大部分习题答案只给出要点,同学们可以自行适当补充,但一定要简明扼要。
4)如“本章要点”部分用红字标注的非考试内容,在“习题”部分有相关的重点习题,则对该部分内容只需做该习题即可。
------------------------------------------------------------
第六章文件管理要点
6.1 文件和文件系统
根据P206 图6-2概略叙述文件系统模型。
结合Windows 举例说明文件的命令接口和程序接口。
P207文件“打开”和“关闭”的原因。
6.2 文件的逻辑结构
了解有结构文件(记录式文件)的特点:顺序文件、索引文件、索引顺序文件。
需要说明的是,这一小节主要讲的是记录式文件,但OS 更常使用的是无结构的流式文件,记录式文件反而少用。
结合实际说明你常用到的记录式文件有那些,流式文件有那些。
6.3 文件的物理结构
这是本章最重要的一小节,考研有可能出大题的地方。
要熟悉掌握连续、链节、索引分配的优缺点,了解Windows 的FAT和NTFS。
6.4 目录管理
知道什么是FCB,FCB主要数据项有那些。
知道单级目录、两级目录、多级目录(教材讲的目录结构主要针对多用户OS)
6.5 文件存储空间管理
考研的同学要全读。
6.6 文件的共享与保护
阅读教材并上网查询“SFT 容错”和“服务器集群”的概念和应用。
其他内容考研的同学也没必要看。
6.7 数据一致性控制
考研的同学也没必要看。
本章习题
1.何谓数据项、记录和文件?
答:【P203-204 6.1.1】
1)数据项可分为基本数据项和组合数据项。
基本数据项是用于描述一个对象某种属性的字符集,是数据组织中可以命名的最小逻辑数据单位,又称为原子数据、数据元素或字段,其具有数据名、数据类型及数据值三个特性。
组合数据项则由若干数据项构成。
2)记录是一组相关数据项的集合,用于描述一个对象某方面的属性。
3)文件是具有文件名的一组相关信息的集合。
有一种文件叫记录式文件,是一组记录的集合。
2文件系统的模型可分为三层,试说明其每一层所包含的基本内容。
答:【P206 图6-2】
(1)最低层为对象及其属性说明,主要包括物理文件相关功能,包括文件和目录、磁盘存储空间等对象。
(2)中间层是对对象进行操纵和管理的软件集合,是文件系统的核心部分,主要是逻辑文件相关功能。
包括文件存储空间管理、文件目录管理、逻辑文件到物理文件的映射、文件读写管理及文件共享与保护等诸多功能。
(3)最高层是文件系统提供给用户的接口,分为命令接口、图形化用户接口、程序接口(C语言函数形式)和等三种类型。
3 试说明用户可以对文件施加的主要操作有哪些?
答:【P206 6.1.3】要特别注意文件的打开和关闭操作,知道为什么要这样做?
4何谓逻辑文件?何谓物理文件?
答:P208。
逻辑文件是指从用户的观点出发所观察到的文件组织形式,也就是用户可以直接处理的数据及其结构,它独立于物理特性;而物理文件则是指文件在外存上的存储组织形式,与存储介质的存储性能有关。
在“设备管理”学过设备独立性,即逻辑设备独立于物理设备,或者说逻辑设备是物理设备的抽象。
逻辑文件也是独立于设备(磁盘、光盘、U盘等各种文件存储设备)的,这样的好处是,无论设备如何变化,用户看到的逻辑文件都是一样的。
这种“抽象、独立”的思想是很重要的。
抽象可以认为是简单明了的通用性。
5 如何提高对变长记录顺序文件的检索速度?
答:P211。
建索引。
对于要求检索效率高、或不易检索的数据,检索引是最常规和有效的办法,但创建索引本身的开销比较大。
学过数据结构和数据库后,我们都应该知道这些。
6 试说明关于索引文件和索引顺序文件的检索方法。
答:P211。
①对索引文件进行检索时,首先根据用户(程序)提供的关键字,并利用某种(折半查找)算法检索索引表,从中找到相应的表项;再利用该表项中给出的指向记录的指针值,去访问对应的记录。
②对索引顺序文件结合了索引和顺序查找,适合于巨量数据的查找,它将数据分组建索引(以减少索引表的长度),首先利用用户(程序)提供的关键字以及某种查找方法,去检
索索引表,找到该记录所在记录组中的第一条记录的表项,然后在组内进行顺序查找,由于组内的数据量不多,所以组内顺序查找开销很小。
有关效率的分析见P212,这种分组索引的方式,对检索巨量数据是很有效的。
7 试从检索速度和存储费用两方面对索引文件和索引顺序文件进行比较。
答:P212,但教材讲的似乎不对。
假设主文件拥有N条记录。
对于索引文件,主文件的每条记录均需配置一个索引项,故索引存储开销为N;而为检索到具有指定关键字的记录,对分查找平均需要查找约log2(n)条记录。
对于索引顺序文件,假如为每100个记录分组配置一个索引项,故索引存储开销为log2(n/100)+100/2条记录;而为检索到具有指定关键字的记录,平均需要查找N/200+50条记录。
对于更大的数据量,还可以两级索引顺序文件。
8 试说明顺序文件的结构及优点
答:P200-201。
顺序文件是记录型的,有串结构(不利于按关键字查找,但插入记录方便)和顺序结构(有利于按关键字查找,但插入记录不方便)两种。
其共同优点是可以按记录成组的读写数据。
教材有关讨论有错,比如“也只有顺序文件才能存储在磁带上”纯属胡说,其实流式文件更合适存在磁带上。
补充习题:按文件的物理结构,可将文件分为哪几类?
答:【参见6.3小节】
(1)顺序文件,指把逻辑文件中的数据顺序地存储到连续的物理盘块中。
从外存分配方式来说,是连续分配,【参见P123 6.3.1连续分配】。
连续分配有利于文件的读写,主要缺点与内存的连续分配一样:浪费空间。
(2)链接文件,指文件中的数据可以存放在不相邻的各个物理块中,但通过物理块中的链接指针,将它们链接成一个链表。
从外存分配方式来说,是离散分配,【参见P215 6.3.2,
链接分配】。
链接文件不利于文件的检索。
(3)索引文件,指文件中的各个记录可以存放在不相邻的各个物理块中,但通过为每个文件建立一张索引表来实现记录和物理块之间的映射关系。
从外存分配方式来说,是离散分配,【参见P221 6.3.4,索引分配】。
索引文件有利于文件检索,所以适合存储记录式逻辑文件。
9 在链接式文件中常用哪种链接方式,为什么?
答:【此题大概是提问的P215 6.3.2 链接分配】
有隐式和显式两种,两种方式都不利于快速查找数据,对记录式文件检索很不利,因此有了【6.3.4索引分配】。
隐式链接另有两个问题:链接与数据盘块分散存在一起,(1)一旦某个盘块坏了,整个文件的链接也断了(2)对于大文件,不能把链接全部放在内存中,查找数据要频繁的读盘块,效率不好。
显式链接在内存中建一个文件分配表FAT,克服了隐式链接的确点,更常用一些,比如Windows支持FAT。
10 MS-DOS有两个文件A,B。
A占用11,12,16,14四个盘块,B占用13,18,20三个盘块,试画出A和B各盘块中的链接情况和FAT情况。
答:参考P217图6-10
11 NTFS文件系统对文件采用什么样的物理结构?
答:P220。
NTFS物理文件基本读写单位是“盘簇”,盘簇是物理扇区的整数倍。
文件组织以卷(盘符)为最大单位,每卷有个主控文件表(MFT)。
12 假定一个文件系统的组织方式与MS-DOS相似,在FAT 中可有64K个指针,磁盘盘块大小为512B,试问该文件系统是否能指引一个512MB的磁盘?
答:64K*512B=65535*0.5K=32767K=32MB
64K个表项是FAT16,盘块大小为8K时才能指引512M磁盘,见P219表6-11
13 为了快速访问,又易于更新,当数据为以下形式时,应选用何种(物理)文件组织方式
(1)不经常更新,经常随即访问。
(2)经常更新,经常按一定顺序访问。
(3)经常更新,经常随即访问。
答:(1)索引物理文件(索引分配)
(2)链接物理文件(链接分配)
(3)没有很合适的。
或许应在链接分配的基础上建索引。
上述讨论没有考虑到顺序物理文件(连续分配),因为现在OS很少使用连续分配方式,而是离散分配。
但在离散分配时,要尽量把文件存放在连续的盘块中,以提高读写效率,Windows的“磁盘碎片整理”就是做这件事。
14 在UNIX系统中,如果一个盘块的大小为1K,每个盘块号占4个字节,即每块可放256个地址,请转换以下文件的字节偏移量为物理地址。
(1)9999 (2)18000 (3)420000
答:以往有些学校考研对UNIX有要求,改成全国统考后,考研大纲没有对UNIX的具体要求,但也可能出一两道小题。
这道题的第一步是9999整除1024,得到逻辑盘块号,
再9999% 1024得到块内偏移量。
然后根据逻辑盘块号在索引中查找对应的物理盘块号,物理地址=物理盘块号+块内偏移量
到这里就做不下去了,这道题缺少条件(物理盘块号),题目没出完整。
最后对UNIX系统来说,根据逻辑盘块号的大小,存在对物理盘块的直接地址、一次间接地址、多次间接地址等问题。
请参考【第10章P383-385】
15 什么是(物理)索引文件,为什么要引入多级索引?答:【P221-222】索引文件可离散存储在磁盘上,用一个索引
表标识文件占用的盘块。
当文件很大时,索引表需占用较多的盘块,这时宜采用多级索引。
16 是说明UNIX系统所采用的混合索引分配方式
答:P222-223和P383-395都有叙述。
17.对目录管理的主要要求是什么?
答:【P224】
a) 实现“按名存取”
b) 提高对目录的检索速度
c) 文件共享
d) 允许文件重名
18.采用单级目录能否满足目录管理的主要要求?为什么? 答:【P226-227】
采用单级目录只能实现目录管理的基本功能(即文件的按名存取),而对于其它三项要求则不能满足。
现在有些嵌入式系统可能还使用单级目录,通用操作系统已经不用单级目录了。
19 目前广泛使用的目录结构形式是那种?它有什么优点?答:【P227--228】
主要是树形结构多级目录,能同时兼顾用户个人需要、文件分级管理的需要、文件共享的需要。
20 HASH检索法有何优点?又有何局限性?
21 在HASH检索法中,如何解决“冲突”?
答:【P230】HASH算法的用途很广,在“数据结构”中也学过,每位同学都要熟悉其基本方法和特点。
22 试说明在树形目录结构中线性检索法的检索过程,并给出相应的流程图。
答:【P229-230】可以把它当成“数据结构”的一道应用题思考。
23 题目略
答:参见P232。
(1)从位示图中找到一个为0的位
(2)将该位所对应的物理盘块号b=n(i-1)+j分配给文件第一块。
(3)将该位置1,表示该位对应的物理盘块已分配。
(4)重复上面(1)-(3)为文件第二块寻找空间。
从读写效率考虑,文件分配的空间最好是连续的,此题最好能为文件找2个连续的盘块,这就要求在位示图中找2个连续的0,本题第5行有满足要求的位。
24 某操作系统的磁盘文件空间有500块,若用字长为32位的位示图管理磁盘空间,试问:
(1)位示图需要多少个字?
(2)第i字第j位对应的块号是多少。
(3)写出申请—归还一块的工作流程
答:【P232-233】
(1)位示图需要n=int(500/32)+1个字
(2)b=n(i-1)+j
(3)按教材所述。
25 对空闲磁盘空间的管理常采用哪几种分配方式?在UNIX中采用何种分配方式?
答:[参见6.5小节]
空闲表法(只适合于连续分配);
空闲链表法(适合于离散分配)
位示图法(适合于离散分配)
成组链接法(UNIX,离散分配)
26 基于索引结点的文件共享方式有何优点?
27 基于符号链的文件共享方式有何优点?
答:考研的同学参考P235—237,组织成几句话的答案即可。
这道题与“数据结构”的内容有点关系,可以做一下。
28 在第一级的系统容错技术中,包括哪些容错措施?什么是写后读校验?
29 在第二级的系统容错技术中,包括哪些容错措施?画图说明之。
答:参见P237-238。
31-34 题
各位同学都应该知道什么是事务,也应该知道事务是原子操作。
这几道题的其它内容,考研的同学也无需做。