好文档 - 专业文书写作范文服务资料分享网站

《现代操作系统第四版》第二章答案

天下 分享 时间: 加入收藏 我要投稿 点赞

现代操作系统 第二章进程与线程 习题

1. 图2-2中给出了三个进程状态,在理论上,三个状态可以有六种转换,每个

状态两个。但是,图中只给出了四种转换。有没有可能发生其他两种转换中的 一个或两个?

A:从阻塞到运行的转换是可以想象的。假设某个进程在 I/O上阻塞,而且I/O

结束,如果此时CPU空闲,该进程就可以从阻塞态直接转到运行态。而另外一 种转换(从阻塞态到就绪态)是不可能的。一个就绪进程是不可能做任何会产 生阻塞的I/O或者别的什么事情。只有运行的进程才能被阻塞。

2. 假设要设计一种先进的计算机体系结构,它使用硬件而不是中断来完成进程

切换。CPU需要哪些信息?请描述用硬件完成进程切换的工作过程。

A:应该有一个寄存器包含当前进程表项的指针。当 I/O结束时,CPU将把当前

的机器状态存入到当前进程表项中。然后,将转到中断设备的中断向量,读取 另一个过程表项的指针(服务例程),然后,就可以启动这个进程了。

3. 当代计算机中,为什么中断处理程序至少有一部分是用汇编语言编写的? A :通常,高级语言不允许访问 CPU硬件,而这种访问是必需的。例如,中断

处理程序可能需要禁用和启用某个特定设备的中断服务,或者处理进程堆栈区 的数据。另外,中断服务例程需要尽快地执行。

(补充)主要是出于效率方面

的考量。中断处理程序需要在尽量短的时间内完成所需的必要处理,尽量减少

对线程/程序流造成的影响,因此大部分情况下用汇编直接编写,跳过了通用编 译过程中冗余的适配部分。

4. 中断或系统调用把控制转给操作系统时,为什么通常会用到与被中断进程的

栈分离的内核栈?

A :内核使用单独的堆栈有若干的原因。其中两个原因如下: 作系统崩

溃,由于某些用户程序不允许足够的堆栈空间。

首先,不希望操 第二,如果内核将数

据保留在用户空间,然后从系统调用返回,那么恶意的用户可能使用这些数据 找出某些关于其它进程的信息。

5.

—个计算机系统的内存有足够的空间容纳5个程序。这些程序有一半的时间

处于等待I/O的空闲状态。请问CPU时间浪费的比例是多少?

A : (0.5)八5 =3.125%

6. —个计算机的RAM有4GB,其中操作系统占512MB。所有进程都占 256MB (为了简化计算)并且特征相同。要是 CPU利用率达到99%,最大 I/O等待是多少?

A :内存中最多可放(4GB-512MB)/256MB=14 总运行时间的比例为P,则CPU利用率=1- pA14>99%====> pv71.9%

7. 多个作业能够并行运行,比它们顺序执行完成的要快。假设有两个作业同时

开始执行,每个需要20分钟的CPU时间。如果顺序执行,那么最后一个作业 需要多长时间可以完成?如果并行执行又需要多长时间?假设 I/O等待占 50%。

个进程,设每个进程的I/O 等待占

A:每个进程的时间为40min。顺序执行时,最后一个作业需要 80min才能

完成。 并行执行时,cpu利用率为l-pM = 75%, cpu 时间 t=40/75%=53.33min

计算时间为40min , 故总

8. 考虑一个6级多道程序系统(内存中可同时容纳 6个程序)。假设每个进程

的I/O等待占40%,那么CPU利用率是多少?

A :利用率=1-p\八6 = 1-0.004096=99.6%

9. 假设要从互联网上下载一个2GB大小的文件,文件内容可以从一组镜像服务

器获得,每个服务器可以传输文件的一部分。假设每个传输请求给定起始字节 和结束字节。如何用多线程优化下载时间?

A :客户端进程可以创建单独的线程;每个线程都可以从其中一个镜像服务器获

取文件的不同部分。 这有助于减少停机时间。 当然,所有线程都共享一个网 络链接。这个链接可以成为一个瓶颈,因为线程的数量变得非常大。

10. 为什么图2-11a的模式不适合用于在内存使用高速缓存的文件服务器?每

个进程可以有自己的高速缓存吗?

A :即使是有可能实现,也是很难保持文件系统的一致性。假设某个客户进程

给服务器进程1发送请求要更新文件。该进程更新其内存的

cache项。然后,

另一个客户进程给服务器进程2发送请求读取该文件。不幸的是,如果该文件 还在cache中,服务器进程2对此毫不知情,将返回过时的数据。如果第一

个进程在缓冲后将文件写到磁盘中, 而服务器进程2每次读取时检查磁盘其 缓存的备份是否是最新的,系统还可以工作,但是需要避免磁盘访问的所有缓 存系统。(个人认为,高速缓存应该每个进程共享,因为不是每个进程都需要 频繁读写数据,如果每个进程都分配 cache会造成资源浪费。)

《现代操作系统第四版》第二章答案

现代操作系统第二章进程与线程习题1.图2-2中给出了三个进程状态,在理论上,三个状态可以有六种转换,每个状态两个。但是,图中只给出了四种转换。有没有可能发生其他两种转换中的一个或两个?A:从阻塞到运行的转换是可以想象的。假设某个进程在I/O上阻塞,而且I/O结束,如果此时CPU空闲,该进程就可以从阻塞态直接转到运行态。
推荐度:
点击下载文档文档为doc格式
5l5mo7fwp68wrp7230mk0mq5e7eayt017z9
领取福利

微信扫码领取福利

微信扫码分享