计算机操作系统教程第三版答案作者左万历周长林.doc
计算机操作系统是计算机科学中的一门重要课程,本文档提供了计算机操作系统教程第三版的答案,作者左万历周长林。答案涵盖了操作系统的基本概念、进程管理、存储管理、文件系统、输入/输出管理等方面的知识点。
操作系统基本概念
1. 硬件将处理机划分为两种状态,即管态和目态,这样做给操作系统设计带来什么好处?
答:便于设计安全可靠的操作系统。管态和目态是计算机硬件为保护操作系统免受用户程序的干扰和破坏而引入的两种状态。通常操作系统在管态下运行,可以执行所有机器指令;而用户程序在目态下运行,只能执行非特权指令。
2. 何为特权指令?举例说明之。如果允许用户执行特权指令,会带来什么后果?
答:只能在管态下才能执行的指令称为特权指令。如开关中断、置程序状态寄存器等。如果允许用户执行特权指令,它将不仅影响当前运行的程序,而且还有可能影响操作系统的正常运行,甚至整个系统。
中断管理
3. 中断向量在机器中的存储位置是由硬件确定的,还是由软件确定的?
答:中断向量在机器中的位置是由硬件确定的。例如,在 INTEL 80x86 CPU 中,存空间0x00000——0x003ff为中断向量空间。
4. 中断向量的容是由操作系统程序确定的还是由用户程序确定的?
答:中断向量的容是由操作系统程序确定的。向量的容包括中断处理程序的入口地址和程序状态字(中断处理程序运行环境),中断处理程序是由操作系统装入存的,操作系统将根据装入的实际地址和该中断处理程序的运行环境来填写中断向量。
5. 中断向量的处理机状态位应当标明是管态还是目态?为什么?
答:应当标明是管态。该状态由系统初试化程序设置,这样才能保证中断发生后进入操作系统规定的中断处理程序。
进程管理
6. 中断和程序并发之间的关系是什么?
答:中断是程序并发的必要条件。如果没有中断,操作系统不能获得系统控制权,无法按调度算法对处机进行重新分配,一个程序将一直运行到结束而不会被打断。
7. 说明“栈”和“堆”的差别。
答:栈是一块按后进先出(FIFO)规则访问的存储区域,用来实现中断嵌套和子程序调用的参数和返回断点。而堆虽然是一块存储区域,但是对堆的访问是任意的,没有后进先出的要求,堆主要用来为动态变量分配存储空间。
存储管理
8. 何为系统栈?何为用户栈?系统栈有何用途?用户栈有何用途?
答:系统栈是存中操作系统空间的一个固定区域;用户栈是存中用户空间的一个区域。系统栈的作用:(1)保存中断现场,对于嵌套中断,被中断程序的现场信息依次压入系统栈,中断返回时逆序弹出;(2)保存操作系统子程序间相互调用的参数、返回值、返回点、以及子程序的局部变量。用户栈的作用:用于保存用户进程的子程序间相互调用的参数、返回值、返回点、以及子程序的局部变量。
9. 用户堆栈段的长度为何无法确定?
答:用户堆栈段的长度主要取决于两个因素:(1)用户进程(线程)中子程序(函数)之间的嵌套调用深度;(2)子程序参数和局部变量的数量及类型;(3)动态变量的使用。这些在进程(线程)运行前无法确定,由此导致用户堆栈段的长度无法预先准确确定。
10. 堆栈段的动态扩充为何可能导致进程空间的搬迁?
答:堆栈段的扩充需要在原来进程空间大小的基础上增添新的存储区域,而且通常要求与原来存储区域连续。由于原存放位置处可扩展的区域可能已经被其它进程占用,故可能需要将整个进程空间搬迁到另外一个区域,以实现地址空间扩展要求。
并发和并行
11. 何谓并行?何谓并发?在单处理机系统中,下述并行和并发现象哪些可能发生,哪些不会发生?
答:所谓并行是指同一时刻同时进行,进程并行需要多处理器的支持;所谓并发,是指在一段时间,多个进程都在向前推进,而在同一时刻,可能只有一个进程在执行,多个进程轮流使用处理器。在单处理器传统中,可能发生的并行和并发现象如下:(2)进程与进程之间的并发。(3)处理机与设备之间的并行。(4)处理机与通道之间的并行。(5)通道与通道之间的并行。(6)设备与设备之间的并行。
12. 何谓作业?它包括哪几个部分?各部分用途是什么?
答:所谓作业是指用户要求计算机系统为其完成的计算任务的集合。一个作业通常包括程序、程序所处理的数据以及作业说明书。程序用来完成特定的功能,数据是程序处理的对象,作业说明书用来说明作业处理的步骤。
13. 从透明性和资源共享两方面...
(下文省略)