操作系统第6章练习题 - 复习专用

更新时间:2023-09-14 14:47:01 阅读量: 初中教育 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第6章 文件管理

6.1 典型例题解析

【例1】什么是文件?什么是文件系统?

答:文件是在逻辑上具有完整意义的信息集合,它有一个名字作标识。文件具有三个基本特征:文件的内容为一组相关信息、文件具有保存性、文件可按名存取。 文件系统是操作系统中负责管理和存取文件的程序模块,也称为信息管理系统。它是由管理文件所需的数据结构(如文件控制块、存储分配表)和相应的管理软件以及访问文件的一组操作所组成。

【例2】什么是文件的物理结构和逻辑结构? 答:文件的逻辑结构是从用户观点出发所看到的文件组织形式,是用户可以直接处理的数据及其结构。文件的逻辑结构有两种形式:有结构的记录文件和无结构的流式文件。 文件的物理结构是指文件在外存上的存储组织形式。文件的物理结构有三种形式:顺序结构、链接结构和索引结构。

【例3】假定盘块的大小为1KB,硬盘的大小为500MB,采用显示链接分配方式时,其FAT需要占用多少存储空间? 答:FAT的每个表项对应于磁盘的一个盘块,其中用来存放分配给文件的下一个盘块的块号,故FAT的表项数目由物理盘块数决定,而表项的长度则由磁盘系统的最大盘块号决定(即它必须能存放最大的盘块号)。为了地址转换的方便,FAT表项的长度通常取半个字节的整数倍,所以必要时还必须由最大盘块号获得的FAT表项长度作一些调整。 由题意可知,该硬盘共有500K个盘块,故FAT中共有500K个表项;如果盘块从1开始编号,为了能保存最大的盘块号500K,该FAT表项最少需要19位,将它扩展为半个字节的整数倍后,可知每个FAT表项需20位,即2.5个字节。因此,FAT需占用的存储空间的大小为: 2.5×500K=1250KB

【例4】存放在某个磁盘上的文件系统,采用混合索引分配方式,其FCB中共有13个地址项,第0~9个地址项为直接地址,第10个地址项为一次间接地址,第11个地址项为二次间接地址,第12个地址项为三次间接地址。如果每个盘块的大小为4K字节,若盘块号需要用4个字节来描述,请问该系统中允许的文件的最大长度是多少? 答:由题意可得,每个盘块最多存放4K/4=1K个盘块地址。

在混合索引分配方式中,文件的FCB的直接地址中登记有分配给文件的前n块(0到n-1)的物理块号(本题中为10);一次间接地址中登记有一个一次间接块的块号,而在一次间接块中则登记有分配给文件的第n到第n+k-1块的块号(本题中k的值为1k);二次间接地址中登记有一个二次间接块的块号,其中可给出k个一次间接块的块号,而这些一次间接块被用来登记分配给文件的第n+k块到第n+k+k2-1块的块号;三次间接地址中则登记有一个三次间接块的块号,其中可给出k个二次间接块的块号,这些二次间接块有可给出k2个一个间接块的块号,而这些一次间接块则用来登记分配给文件的第n+k+k2块到n+k+k2+k3-1块的物理块号。

则该系统中一个文件的最大长度是:

4K×(10+1K+1K×1K+1K×1K×1K)=40K +4M +4G +4T 【例5】什么是文件控制块?文件控制块中包含哪些信息? 答:文件系统在创建每个文件时设置用于文件描述和文件控制的数据结构,它与文件一一对

1

应,称为文件说明或文件控制块FCB。它是随着文件的建立而诞生,随着文件的删除而消失,某些内容随着文件的使用而动态改变。一般文件控制块应包括如下三类内容:

⑴有关文件存取控制的信息。例如,用户名、文件名、文件类型、文件属性。

⑵有关文件结构的信息。例如,文件的逻辑结构、文件的物理结构、记录个数、文件在存储介质上的位置等。

⑶有关文件管理的信息。例如,文件的建立日期、文件被修改的日期、文件保留期限和记帐信息等。

【例6】在实现文件系统时,为加快文件目录的检索速度,可利用“文件控制块分解法”。假设目录文件存放在磁盘上,每个盘块512字节。文件控制块占64字节,其中文件名占8字节。通常将文件控制块分解成两部分,第1部分占10字节(包括文件名和文件内部号),第2部分占54字节(包括文件内部号和文件其他描述信息)。

(1)假定某一目录文件共有254个文件控制块,试分别给出采用分解法前和分解法后,查找该目录的某一个文件控制块的平均访问磁盘次数。

(2)一般地,若目录文件分解前占用n个盘块,分解后改用m个盘块存放文件名和文件内部号,请给出访问磁盘次数减少的条件。 答:(1)采用分解法前,一个盘块存放[5l2/64]=8目录项,254个目录项需要32个盘块,查找一个文件的平均访问的盘块数:(1+32)/2=16.5次; 采用分解法后,一个盘块存放[5l2/10]=51目录项,254个目录项需要5个盘块,查找一个文件的第1部分平均访问的盘块数:(1+5)/2=3次;查找第2部分需要访问磁盘1次,故查找一个文件控制块的平均访问磁盘次数是3+1=4次。 (2)访问磁盘次数减少的条件为: (n+1)/2>(m+1)/2+1 即 m<n-2

【例7】目前最广泛采用的目录结构是哪种?它有什么优点?

答:目前广泛采用的目录结构是多级树形目录结构。它具有以下优点:

多级目录解决了重名问题,同一目录中的各文件名不能同名,但在不同目录中的文件名可以相同。

多级目录有利于文件的分类。文件是若干有意义的相互关联的信息的集合,信息本身就具有某种层次关系的属性,树型目录结构能确切地反映这些层次关系。可以把某些具有相同性质的文件安排在同一个子目录下,使用文件更加方便。

多级目录的层次结构关系便于制定保护文件的存取权限,有利于文件的保密。并且便于实现文件的共享。

【例8】有一计算机系统采用如下图所示的位示图(行号、列号都从0开始编号)来管理空闲盘块。如果盘块从1开始编号,每个盘块的大小为1KB。 (1)现要为文件分配两个盘块,试具体说明分配过程。 (2)若要释放磁盘的第300块,应如何处理? 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4 5

1 1 1 1 0 1 1 1 1 0 1 1 0 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 0 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 0 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 2

6 答:(1)为某文件分配两个盘块的过程如下: 顺序检索位示图,从中找到第一个值为0的二进制位,得到其行号i1=2,列号j1=2;第二个值为0的二进制位,得到其行号i2=3,列号j2=6。 计算出找到的两个空闲块的盘块号分别为: b1=i1×16+j1+1=2×16+2+1=35 b1=i2×16+j2+1=3×16+6+1=55 修改位示图,令Map[2,2]=Map[3,6]=1,并将对应块35、55分配出去。 (2)释放磁盘的第300块时,应进行如下处理: 计算出磁盘第300块所对应的二进制位的行号i和列号j: i=(300-1)/16=18,j=(300-1)% 16=11 修改位示图,令Map[18,11]=0,表示对应块为空闲块。

【例9】设某系统磁盘共有1600块,块号从0~1599,若用位示图管理这1600块的磁盘空间,问位示图需要多少个字节?

答:在位示图中,用1位二进制数描述1个磁盘块的状态。1600个磁盘块共需要1600位二进制数,每个字节长为8位,位示图需要: 1600/8=200(字节)

6.2 练习题及答案

一、单项选择

1.位示图可用于( )。

A、从磁盘空间的分配和回收 B、页式虚存中的页面置换 C、固定分区的存储管理 D、动态分区存储管理中空闲区的分配回收 2.逻辑文件存放在磁带上应组织成( )。

A、索引文许 B、直接文件 C、顺序文件 D、链接文件

3.UNIX操作系统中,对磁盘存储空间的空闲块进行管理时采用( ) A、位示图 B、空闲块成组链接法 C、FAT表 D、空闲块多级目录法 4.防止系统故障造成破坏,文件系统可以采用( )。 A、建立副本和定时转储 B、对每个文件规定使用权限 C、为文件设置口令 D、把文件信息翻译成密文 5.对随机存取的文件只能在磁盘上组织成( )。 A、顺序文件 B、索引文件 C、连续文件 D、链接文件 6.下列文件全属于物理文件的是( )。 A、流式文件、串联文件 B、索引文件、记录式文件 C、流式文件、记录式文件 D、顺序文件、索引文件 7.最简单的文件目录是( )。 A、最末一个结点是文件 B、容易实现“按名存取” C、一级目录结构 D、多级目录结构

8.在多级目录结构中,要访问一个文件时,必须指出文件的( )。 A、父目录 B、当前目录

3

C、路径名 D、根目录

9.逻辑文件是由( )确定的文件组织形式(即文件结构)。 A、外部设备 B、虚拟存储

C、绝对地址空间 D、用户按对信息处理要求 10.存储设备与存储器之间进行信息交换的物理单位是( )。 A、卷 B、块 C、文件 D、记录

11.逻辑文件中逻辑记录的长度由( )因素决定。 A、文件的性质 B、存储介质的分块 C、文件的长度 D、主存块的大小 12.文件系统是指( )

A、文件的集合 B、文件的目录

C、实现文件管理的一组软件 D、文件、文件管理文件的软件及数据结构的总体 13.从用户的角度看,引入文件系统的主要目的是( ) A、实现虚拟存储 B、保存系统文档

C、保存拥护和系统文档 D、实现对文件的按名存取 14.文件系统中用( )管理文件

A、作业控制块 B、外页表

C、目录 D、软硬件结合的方法

15.为了解决不同用户文件的“命名冲突”问题,通常在文件系统中采用( ) A、约定方法 B、多级目录 C、路径 D、索引 16.磁盘上的文件以( )为单位读写 A、块 B、记录 C、柱面 D、磁道 17.磁带上的文件一般只能( )

A、顺序存取 B、随机存取

C、按键存取 D、按字节为单位存取 18.使用文件前必须先( )文件

A、命名 B、打开 C、建立 D、备份 二、多项选择题

1.关于一级目录结构说法正确的是( )。 A、一级目录结构是最简单的目录结构 B、所有的文件都登记在同一个文件目录中 C、一级目录结构简单,管理复杂 D、一级目录不支持文件重名 E、容易实现文件共享

2.关于二级目录结构说法正确的是( )。

A、二级目录第一级为主文件目录,主文件目录以文件名为索引

B、第二级目录为用户文件目录,用户文件目录为本用户每一个文件设置一个目录项 C、二级目录结构复杂,管理简单 D、二级目录支持文件重名 E、容易实现文件共享

4

3.树形目录的优点有( )。

A、解决了重名问题 B、有利于文件的分类 C、提高检索文件的速度 D、能进行存取权限的控制 E、管理简单,容易实现

4.下列文件中不属于物理文件的是( )。

A、连续文件 B、链接文件 C、记录式文件 D、索引文件 E、流式文件

5.顺序结构文件的特点是( )。 A、磁盘存储空间的利用率不高 B、便于用户户扩充文件 C、存储空间不必连续 D、便于随机存取 E、存取信息速度快

6.文件的保密是指防止他人窃取文件,采用( )方法实现文件保密。 A、定时转储 B、建立副本

C、为文件设置口令 D、规定文件使用权限 E、将文件译成密文 三、问答题:

1.假定某文件系统把文件存储到磁盘上时采用链接结构,磁盘的块大小为512个字符,逻辑记录的大小为48个字符,回答下列问题:

①一个逻辑记录占用一个物理块,磁盘空间的利用率如何?

②怎样才能有效地利用磁盘空间?若记录不能跨块,磁盘空间利用率最大可达多少?

3.假定某文件系统把文件存储到磁盘上时采用链接结构,磁盘的块大小为512个字符,而逻辑记录的大小为250个字符。现有一个名为ABC的文件,共10个逻辑记录,回答下列问题:

①怎样才能有效地利用磁盘空间?

②画出文件ABC在磁盘上的链接结构(磁盘块号自定)。

③若用户要求查找包含第1452个字符的逻辑记录,请写出完成用户要求的主要步骤。 4.有一个可以带2个终端的计算机系统,该系统配置了一个磁盘用来存储终端用户的程序和数据。今有2个用户,他们在各自的终端上键入数据并都存储在磁盘上,并且文件名均为abc,请问系统应该采用怎样的目录结构才能区别这些文件,并画出这个目录结构。

5.假定有一个磁盘3200个磁盘块(每个磁盘块为512字节)可用来存储信息,如果用字长为16位的字来构造位示图,若位示图部分内容如下: 0123456789101112131415

位 位 位 位 位 位 位 位 位 位 位 位 位 位 位 位 0字 1字 2字

1 1 1 ? 1 1 1 ? 1 1 1 ? 1 0 1 1 1 0 1 1 0 1 1 0 ? 1 0 0 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 1 ? 1 1 1 ? 1 1 0 ? 请问:

①位示图共需多少个字?

②若某文件长度为3200字节,采用链接结构,系统将为它分配哪些磁盘块?

6.UNIX系统采用空闲块成组链接的方法管理磁盘空闲空间,图中是采用UNIX操作系统的某系统的空闲块成组链接示意图,问此时若一个文件A需要5个盘块,则系统会将哪些

5

盘块分配给它?若之后有个文件B被删除,它占用的盘块块号为333、334、404、405、782,则回收这些盘块后专用块的内容如何?

空闲块数4 空闲块数空闲块数 100 100 50 150 0 49 149 449 56

12 … …

… 52 351

专用块 51 …

图 某系统磁盘空闲块情况

7.为了实现按名存取,文件目录至少应包含哪些内容?

8.用户A有名为W1,W2和W3的三个私有文件,用户B有名为J1和J2的两个私有文件,这两个用户都需要使用共享文件T。文件系统对所有用户提供按名存取的功能,为保证存取的正确性,文件系统应设置合理的目录结构,请画出文件系统设计的目录结构。

9.假定有一个磁盘组共有100个柱面,每个柱面上有8个磁道,每个盘面被划分成8个扇区。柱面、磁道、扇区的编号均从“0”开始,请问磁盘盘块的编号和磁盘的柱面号、磁头号和扇区号有什么关系?

10.假定有一个磁盘组共有199个柱面,每个柱面上有16个磁道,每个盘面被划分成8个扇区。现有一个含有700个逻辑记录的文件,逻辑记录的大小与扇区大小一致,该文件以顺序结构的形式被存放到磁盘上。柱面、磁道、扇区的编号均从“0”开始,逻辑记录的编号也从“0”开始。该文件信息从1柱面、5磁道、0扇区开始存放,试问: ①该文件的第380个逻辑记录应存放在哪个柱面的第几磁道的第几个扇区? ②第2柱面的第1磁道的第7扇区中存放了该文件的第几个逻辑记录?

11.假定某磁盘的旋转速度是每圈20毫秒,格式化时每个盘面被分成10个扇区,现有10个逻辑记录存放在同一磁道上,安排如下表所示。

扇区号 1 2 3 4 5 6 7 8 9 10 逻辑记录 A B C D E F G H I J 处理程序要顺序处理这些记录,每读出一个记录后处理程序要花4毫秒的时间进行处理,然后再顺序读下一个记录并处理,直到处理完这些记录,回答: ①顺序处理完这10个记录总共花费了多少时间?

6

②请给出一种记录优化分布的方案,使处理程序能在最短时间内处理完这10个记录,并计算优化分布时需要花费的时间。

12.某系统中磁盘的每个盘块大小为1KB,外存分配方法采用索引分配方式中的混合分配方式,其中索引节点中直接地址4项,一次间接地址2项,二次间接地址1项,每个盘块号占用4个字节,请问该系统中允许的文件最大长度是多少? 13.某系统文件系统采用的物理文件结构是链接结构,请设计一个该系统的磁盘空间管理方案。(包括数据结构和分配、回收磁盘空间的基本方法),并写出磁盘空间的分配算法。

参考答案 一、单项选择 1.A 2.C 3.B 4.A 5.B 6.D 7.C 8.C 9.D 10.B 11.A 12.D 13.D 14.C 15.B 16.A 17.A 18.B

二、多项选择题

1.ABD 2.BDE 3.ABCD 4.CE 5.AE 6.CE

三、问答题:

1.①一个逻辑记录占用一个物理块,磁盘空间的利用率:

48/512=9.375%

②为了有效地利用磁盘空间,采用记录成组的办法。

若记录不能跨块,则每个盘块中可记录: [512/48]=10 空间利用率: 48*10/512=93.75%

3.①采用记录成组方式,才能有效地利用磁盘空间,采用不跨块记录方式,每个盘块中存放两个逻辑记录。共10个逻辑记录,需要5个盘块。

文件目录 ②

0 1 2 3 4

5 6 7 17 8 9 7

10 11 12 13 14

15 16 17 18 18 19 19 -1

③首先计算该字符在第几个逻辑记录中, 1452/250 =6; 计算出在第几个盘块中, 6/2 =3; 从目录中读出第一个盘块号9;

读出第一个盘块9,得到下一个块号7; 读出第二个盘块7,得到下一个块号17;

文件名 起始地址 ABC 9 7

读出第三个盘块17,从中分离出第6个(该盘块中第2个)记录。

4.系统应该采用二级或多级的目录结构才能区别这些文件,目录结构:

主文件目录 user1 user2 ? 用户文件目录 abc u2 ? Us abc ? 文件

5.①此位示图需要字数为:

3200/16=200

②文件需要盘块数为: 3200/512=7块

该文件得到19、23、24、25、26、36和37块。 6.文件A得到的盘块块号为12、56、49、50和51。

删除文件B后,专用块中内容为:

空闲块数4,块号依次为334、404、405、782。

7.至少在目录项中指出文件名和文件在存储介质上的位置。 8.采用二级或多级目录

主文件目录 A B ? W1 W2 W3 … T T J1 J2 … 文件

9.磁盘盘块的编号和磁盘的柱面号、磁头号和扇区号的对应关系:

盘块的编号=扇区号+8×磁头号+8×8×柱面号 柱面号=[盘块的块号/(8×8)] N=盘块的块号 % (8×8) 磁头号=[N/8] 扇区号=N % 8

10.①该文件的第380个逻辑记录应存放在4柱面的4磁道的第4个扇区。 ②第2柱面的第1磁道的第7扇区中存放了该文件的第103个逻辑记录。

11.①因为每个记录读出后,需等待上一个记录处理后,才能读下一个记录,所以顺序处理一个记录时,读一个记录后,下一个记录已经走过,因此只好在等磁盘旋转下一周时才能读出,进行处理,所以共花费了时间:20×10+4=204毫秒 ②优化方案:

扇区号 1 2

逻辑记录 A H 8

3 4 5 6 7 8 9 10 E B I F C J G D 因为每个记录读出需20/10=2毫秒,处理需4毫秒,按上述分布,处理完一个记录正好磁头转到一个记录,所以处理时间需要:(2+4)×10=60毫秒。

12.系统中允许的文件最大长度=4X1+2X256X1+256X256X1=6+512+65536=66052KB 13.这里仅给出利用“位示图”进行磁盘空间的分配和回收的方法。 ⑴位示图

对每个磁盘可以用一张位示图指示磁盘空间的使用情况。一个磁盘的分块确定后,根据总块数决定位示图由多少字组成,位示图中的每一位与一个磁盘块对应,某位为“1”状态表示相应块已被占用,为“0”状态的位所对应的块是空闲块。块号、位号、字号决从“0”开始编号。 ⑵磁盘块的分配

当有文件要存放到磁盘上时,查位示图中为\的位,表示对应的磁盘块空闲可供使用。根据查到的位所在的字号和位号可计算出对应的块号,同时在该位填上占用标志“1”。

块号=字号×字长+位号

于是,文件信息就可按确切的地址存放到找到的磁盘块上。 #define false 0 #define true 1

bit map[n][m]; /*位示图,共n个字,每个字有m位*/ allocate( ) {

int i,j;

for(i=0;i

if(map[i][j]==0) {

map[i][j]=1;

return(i*m+j);/*返回对应块号*/ }

return(false); }

⑶磁盘块的回收

当删除文件归还存储空间时,可以根据归还块的块号推算出在位示图中的位置,或由物理地址计算出对应的块号后再确定在位示图中的位置,把这一位的“1”清成“0”,表示该块成为空闲块了。

字号=[块号/位示图中字长] 位号=块号mod位示图中字长

9

本文来源:https://www.bwwdw.com/article/yafh.html

Top