第一范文网 - 专业文章范例文档资料分享平台

操作系统(宗大华版)课后习题答案

来源:用户分享 时间:2025/7/29 3:09:46 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

4.Linux存储管理的特点是采用在 各个分区 里进行分页的存储管理技术。

5.采用在分区里分页的虚拟存储管理技术,有利与实行存储 保护 和共享。 6.Ext2中块组里的索引节点位图,是用来管理块组中的 索引节点 的,它占用一个盘块。 7.Ext2中块组里的盘块位图,是用来管理块组中的 盘块 的,它占用一个盘块。 8.Linux中的进程描述符,就是通常所说的 进程控制块 。 9.Linux内核中,利用控制寄存器来控制硬设备完成输入/输出任务的软件,叫做设备驱动程序,有时也称为 设备驱动器 。 10.网络是一种经过 网络接口 与主机交换数据的设备。

二、选择

1.下面所列的名称中, B 不是Linux进程的状态。

A. 僵死状态 B.休眠状态 C.可中断状态 D.可运行状态

2.Linux的SCHED_RR调度策略,适合于 C 。

A.运行时间短的实时进程 C.运行时间长的实时进程

B.交互式分时进程 D.批处理进程

3.下面列出的进程间通信方法中, A 不被用来在进程之间传递具体数据。 A. 信号 B.消息队列 C.共享存储区 D.管道 4.Linux在实行虚拟地址转换时,采用的是 B 级页表结构。 A. 一 B.二 C.三 D.四 5.在Ext2中,下面的说法, D 是错误的。 A. 每个文件都有一个inode节点

B.目录文件有inode节点

C.特别文件有inode节点 D.打印机没有inode节点

6.在Linux中, A 在文件系统中没有相应的inode节点。 A. 网络设备 B.打印机 7.按照文件的内容,Linux把文件分成 D 三类。 A.系统文件、用户文件、设备文件

C.终端 D.磁盘

B.一般文件、流式文件、记录文件

C.目录文件、流式文件、设备文件 D.普通文件、目录文件、特别文件

8.在Linux中,对于页表,下面的说法里 C 是正确的。

A.页表必须占用连续的内存空间 B.页表必须全部在内存

C.页表不必全部在内存,可以不占用连续的内存空间 D.页表必须全部在内存,但可以不占用连续的内存空间

45

三、问答

1.何谓在分区里进行分页的虚拟存储管理技术?

答:所谓在分区里进行分页的虚拟存储管理技术,即是把用户程序按照其逻辑结构,把虚拟存储空间划分成若干个分区,然后在分区里面分页。由于通常都是按照程序的逻辑结构来划分分区,因此这种存储管理技术,不仅具有页式存储管理的特点(各页可以存放在内存中不连续的页里),而且有利于进行存储保护和共享。 2.Linux采用的多级页表技术,有什么优点? 答:按照分页式存储管理,页表必须占据内存的连续存储区。由于Linux提供的虚拟地址空间,最大可以有1M个页面。因此,一个页表最大就可以有一百万个表项。把它存放在一个连续的内存区里,不利于存储空间的充分利用。于是,Linux就将页表也按页来划分,并形成页表的索引。这样,大的页表就不必占用连续的内存空间了,从而提高了内存空间的利用率。 3.如书上的图8-12(a)的位示图里,如果现在第36内存块被释放,那么它是否应该和它前面的第34、35块以及它后面的第37、38、39、40块,合并成为一个大的空闲区?为什么? 答:不应该与它们合并。在伙伴系统里,只有尺寸相同、又相邻接的空闲区才能进行合并。第36内存块是由独个内存块构成的空闲区,第34、35块是由两个块构成的空闲区,第37、38、39、40块是由四个块构成的空闲区。既然它们的尺寸不同,因此不能合并。 4.在Ext2中,若有一个分区大小为8GB,盘块的尺寸是4KB。试问,该文件卷最多有多少磁盘块?最多有多少个块组? 答:由于盘块的尺寸是4KB,共有8*4K=32K个二进制位。这表明,在一个块组里,用一个盘块构成盘块位图时,最多可以管理32K个磁盘块,也就是一个块组里最多可以有32K个磁盘块。现在分区尺寸为8GB,盘块尺寸为4KB,所以整个文件卷有8GB/4KB=2M个盘块;有2M/32K=64个块组。 5.试画出Linux巨型文件的索引结构图。 答:Linux巨型文件的索引结构图如下:

6.模仿书上图8-9,画出Linux的三级页表式地址转换过程图。

答:Linux的三级页表式地址转换过程图如下:

46

7.Linux的每个进程都有若干个VMA,且两个VMA可以不连续。即使两个VMA连续,它们也必须分开管理吗?为什么? 答:即使两个VMA连续,它们也必须分开管理。这是因为两个VMA实施的存储保护可以不同,不可能进行统一的管理。 8.试描述在Linux中,你如何能够根据给出的文件名称,找到该文件具体存放在磁盘的哪些磁盘块上的? 答:首先根据文件名称查文件目录,得到该文件的inode节点编号。再由inode节点编号,在索引节点表里找到该文件的索引节点。最后从索引节点里的i_block[ ]数组,就可以得到该文件具体存放在哪些磁盘块里。

9.模仿书上图8-23所示的字符设备数据结构间的关系,画出块设备管理中blkdevs数组、device_struct结构、block_device_operations结构间的关系示意图。

答:块设备数据结构间的关系示意图如下:

四、计算 1.如果在Linux里,某段小于4MB。那么它虚拟空间的页表索引有多少表项?它有多少个页表?构成页表索引和页表,总共需要开销多少内存空间?

答:对于Linux来说,它的页表索引最大有1024个表项,每个表项对应一个页表。每个页表有

47

1024个表项,一个表项描述了虚拟空间中的一页与内存块(4KB)的对应情况。因此,一个页表可以用来描述4MB大小的空间。由于现在已知段的长度小于4MB,即是虚拟地址空间小于4MB。所以,它的页表索引需要有1个表项,这个表项指向唯一的一个页表。

虽然页表索引只有1个表项,但必须占用一页的存储量。另外,一个页表要占用一页的存储量。所以,小于4MB的段,要开销两个块的存储空间。

2.假设页面的尺寸为4KB,一个页表项用4B。若要求用页表来管理地址结构为36位的虚拟

地址空间,并且每个页表只占用一页。那么,采用多级页表结构时,需要几级才能达到管理的要求?

答:36位的虚拟地址空间尺寸为236=16GB。已知页面的尺寸为4KB,一个页表项用4B,每个页表只占用一页。这表示一个页表有1024个表项,可以管理1024(=210)个页面,即管理4M(=222)大小的虚存空间。根据题意,第1级只能是一个页表,它可以管理K个页面(因为一个页表里有1024个表项)。K个页面的存储量是4MB。因此,用一级页表不能管理16GB的虚拟空间。于是进入第2级;第2级有K个页表,可以管理K*K个页面。K*K个页面的存储量是

4GB。显然用二级页表不能管理16GB的虚拟空间。于是进入第3级;第3级有K*K个页表,可以管理K*K*K个页面。K*K*K个页面的存储量是超过了16GB,达到了242。因此,本题需要使用三级页表才能够管理236的虚拟空间。

3.Linux的空闲区队列表free_area总共可以有11个队列。试问,在第11个队列里排队的每一个空闲区里,包含有多少个连续的内存块?

答:Linux的空闲区队列表free_area里,排在每个队列里的空闲区中所含连续块的数目,是按2的次幂递增的。在第1个队列里,空闲区中所含连续块的数目为20;在第2个队列里,空闲区中所含连续块的数目为21;在第3个队列里,空闲区中所含连续块的数目为22;??。因此,在第11个队列里,空闲区中所含连续块的数目为210。即在这个队列里,每个空闲区中所含连续块的数目为1024块!

4.Linux的Ext2文件系统,其巨型文件最多可以有多少个磁盘块?

答:Ext2文件系统的巨型文件,最多可以有(b/4)*(b/4)*(b/4)+(b/4)*(b/4)+(b/4)+12个磁盘块。

第9章习题解答

一、填空?

1.MS-DOS操作系统由BOOT、IO.SYS、MSDOS.SYS以及 COMMAND.COM 所组成。 2.MS-DOS的一个进程,由程序(包括代码、数据和堆栈)、 程序段前缀 以及环境块三部分组成。

3.MS-DOS向用户提供了两种控制作业运行的方式,一种是 批处理方式 ,一种是命令处理方式。

48

搜索更多关于: 操作系统(宗大华版)课后习题答案 的文档
操作系统(宗大华版)课后习题答案.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c4lv6g0ue4g6i8ss1cmtf_12.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top