操作系统--课堂问答笔记28--习题答案

课堂笔记学习视频来自 操作系统
说明:其他”课堂问答笔记“也在”操作系统“专栏

【6-4、6-5】

1、简述成组链接法的原理。

答:成组链接法是Unix系统中常见的管理空闲盘区的方法,它把空闲块分为若干组,每100个空闲块为一组,每组的第一个空闲块记录了空闲块总数和下一组物理空闲块的物理盘块号:

 

左边绿色的空闲盘块号栈,这是第一组(唯一进入内存的一组,只有它会占据存储空间)。S.free = 100表示该组有100个空闲块数目,再往下,第0号对应的是300,表示下一组空闲物理块的物理盘块号为300,它指向的是300号对应的磁盘块。再看黄色的块,这些块里保存的才是真正的可用的空闲物理块,也就是说每组中只有99个块可用。尽管如此,每组还是有100个块的(第1块存放下一组的盘块号)。特别要注意的是,最后一组的下一组盘块号没有了,这里采用的是结束标记“0”,也就是最右边一个蓝色块的第二项为0。

分配空闲块的时候,从前往后分配,先从第一组开始分配,第一组空闲的100块分完了,才进入第二组。

释放空闲块的时候正好相反,从后往前释放,先将释放的空闲块放到第一组,第一组满了,在第一组前再开辟一组,之前的第一组变成第二组。依次……。

 

2、描述文件控制块的功能及其构成。

答:文件控制块是用于描述和控制文件的数据结构。文件与文件控制块一一对应(就像一个进程与它的PCB一一对应一样),文件目录就是文件控制块的有序集合一个文件控制块就是目录中的一个表项

对于不同操作系统的义件系统,由于功能的不同,可能只含有上述信息中的某些部分。下图是MS-DOS中的文件控制块,它含有文件名、文件所在的第一个盘块号、文件属性、文件建立日期和时间及文件长度等信息。

 

一般地,文件控制块中可以包含以下信息:

1)文件名:用于标识一个文件的符号名,在每个系统中,文件必须具有唯一的名字,用户可利用该名字进行存取。

 2)文件的物理位置:指示文件在外存上的存储位置,包括存放文件的设备名、文件在外存上的起始盘块号,以及指示文件所占用磁盘块数或字节数的文件长度

 3)文件逻辑结构:指示文件是流式文件还是记录式文件。对于记录式文件还需说明是定长记录还是变长记录等。

 4)文件的物理结构:指示文件是顺序文件、链接文件还是索引文件。

 5)文件主(文件拥有者,一般是文件创建者)的存取权限。

 6)核准用户(除文件主之外的合法用户)的存取权限。

 7)—般用户(其余用户)的存取权限。

 8)文件的建立日期和时间。

 9)文件上一次修改的日期和时间。

 10)当前使用信息。包括当前已打开该文件的进程数、是否被其他进程锁住、文件在内存中是否被修改而尚未复制到磁盘上。

 

3、简述引入索引结点的目的及分类。

答:检索目录文件(FCB的集合)时只用到了文件名。仅当找到一个目录项时才需要从该目录项(FCB)中读出该文件的物理地址。即:检索目录时文件的其他描述信息用不到,也因此不必调入内存。那么我们是否可以考虑,把文件名和文件的描述信息分开,文件的描述信息单独形成一个数据结构,这个被称作索引结点。简称为i结点。在文件目录中的每个目录项仅由文件名和指向该文件所对应的i结点的指针构成。

 

设目录文件所占用的盘块数为 N,按此方法查找,则查找一个目录项平均需要调入盘块(N+1)/2次(≈N/2,怎么来的,前面讲过很多次了)。如不采用索引结点,假如一个FCB为64个字节(B),又如果一个盘块大小为1KB,则每个盘块中只能存放16个FCB。若一个文件目录中共有640个FCB,需占用40个盘块,故平均查找一个文件需要启动磁盘20次(调入一个盘块启动一次磁盘)。

若采用索引结点,如UNIX文件系统:一个目录项仅占16个字节(B),前14个字节是文件名,后2个字节是i结点指针(如上图),则每个盘块(盘块大小=1KB)中可存放64个目录项,有640个文件的文件目录只需占用10个盘块。为查找一个文件,可使平均启动磁盘的次数减少到原来的1/4,大大节省了系统开销。

存放在磁盘上的索引结点称为磁盘索引结点,UNIX中的每个文件都有一个唯一的磁盘索引结点。主要包括以下几个方面:

文件主标识符——拥有该文件的个人或小组的标识符。

文件类型——包括普通文件、目录文件或特别文件。

文件存取权限——各类用户对该文件的存取权限。

文件物理地址——每个索引结点中含有13个地址项,它们以直接或间接方式给出数据文件所在盘块的编号。

文件长度——以字节为单位。

文件链接计数——在本文件系统中所有指向该文件的文件名的指针计数。

文件存取时间——本文件最近被进程存取的时间、最近被修改的时间以及索引结点最近被修改的时间。

存放在内存中的索引结点称为内存索引结点,文件被打开时,磁盘索引结点复制到内存的索引结点中,以便于使用。在内存索引结点中又增加了以下内容(包括上述磁盘索引结点的内容):

索引结点编号——用于标识内存索引结点。

状态——指示i结点是否上锁或被修改。

访问计数——每当有一进程要访问此i结点时,计数加1,访问结束减1。

逻辑设备号——文件所属文件系统的逻辑设备号。

链接指针——设置分别指向空闲链表和散列队列的指针。

 

4、简要描述目录结构的演化。

答:1)单级文件目录:

这是最简单的文件目录。在整个文件系统中只建立一张目录表,每个文件占一个目录项,目录项中含文件名、文件扩展名、文件长度、文件类型、文件物理地址以及其它文件属性。此外,为表明每个目录项是否空闲,又设置了一个状态位。

 

2)两级文件目录:

为了克服单级文件目录所存在的缺点,可以为每一个用户再建立一个单独的用户文件目录UFD(User File Directory)。这些文件目录具有相似的结构,它由用户所有文件的文件控制块组成。此外,在系统中再建立一个主文件目录MFD(Master File Directory);在主文件目录中,每个用户目录文件都占有一个目录项,其目录项中包括用户名和指向该用户目录文件的指针。

 

3)树形目录:

在现代OS中,最通用且实用的文件目录无疑是树形结构目录(大家现在正在用的目录结构)。它可以明显地提高对目录的检索速度和文件系统的性能。主目录在这里被称为根目录,在每个文件目录中,只能有一个根目录,每个文件和每个目录都只能有一个父目录。把数据文件称为树叶,其它的目录均作为树的结点,或称为子目录。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三桥君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值