课后习题参考答案
第一章 操作系统概述
一、填空题
1.软硬件资源、系统软件、用户
2.处理机、存储器、输入/输出设备和文件资源;处理机管理、存储器管理、设备管理和文件系统
3.分时(或多用户、多任务)单用户(或单用户、单任务)
4.分时OS 时间片轮转 批处理OS 吞吐率 实时OS 实时性和可靠性 5.命令接口 系统调用 6.系统调用 二、选择题 1 B 2 C 3 C 4 A 5 B 6 A 7 B 8 D 9 C 10 B 三、简答题
1.操作系统是管理系统资源、控制程序执行,改善人机界面,提供各种服务,合理组织计算机工作流程和为用户使用计算机提供良好运行环境的一种系统软件。
操作系统是用户与计算机硬件之间的接口。操作系统为用户提供了虚拟计算机。操作系统是计算机系统的资源管理者,处理器管理,存储器管理,设备管理,文件管理,用户接口。 2.硬件的改进导致操作系统发展的例子很多,内存管理支撑硬件由分页或分段设施代替了界寄存器以后,操作系统中便增加了分页或分段存储管理功能。图形终端代替逐行显示终端后,操作系统中增加了窗口管理功能,允许用户通过多个窗口在同一时间提出多个操作请求。引进了中断和通道等设施后,操作系统中引入了多道程序设计功能。计算机体系结构的不断发展有力地推动着操作系统的发展,例如,计算机由单处理机改进为多处理机系统,操作系统也由单处理机操作系统发展到多处理机操作系统和并行操作系统;随着计算机网络的出现和发展,出现了分布式操作系统和网络操作系统。随着信息家电的发展,又出现了嵌入式操作系统。
3.在一段时间内,内存中能够接纳多道程序的系统称为多道程序系统。
单道程序环境下处理器的利用率很低,当程序进行输入/输出操作时,处理器空闲,同时外部设备的利用率也很低,引入多道程序系统以后,整个计算机的利用率得到了提高。 4.允许多个联机用户同时使用一台计算机系统进行计算的操作系统称为分时操作系统,分时操作系统具有以下特性:同时性,独立性,及时性和交互性。
实时操作系统是指当外界事件或数据产生时,能够接收并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,并控制所有实时任务协调一致运行的操作系统。实时操作系统的主要特点:对处理时间和响应时间要求高,可靠性和安全性高,多路性、独立性和交互性,整体性强。
5.分时操作系统和批处理操作系统虽然有共性,它们都基于多道程序设计技术,但存在下列不同点:
? 追求的目标不同。批处理系统以提高系统资源利用率和作业吞吐率为目标;分时系
统则要满足多个联机用户立即型命令的快速响应。 ? 适应的作业不同。批处理系统适应已经调试好的大型作业;而分时系统适应正在调
试的小作业。
1 / 18
? 资源的利用率不同。批处理操作系统可合理安排不同负载的作业,使各种资源利用
率较佳;分时操作系统中,多个终端作业使用相同类型编译系统、运行系统和公共子程序时,系统调用它们的开销较小。
作业控制的方式不同。批处理操作系统由用户通过作业控制语言的语句书写作业控制流,预先提交,脱机工作;分时操作系统中,由用户从键盘输入操作命令控制,交互方式、联机工作。
6.UNIX操作系统是对世界影响深远的分时操作系统。 四、计算题 1.(1)CPU有空闲,在100ms~150ms时间段是空闲的。
(2)程序1无等待时间,而程序2在一开始的0ms~50ms时间段会等待。。
2.三道程序运行,完成三道程序共花170ms。与单道程序(260ms)比较,节省了90ms。 (始终按照1-2-3的次序,即程序1→程序2→程序3→程序1→程序2→(在程序3运行前会停10ms等待输入完成)程序3。
3.总的运行时间为45ms,CPU处理时间为40ms,CPU的利用率为89%
第二章 常用操作系统概述
一、简答题
1.内核的主要功能是在客户程序和运行在用户空间的各种服务(属系统程序)之间进行通信。在这种结构下,应用程序发出的请求首先被内核俘获,由它把消息传递给相应的系统进程去处理,处理完后,同样通过内核,把回应的消息发还给客户。可见,客户程序和各种服务进程之间不会直接交互,必须通过内核的消息交换才能完成相互通信。这就是“微内核”构造模式。用这种方法来构造操作系统,其中心思想是将系统中的非基本部分从内核里移走,只把最关键的进程管理、内存管理以及进程通信等功能,留存下来组成系统的内核。这样便于系统功能的扩充,使系统具有更好的可扩展性和可移植性,由于绝大部分系统进程都运行在用户态,所以使系统具有更好的安全性和可靠性。
2.答:Windows体系结构分成内核模式和用户模式。内核的主要功能是在客户程序和运行在用户空间的各种服务(属系统程序)之间进行通信。Windows系统的内核全部运行在统一的核心地址空间中,由三个层次组成:执行体、内核、硬件抽象层(HAL)
Linux体系结构被分成两部分。上面是用户(或应用程序)空间,是用户应用程序执行的地方。下面是内核空间,Linux内核提供了连接内核的系统调用接口,还提供了用户空间中的应用程序和内核之间进行转换的机制。内核和用户空间的应用程序使用的是不同的保护地址空间。每个用户空间的进程都使用自己的虚拟地址空间,而内核则占用单独的地址空间。Linux内核可以进一步划分成3层。最上面是系统调用接口,它实现了一些基本的功能,中间层是内核代码,最下面是依赖于体系结构的代码,构成了通常称为BSP(Board Support Package)的部分,这些代码将内核和硬件分隔开来,使Linux操作系统能够适应多种硬件平台
3.自由软件(Free Software或Freeware)是指遵循通用公共许可证GPL(General public License)规则,保证您有使用上的自由、获得源程序的自由、自己修改源程序的自由、复制和推广的自由,也可以有收费的自由的一种软件。Free指是的自由,但并不是免费。自由软件之父Richard Stallman先生将自由软件划分为若干等级:其中,0级是指对软件的自由使用;1级是指对软件的自由修改;2级指对软件的自由获利.
2 / 18
第三章 处理机管理
一、填空题
1. 运行、就绪、阻塞 2. 程序、数据、PCB 3. 动态、静态 4. 4 、0
5. 剥夺式调度、非剥夺式调度 6. 处理机
7. 处理机频繁、输入输出频繁 8. 操作系统
9. 提交、后备、运行 10. 短作业优先 二、选择题: 1 C 2 A 3 C 4 B 5 D 6 C 7 A 8 D 9 A 三、简答题
1.在多道程序设计系统中,内存中存放多个程序,它们以交替的方式使用CPU。因此,从宏观上看,这些程序都开始了自己的工作。但由于CPU只有一个,在任何时刻CPU只能执行一个进程程序。所以这些进程程序的执行过程是交织在一起的。也就是说,从微观上看,每一个进程一会儿在向前走,一会儿又停步不前,处于一种“走走停停”的状态之中。 2.为了对进程进行有效的管理和控制,操作系统要提供若干基本的操作,以便能创建进程、撤销进程、阻塞进程和唤醒进程。这些操作对于操作系统来说是最为基本、最为重要的。为了保证执行时的绝对正确,要求它们以一个整体出现,不可分割。也就是说,一旦启动了它们的程序,就要保证做完,中间不能插入其他程序的执行序列。在操作系统中,把具有这种特性的程序称为“原语”。
3.只要是涉及管理,就应该有管理的规则,没有规则就不成方圆。如果处于阻塞状态的一个进程,在它所等待的事件发生时就径直将它投入运行(也就是把CPU从当前运行进程的手中抢夺过来),那么系统就无法控制对CPU这种资源的管理和使用,进而也就失去了设置操作系统的作用。所以,阻塞状态的进程在它所等待的事件发生时,必须先进入就绪队列,然后再去考虑它使用CPU的问题。
4.当一个进程的状态从阻塞变为就绪时,它的PCB就从原先在的阻塞队列移到就绪队列里。在把进程的PCB从这个队列移到另一个队列时,只是移动进程的PCB,进程所对应的程序是不动的。这是因为在进程的PCB里,总是记录有它的程序的断点信息。知道了断点的信息,就能够知道程序当前应该从哪里开始往下执行了。这正是保护现场所起的作用。
5.先来先服务算法主要考虑作业在后备作业队列里的等待时间,因此对短作业不利;短作业优先算法主要考虑作业所需的CPU时间,因此对长作业不利。
“响应比高者优先”作业调度算法,总是在需要调度时,考虑作业已经等待的时间和所需运行时间之比,即:该作业已等待时间/该作业所需CPU时间。这个比值的分母是一个不变的量。随着时间的推移,一个作业的“已等待时间”会不断发生变化,也就是分子在不断地变化。显然,短作业比较容易获得较高的响应比。这是因为它的分母较小,只要稍加等待,整个比值就会很快上升。另一方面,长作业的分母虽然很
3 / 18