北大操作系统课后题参考答案 联系客服

发布时间 : 星期一 文章北大操作系统课后题参考答案更新完毕开始阅读cc4057323968011ca3009174

86,147,91,177,94,150,102,175,130

试给出采用下列算法后磁头移动的顺序和移动总量(总磁道数) 1)最短寻道时间优先(SSTF)磁盘调度算法

2)扫描法(SCAN)磁盘调度算法(假设沿磁头移动方向不再有访问请求,磁头沿相反方 向移动)

答:1)143 147 150 130 102 94 91 86 175 177 2)143 130 102 94 91 86 147 150 175 177

4.假定一个文件系统用索引文件结构管理存储块。每个文件都有一个目录项,存放文件名 ,第一个索引块,以及文件长度。第一个索引块指向248各文件块和下一个索引块。如果 一个文件当前放在第2009各逻辑块,而下一个操作是访问第306个逻辑块,那么必须从 磁盘上读多少个物理块? 答:

5.假定一个UNIX的磁盘块能够存放1048个磁盘地址。用直接盘块指针的文件的最大尺寸是 多少?一重间接块指针呢?二重间接块指针呢?三重呢?

6.早期MS-DOS版本的文件系统最大能够管理32M的磁盘空间,根据本章所讲的有关目录和 文件的知识,推测由于该限制可能导致的一些后果。

7.假定一个文件系统的组织方式与MS-DOS文件系统类似,在FAT中有64K个指针,请说明该 文件系统是否能够用这64K个指针来引用一个512M磁盘上一个512字节块。

8.文件系统检测程序经常利用位图。基本的想法就是把该图拷贝到检测程序的地址空间去 ,把图中每一个项放大,使它能够包含更多的状态信息(例如已分配,未分配,已检测, 坏块),请设计一个算法,用增加内容位示图来检测一个磁盘的上述状态信息,并作出具 体统计。

答: 1)为位图增加一个内容位示图,已分配,未分配,已检测,坏块分别用0,1,2,3来代 替

2)检测磁盘,遇到0,:count0++,遇到1:count1++,遇到2,count2++,遇到3,count3 ++,(初值都为0)

3)得出相应的块的个数。

9.假定需要一种机制,是的一个文件能被任何用户读,但只能被一个用户写。比如全国 高考成绩,可被高考学生读,但只能被有关办公室修改成绩,请设计该文件的存取控制机 制。

答:1)审定用户权限

2)比较用户权限的本次存取要求是否和用户的存取权限一致

3)将用户的存取要求和被访问文件的存取控制表进行比较,看是否冲突,如果没有 冲突,允许用户对有关文件进行访问,如果有冲突,处理冲突。

10.请描述一种机制,硬件的或软件的,它根据用户的指纹进行身份识别。

答:第一步要对用户的身份进行验证,第二步,采用一组称为存取控制模块的程序,对用 户

的存取权限进行控制。

11.文件目录的作用是什么?一个目录表目应包含哪些信息?

答:文件目录就是文件控制块的有序集合,即把所有文件控制块有机地组织起来,就构成 了文件目录。

文件控制块应该包括以下内容:文件名,文件号,用户名,文件地址,文件长度,文 件类型,文件属性,共享计数,文件的建立日期,保存期限,最后修改日期等!

12.多级目录结构的特点有哪些?有什么好处? 答: 优点:

层次结构清晰,便于管理和保护;有利于文件分类;解决重名问题;提高文件检索速度 ;能进行存取权限的控制 缺点:

查找一个文件按路径名逐层检查,由于每个文件都放在外存,多次访盘影响速度 13.可通过什么办法来实现用户之间共享某个文件? 答:1)绕道法 2)I节点法 3)符号链接法

14.在设计文件系统时,对文件的数据结构应做何考虑? 答:顺序结构,链接结构,索引结构以及I节点.

15.请设计一个文件系统的FCB,并说明为何要安排FCB的每一项内容。

答:文件控制块PCB为系统管理文件而设置的一个数据结构。FCB是文件存在的标志,它记 录了系统管理文件所需要的全部信息。见图6.2 文件控制块

16.在文件系统中,使用Create和Open命令的目的是什么?他们的具体功能是什么?能不 能只用一个命令,完成文件的建立和打开操作?

答:create 和open命令是建立一个和打开一个文件。

create建立一个文件,open打开一个已存在的文件,或者先创建然后打开一个文件 能用一个命令open来完成文件的建立和打开操作.

17.对下列每个问题,试说明它由文件系统中哪一个部分处理的,以及如何处理的? 1)存储碎片问题

2)允许给不同的文件以相同的文件名 3)缓冲处理

4)扩充文件时,存储空间的申请。 答:1)文件的物理结构 2)存储结构 3)存储性能

4)存储空间的管理

18. 对常用的计算机系统,分析其文件映射功能的透明性。 答:实现文件的按名存取 名字空间 映射 存储空间

19.在UNIX系统中,采用I节点方式给出一个文件所在磁盘号的块号。假设每个磁盘块的大 小为1024字节,并且每个间接盘块能容纳256个块号,试问:

1)如果进程要读取某文件的字节偏移量为8192,应该如何找到它所在的磁盘号? 2)如果要存取某文件的字节偏移量为640000,又将如何?

20.能用单级目录来模拟多级目录?如果能,揭示如何实现之。

21.由一个文件系统,根目录常驻内存,如下图所示。(图略)

目录文件采用链接结构,规定一个目录下最多存放40个下级文件,下级文件可以是目录文 件

,也可以是普通文件。每个磁盘块可以存放10个下级文件的描述信息,若下级文件为目录 文件,则上级目录指向目录文件的第一块,否则指向普通文件的文件控制块。

1)普通文件采用UNIX的三级索引结构,即文件控制块给出13个磁盘地址,前10个磁盘地址 指出文件前10块的物理地址,第11个磁盘地址指向一级索引表,一级索引表给出256个磁 盘地址,即指出该文件第11块到第266块的物理地址;第12个磁盘地址指向二级索引表, 二级索引表中指出了256个一级索引表的地址,第13个磁盘地址指向三级索引表,三级索 引表指出256个二级索引表的地址,该文件系统中的普通文件最大可由多少块?假设主索 引表放在FCB中,若要读问A\\D\\G\\I\\K中某一块,最少要启动磁盘几次?最多要启动磁盘几 次?若要减少启动磁盘的次数,可采用什么办法?2)普通文件采用链接结构,若要读A\\ D\\G\\I\\K的第75块最少启动磁盘几次,最多几次?

22.在文件系统中,使用文件前要先打开文件,请写出“打开文件”系统调用的主要实现 步骤,包括相关的数据结构,设命令为fopen(文件名,打开方式)。 答:打开文件

使用文件的第一步,任何一个文件使用前都要先打开,即把FCB送到内存 fd=open(文件路径名,打开方式) ① 根据文件路径名查目录,找到FCB主部; ② 根据打开方式、共享说明和用户身份检查访问合法性; ③ 根据文件号查系统打开文件表,看文件是否已被打开; 是→共享计数加1

否则→将外存中的FCB主部等信息填入系统打开文件表空表项,共享计数置为1; ④ 在用户打开文件表中取一空表项,填写打开方式等,并指向系统打开文件表对应表项 返回信息:fd:文件描述符,是一个非负整数,用于以后读写文件

23.1)在文件系统中,会出现文件希系统不一致的现象,请简要解释这种现象产生的原因 及问题的严重性.

为了解决文件系统的不一致性问题,常采用一个实用程序检查文件系统,在进行了 块的一致性检查后,得到如下结果: 图略

请解释该文件系统出现的每一错误,并给出处理方法。 2)第二轮复习的时候再看!

答:很多文件系统在读取磁盘块进行修改后,再写回磁盘,如果在修改过的磁盘块全部写 回之前,系统崩溃,则文件系统有可能处于不一致的状态。

如果未被写回的块是I节点,文件目录,或者是空闲块列表,那么问题就有点严重. 24.在实现文件系统时,为了加快文件目录的检索速度,可利用“文件控制块分解法”。

假设目录文件存放在磁盘上,每个盘块512字节,文件控制块占64字节,其中文件名占8字 节,文件控制块分解后,第一部分占用10字节(包括文件名和文件内部号),第二部分占 56字节

(其中包括文件内部号和文件其他信息)

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

2)一般地,若目录文件分解前占用n个盘块,分解后改用m个盘块存放文件名和文件内部 号部分,请给出访盘次数减少的条件。

25. 文件分配所用的位示图应该保存在哪里,请说明原因.

26.对于用户来说,有些系统把设备也看成文件,试问这样做有什么好处?还会带来什么 问题?

27.计算机用户身份鉴别与验证通常有哪三种方式?

28.在设计文件系统的安全性时,应该考虑哪些方面的情况?

29.请对常使用的计算机系统中的文件系统的性能和可靠性,做一个比较全面的评价。如 果想改进这个文件系统的性能和可靠性,可以从哪些方面进行? 作业管理

1.阐述程序,作业,作业步和进程之间的联系和区别。 答:

(1)作业

用户在一次计算过程中,或者一次事务处理过程中,要求计算机系统所做工作的总称 (2)作业步

一个作业可划分成若干部分,称为一个作业步 典型的作业控制过程:

“编译”、“连接装配”、“运行”

2.一个具有分时兼批处理功能的操作系统应该怎样调度和管理作业?为什么? 品

3.在一个批处理系统中,一个作业从提交到运行结束并退出系统,通常要经历哪几个阶段 和状态?你能说出这些状态转变的原因吗?哪些程序负责这些状态的转变?

4.假设有三个作业,他们进入时间和估计运行的时间如下:

作业号 进入时刻 估计运行时间 1 10:00 60分钟 2 10:10 60分钟 3 10: 25 15分钟

在单道批处理方式下,采用先来先服务算法和最短作业优先算法进行作业调度。请给出 他们的调度程序,并分别计算出作业平均周转时间和带权平均周转时间,请对计算结果进 行解释。

答:先来先服务:

作业号 进入时间 估计运行时间 开始时间 结束时间 周转时间 带权周转时间 1 10:00 60 10:00 11:00 60 1 2 10:10 60 11:00 12:00 110 11/6 3 10:25 15 12:00 12:15 110 22/3 平均周转时间:280/3 带权:55/6+6/6=61/6

最短作业服务:

作业号 进入时间 估计运行时间 开始时间 结束时间 周转时间 带权周转时间 1 10:00 60 10:00 11:00 60 1 2 10:10 60 11:15 12:15 125 25/12 3 10:25 15 11: 00 11: 15 50 10/3 平均周转时间:235/3 带权:1+25/12+10/3=

5.有一个两道的批处理操作系统,作业调度采用最短作业优先的调度算法,进程调度采用 基于优先数的抢占式调度算法,有如下的作业序列:

作业 进入时间 估计运行时间 优先数 1 10:00 40分钟 5 2 10:20 30分钟 3 3 10:30 50分钟 4 4 10: 50 20分钟 6 其中优先数数值越小,优先级越高。

1)列出所有作业进入内存时间及运行结束时间 2)计算作业平均周转时间和带权平均周转时间。

答:

作业号 进入时间 估计运行时间 开始时间 结束时间 周转时间 带权周转时间 1 10:00 40 10:00 11:00 60 3/2 2 10:20 30 10: 20 10:50 30 1 3 10:30 50 10:30 11:20 50 1 4 10:50 20 11: 00 11:20 30 3/2 平均周转时间:2.5 带权:5