《《计算机操作系统教程第三版》答案作者左万历 周长林》由会员分享,可在线阅读,更多相关《《计算机操作系统教程第三版》答案作者左万历 周长林(24页珍藏版)》请在金锄头文库上搜索。
1、第一章第一章 操作系统概述课后习题操作系统概述课后习题 1. 1. 硬件将处理机划分为两种状态,即管态和目态,这样做给操作系统设计带来什么好处硬件将处理机划分为两种状态,即管态和目态,这样做给操作系统设计带来什么好处 ? ? 答:便于设计安全可靠的操作系统。管态和目态是计算机硬件为保护操作系统免受用户程序的答:便于设计安全可靠的操作系统。管态和目态是计算机硬件为保护操作系统免受用户程序的 干扰和破坏而引入的两种状态。通常操作系统在管态下运行,可以执行所有机器指令;而用户干扰和破坏而引入的两种状态。通常操作系统在管态下运行,可以执行所有机器指令;而用户 程序在目态下运行,只能执行非特权指令。如果
2、用户程序企图在目态下执行特权指令,将会引程序在目态下运行,只能执行非特权指令。如果用户程序企图在目态下执行特权指令,将会引 起保护性中断,由操作系统终止该程序的执行,从而保护了操作系统。起保护性中断,由操作系统终止该程序的执行,从而保护了操作系统。 2.2. 何为特权指令何为特权指令? ?举例说明之。如果允许用户执行特权指令,会带来什么后果?举例说明之。如果允许用户执行特权指令,会带来什么后果? 答:只能答:只能在管在管 态下才能执行的指令称为特权指令。如开关中断、置程序状态寄存器等。如果允许用户执行特态下才能执行的指令称为特权指令。如开关中断、置程序状态寄存器等。如果允许用户执行特 权指令,
3、它将不仅影响当前运行的程序,而且还有可能影响操作系统的正常运行,甚至整个系权指令,它将不仅影响当前运行的程序,而且还有可能影响操作系统的正常运行,甚至整个系 统。统。 3. 3. 中断向量在机器中的存储位置是由硬件确定的,还是由软件确定的中断向量在机器中的存储位置是由硬件确定的,还是由软件确定的 ? ? 答:中断向量在机器答:中断向量在机器 中的位置是由硬件确定的。例如,在中的位置是由硬件确定的。例如,在 INTEL 80x86 CPU INTEL 80x86 CPU 中,内存空间中,内存空间0x000000x003ff为为 中断向量空间。中断向量空间。 4. 4. 中断向量的内容是由操作系统
4、程序确定的还是由用户程序确定的?中断向量的内容是由操作系统程序确定的还是由用户程序确定的? 答:中断向量的内容是答:中断向量的内容是 由操作系统程序确定的。向量的内容包由操作系统程序确定的。向量的内容包括中断处理程序的入口地址和程序状态字(中断处理程括中断处理程序的入口地址和程序状态字(中断处理程 序运行环境) ,中断处理程序是由操作系统装入内存的,操作系统将根据装入的实际地址和该序运行环境) ,中断处理程序是由操作系统装入内存的,操作系统将根据装入的实际地址和该 中断处理程序的运行环境来填写中断向量。中断处理程序的运行环境来填写中断向量。 5. 5. 中断向量内的处理机状态位应当标明是管态还
5、是目态中断向量内的处理机状态位应当标明是管态还是目态 ? ? 为什么为什么? 答: 应当标明是管态。答: 应当标明是管态。 该该 状态由系统初试化程序设置,这样才能保证中断发生后进入操作系统规定的中断处理程序。状态由系统初试化程序设置,这样才能保证中断发生后进入操作系统规定的中断处理程序。 6. 6. 中断和程序并发之间的关系是什么?中断和程序并发之间的关系是什么? 答:中断是程序并发的必要条件。如果没有中答:中断是程序并发的必要条件。如果没有中 断,操作系统不能获得系统控制权,无法按调度算法对处机进行重新分配,一个程断,操作系统不能获得系统控制权,无法按调度算法对处机进行重新分配,一个程 序
6、将一直运行到序将一直运行到结束而不会被打断。结束而不会被打断。 7. 7. 说明“说明“栈”和“堆”的差别栈”和“堆”的差别 答:栈是一块按后进先出(答:栈是一块按后进先出(FIFOFIFO)规则访问的存储区域,用)规则访问的存储区域,用 来实现中断嵌套和子程序调用的参数和返回断点。而堆虽然是一块存储区域,但是对堆的访问来实现中断嵌套和子程序调用的参数和返回断点。而堆虽然是一块存储区域,但是对堆的访问 是任意的,没有后进先出的要求,堆主要用来为动态变量分配存储空间。是任意的,没有后进先出的要求,堆主要用来为动态变量分配存储空间。 8. 8. 何为系统栈?何为用户栈?系统栈有何用途?用户栈有何用
7、途何为系统栈?何为用户栈?系统栈有何用途?用户栈有何用途? ? 答:答:系统栈系统栈是内存中操作是内存中操作 系统空间的一个固定区域;系统空间的一个固定区域;用户栈用户栈是内存中用户空间的一个区域。是内存中用户空间的一个区域。系统栈的作用系统栈的作用:(1)(1)保存中保存中 断现场,对于嵌套中断,被中断程序的现场信息依次压入系统栈,中断返回时逆序弹出;断现场,对于嵌套中断,被中断程序的现场信息依次压入系统栈,中断返回时逆序弹出;(2) 保存操作系统子程序间相互调用的参数、返回值、返回点、以及子程序的局部变量。保存操作系统子程序间相互调用的参数、返回值、返回点、以及子程序的局部变量。用户栈的用
8、户栈的 作用作用:用于保存用户进程的子程序间相互调用的参数、返回值、返回点、以及子程序的局部变:用于保存用户进程的子程序间相互调用的参数、返回值、返回点、以及子程序的局部变 量。量。 9. 9. 用户堆栈段的长度为何无法确定用户堆栈段的长度为何无法确定 ? ? 答:用户堆栈段的长度主要取决于两个因素: (答:用户堆栈段的长度主要取决于两个因素: (1 1)用户)用户 进程(线程)中子程序(函数)之间的嵌套调用深度; (进程(线程)中子程序(函数)之间的嵌套调用深度; (2)子程序参数和局部变量的数量及类)子程序参数和局部变量的数量及类 型; (型; (3)动态变量的使用。这些在进程(线程)运行
9、前无法确定,由此导致用户堆栈段的长度)动态变量的使用。这些在进程(线程)运行前无法确定,由此导致用户堆栈段的长度 无法预先准确确定。无法预先准确确定。 1010堆栈段的动态扩充为何可能导致进程空间的搬迁堆栈段的动态扩充为何可能导致进程空间的搬迁? ? 答:堆栈段答:堆栈段的扩充需要在原来进程的扩充需要在原来进程 空间大小的基础上增添新的存储区域,而且通常要求与原来存储区域连续。由于原空间大小的基础上增添新的存储区域,而且通常要求与原来存储区域连续。由于原 存放位置处可扩展的区域可能已经被其它进程占用,故可能需要将整个进程空间搬存放位置处可扩展的区域可能已经被其它进程占用,故可能需要将整个进程空
10、间搬 迁到另外一个区域,以实现地址空间扩展要求。迁到另外一个区域,以实现地址空间扩展要求。 11. 11. 何谓并行何谓并行 ? ? 何谓并发何谓并发? 在单处理机系统中,下述并行和并发现象哪些可能发生,哪些不在单处理机系统中,下述并行和并发现象哪些可能发生,哪些不 会发生会发生 ? (1) (1) 进程与进程之间的并行进程与进程之间的并行; (2) ; (2) 进程与进程之间的并发进程与进程之间的并发; (3) ; (3) 处理机与设备之间的处理机与设备之间的 并行并行; (4) ; (4) 处理机与通道之间的并行处理机与通道之间的并行; (5) ; (5) 通道与通道之间的并行通道与通道之
11、间的并行; (6) ; (6) 设备与设备之间的并设备与设备之间的并 行行; ; 答:所答:所谓并行是指同一时刻同时进行,进程并行需要多处理器的支持;所谓并发,是指在谓并行是指同一时刻同时进行,进程并行需要多处理器的支持;所谓并发,是指在 一段时间内,多个进程都在向前推进,而在同一时刻,可能只有一个进程在执行,多个进程轮一段时间内,多个进程都在向前推进,而在同一时刻,可能只有一个进程在执行,多个进程轮 流使用处理器。流使用处理器。 在单处理器传统中,可能发生的并行和并发现象如下:在单处理器传统中,可能发生的并行和并发现象如下: (2) (2) 进程与进程之间进程与进程之间 的并发。例如,在的并
12、发。例如,在WindowsWindows操作系统中,操作系统中,mp3播放进程和播放进程和Word字处理进程可以并发执行,这样字处理进程可以并发执行,这样 用户就可以边听音乐边写文章了。用户就可以边听音乐边写文章了。 (3) (3) 处理机与设备之间的并行。例如,当处理机进行科学处理机与设备之间的并行。例如,当处理机进行科学 运算时,打印机可以打印文档。运算时,打印机可以打印文档。 (4) (4) 处理机与通道之间的并行。通道程序的执行可与处理机处理机与通道之间的并行。通道程序的执行可与处理机 的操的操作并行。作并行。 (5) (5) 通道与通道之间的并行。通常一个系统中有多个通道,这些通道可
13、以并行通道与通道之间的并行。通常一个系统中有多个通道,这些通道可以并行 地执行相应的通道程序。地执行相应的通道程序。 (6) (6) 设备与设备之间的并行。例如打印机打印文档时,磁带机在输设备与设备之间的并行。例如打印机打印文档时,磁带机在输 入数据。入数据。 12. 12. 何谓作业何谓作业? ? 它包括哪几个部分它包括哪几个部分? 各部分用途是什么各部分用途是什么?答:所谓作业是指用户要求计算机系答:所谓作业是指用户要求计算机系 统为其完成的计算任务的集合。一个作业通常包括程序、程序所处理的数据以及作业说明书。统为其完成的计算任务的集合。一个作业通常包括程序、程序所处理的数据以及作业说明书
14、。 程序用来完成特定的功能,数据是程序处理的对象,作业说明书用来说明作业处理的步骤。程序用来完成特定的功能,数据是程序处理的对象,作业说明书用来说明作业处理的步骤。 13. 13. 从透明性和资源共享两方面,说明网络操作系统与分布式操作系统之间的差别。从透明性和资源共享两方面,说明网络操作系统与分布式操作系统之间的差别。 答:从答:从 透明性上看,分布式操作系统优于网络操作系统。网络用户能够感觉到所访问的资源是在本地透明性上看,分布式操作系统优于网络操作系统。网络用户能够感觉到所访问的资源是在本地 还是在远地;而在分布式系统中,用户感觉不到所访问的资源是否在本地,分布式操作系统掩还是在远地;而
15、在分布式系统中,用户感觉不到所访问的资源是否在本地,分布式操作系统掩 盖了资源在地理位置上的差异。盖了资源在地理位置上的差异。 从资源共享上看从资源共享上看 , ,分布式操作系统比网络操作系统能共享更分布式操作系统比网络操作系统能共享更 多的资源。 在网络操作系统中, 一个计算任务不能由一台主机任意迁移到另外一台主机上运行;多的资源。 在网络操作系统中, 一个计算任务不能由一台主机任意迁移到另外一台主机上运行; 而在分布式操作系统中,所有作业可以由一台主机任意迁移到另外一台主机上处理,即可实现而在分布式操作系统中,所有作业可以由一台主机任意迁移到另外一台主机上处理,即可实现 处理机资源的共享,
16、从而达到整个系统的负载平衡。处理机资源的共享,从而达到整个系统的负载平衡。 14. 14. 为什么构成分布式系统的主机一般都为什么构成分布式系统的主机一般都是相同的或兼容的是相同的或兼容的? ?答:这样更有利于进程的动答:这样更有利于进程的动 态迁移。如果主机不兼容,则在一台主机上能运行的进程,因所用指令系统不同,态迁移。如果主机不兼容,则在一台主机上能运行的进程,因所用指令系统不同, 在另一台主机上可能无法运行,导致进程难于在不同主机间迁移,使得分布式系统在另一台主机上可能无法运行,导致进程难于在不同主机间迁移,使得分布式系统 难于实现负载平衡。构成分布式系统的主机一般都是相同的或兼容的。难于实现负载平衡。构成分布式系统的主机一般都是相同的或兼容的。 15. 15. 为什么嵌入式操作系统通常采用微内核结构?为什么嵌入式操作系统通常采用微内核结构? 答:嵌入式操作系统与一般操作系统答:嵌入式操作系统与一般操作系统 相比具有比较明显的差别相比具有比较明显的差别 : (1): (1)嵌入式操作系统规模一般较小,因为一般硬件配置较低,而且嵌入式