logo资料库

操作系统原理参考答案.doc

第1页 / 共33页
第2页 / 共33页
第3页 / 共33页
第4页 / 共33页
第5页 / 共33页
第6页 / 共33页
第7页 / 共33页
第8页 / 共33页
资料共33页,剩余部分请下载后查看
参考答案
参考答案 第一章习题 1.简述计算机系统的组成。 参考答案:计算机系统就是按人的要求接收和存储信息,自动进行数据处理和计算,并 输出结果信息的系统。一个完整的计算机系统是由硬件和软件两大部分组成的。通常硬 件是指计算机物理装置本身,是完成系统各项工作的物质基础,主要包括中央处理器 (CPU)、存储器和各种输入输出设备(简称 I/O 设备);而软件是各种程序和文件,用 于指挥和管理整个计算机系统按指定的要求进行工作。 2.什么是操作系统?它在计算机中的地位如何?其功能有哪些? 参考答案:操作系统是一组控制和管理计算机硬件和软件资源,合理地对各类作业进行 调度,以及方便用户使用的程序的集合。 操作系统是计算机系统中最靠近硬件的一层软件,它支持和管理硬件,与具体的应 用领域无关,在计算机系统的所有软件中,操作系统是基础,其它软件只有在操作系统 的支持下,才能发挥作用。它是计算机硬件和其它软件以及计算机用户之间的联系纽带, 如果没有操作系统,用户几乎无法使用计算机系统。 从资源管理的观点看,操作系统具有五个方面的功能:处理器管理、存储器管理、 设备管理、文件管理和提供用户接口。这五大部分相互配合,协调工作,实现计算机系 统的资源管理、控制程序的执行、并为用户提供方便的使用接口。 3.操作系统有哪几种类型?各有什么特点? 参考答案:操作系统是随着计算机硬件技术的不断发展和用户的使用要求的提高而从无 到有不断完善起来的,其主要类型及其特点如下: (1) 批处理操作系统:具有很高的资源利用率和系统吞吐量,但作业的平均周转时 间较长,也没有交互性。 (2) 分时操作系统:具有多路性、独立性、及时性和交互性特征,而交互性是其最 重要的特征之一。 (3) 实时操作系统:实时操作系统通常是专用的,具有高及时性和高可靠性,但交 互性较弱。 (4) 微机操作系统:是配置在微型计算机上的操作系统,可以是单任务或多任务, 也可以是单用户或多用户系统。 (5) 网络操作系统:是配置在网络中的操作系统,用于管理网络通信和共享资源, 协调各计算机上任务的运行,并向用户提供统一的、有效方便的网络接口。 (6) 分布式操作系统:是配置在分布式处理系统上的操作系统,其最基本的特征是 能实现处理上的分布,而处理分布的实质是资源、功能、任务和控制都是分布 的。 (7) 嵌入式操作系统:通常具有以下特点:(1)操作系统规模一般较小。因为通常 相应硬件配置较低,而且对操作系统提供的功能要求也不高。(2)应用领域差 别大。对于不同的应用领域其硬件环境和设备配置情况有明显得差别。 4.分时操作系统和实时操作系统各有什么特点?两者有什么区别? 参考答案:分时操作系统具有多路性、独立性、及时性和交互性特征,而实时操作系统
通常是专用的,具有高及时性和高可靠性,但交互性较弱。 两者的主要区别是:从交互性上,分时系统具有很高的交互性,能向终端用户提供 数据处理服务、资源共享等服务,而实时系统虽然也具有交互性,但这里人与系统的交 互,仅限于访问系统中某些特定的转用服务程序;从及时性上,实时信息系统与分时系 统相似,都是以人所能接受的等待时间来确定的,而实时控制系统的及时性则是以控制 对象所要求的截止时间来确定的,一般为秒级、百毫秒级直至毫秒级,甚至要低于 100 微秒;从可靠性上,分时系统虽然也要求系统可靠,但相比之下,实时系统则要求系统 高度可靠,因此在实时系统中,往往都采取了多级容错措施来保证系统的安全性及数据 的安全性。 5.对于用户来说,分时操作系统与批处理操作系统相比有哪些主要优点? 参考答案:对于用户来说,分时系统让每个用户都拥有一个独立的终端,方便用户随时 上机;同时,为用户提供了很好的人机交换能力,使用户能对自己的作业进行直接控制, 这对于程序员调试程序尤为重要。 6.什么是多道程序设计技术?它有什么优点?试画出三道作业的运行情况。 参考答案:多道程序设计技术的基本思想是按照一定的算法选择若干个作业同时装入内 存,在管理程序的控制下交替执行,共享 CPU 和系统中的其它各种资源,每当正在运 行的程序因某种原因(如等待 I/O 操作的完成)不能继续运行时,CPU 立即转去执行另 一道程序。其主要优点是既提高了 CPU 的利用率,也提高了内存和 I/O 设备的利用率, 同时也大幅增加了系统吞吐量 三道作业的运行情况: 7. 现有以下计算机的应用场合,请为其选择适当的操作系统:① 航空航天,核变研 究;② 国家统计局数据处理中心;③ 机房学生上机学习编程;④ 锅炉炉温控制;⑤ 民航 机票订购系统;⑥ 两个不同地区之间发送电子邮件;⑦ 产品组装流水线。 参考答案: ① 航空航天,核变研究:配置实时操作系统;② 国家统计局数据处理中 心:配置批处理操作系统;③ 机房学生上机学习编程:配置分时操作系统;④ 锅炉炉 温控制:配置实时操作系统;⑤ 民航机票订购系统:配置实时操作系统;⑥ 两个不同 地区之间发送电子邮件:配置网络操作系统;⑦ 产品组装流水线:配置实时操作系统。 8.操作系统有哪些特征?其最基本的特征是什么?它们之间有什么联系? 参考答案:不同操作系统的特征各不相同,但都具有以下几个基本特征:并发性、共享 性、虚拟性和异步性。其中最基本的特征是并发和共享,它们互为存在条件。首先,共 享是以并发执行为条件,若系统不支持程序并发执行,则系统中将不存在资源共享;同 时,共享也必然会影响程序的并发执行,若资源共享不当,并发性会减弱,甚至无法实 现。
9.操作系统一般为用户提供了哪三种使用接口? 参考答案:现代操作系统通常向用户提供以下三种类型的用户接口: (1) 命令接口:操作系统向用户提供一组键盘操作命令。用户从键盘上输入命令, 命令解释程序接收并解释这些命令,然后调用操作系统内部的相应程序,完成 相应的功能。 (2) 程序接口:是操作系统内核与应用程序之间的接口,是为应用程序在执行中访 问系统资源而设置的,通常由一组系统调用组成,每一个系统调用都是一个能 完成特定功能的子程序。系统调用只能在程序中调用,不能直接作为命令从键 盘上输入执行。 (3) 图形接口:这是为了方便用户使用操作系统而提供的图形化操作界面。用户利 用鼠标、窗口、菜单、图标等图形用户界面工具,可以直观、方便、有效地使 用系统服务和各种应用程序及实用工具,而不必象使用命令接口那样去记住命 令名及格式。 第二章习题: 1.进程管理主要包括哪些管理功能? 参考答案:进程管理实际上就是对处理器的管理,因为传统的多道程序系统中,处理器 的分配和运行都是以进程为基本单位的。主要有以下几方面的功能:进程控制、进程互 斥与同步、进程通信、进程调度。 2.什么是进程?进程有哪些特征?其中最基本的特征是什么? 参考答案:进程是具有一定独立功能的程序关于某个数据集合的一次运行活动,是系统 进行资源分配和调度的一个独立单位。进程具有动态性、并发性、独立性、异步性、结 构性特征,其中最基本的特征是动态性。 程序是静态概念,本身可以作为软件资源长期保存;而进程是程序的一次执行 3.简述进程与程序的区别和联系。 参考答案:进程与程序是两个不同的概念,它们之间既有区别又有联系。首先程序是构 成进程的组成部分之一,一个进程的运行目标是执行它所对应的程序,如果没有程序, 进程就失去了其存在的意义;反之,如果没有进程,多道程序也不可能并发运行。但进 程与程序又有着本质的区别: (1) 过程,是动态的,有一定的生命期。 (2) 进程是一个能独立运行的单位,是系统进行资源分配和调度的基本单位,能与 其它进程并发执行,而程序则不然。 (3) 程序和进程无一一对应关系。一个程序可由多个进程共享,而一个进程在其运 行过程中又可顺序地执行多个程序。例如,在分时系统中多个终端用户同时进行 C 程序 编译,这样,一个 C 编译程序对应多个用户进程;而对每个用户进程来说,在进行编译 的过程中会用到预处理、词法及语法分析、代码生成和优化等几个程序模块。 (4) 各进程在并发执行过程中存在异步性特征,而程序本身是静态的,没有这个特 征。 4.进程有哪三种基本状态?试说明引起进程状态转换的典型原因。 参考答案:进程有就绪状态、执行状态、阻塞状态三种状态。引起进程发生状态转换的
典型原因: (1)就绪→执行:处于就绪状态的进程,当进程调度程序为之分配了处理器后,该进 程便由就绪状态转换到执行状态。 (2)执行→就绪:在分时系统中,正在执行的进程如果时间片用完则将暂停执行;在 抢占调度方式中,如有更高优先级的进程需要运行,将迫使正在运行的进程让出 CPU。 (3)执行→阻塞:正在执行的进程因发生某事件而无法执行,如等待 I/O 操作的完成 或未能申请到所需的系统资源等,则进程转为阻塞状态。 (4)阻塞→就绪:处于阻塞状态的进程,所等待的事情已经发生,如 I/O 操作已完成 或获得了所需的资源,则进程将转变为就绪状态。 5.进程控制块的作用是什么?在进程控制块中主要包括哪些信息? 参考答案:进程控制块,简称 PCB(Process Control Block),是进程实体的重要组成部 分,其中记录了用于描述进程情况及控制进程运行所需要的全部信息。通过 PCB,使得原 来不能并发执行的程序,成为能并发执行的进程。在进程的控制和管理中,随进程的创建而 建立 PCB;因进程的状态变化而修改 PCB 的相关内容;当进程被撤销时,系统收回其 PCB。 可见,系统是根据 PCB 来感知进程的存在的,PCB 是进程存在的唯一标志。 不同的操作系统其 PCB 所包含的信息会有些不同,但 PCB 通常都应包含如下基本信息: (1)进程标识符:系统中的每个进程都有唯一的标识符,以标识一个进程,可以用字 符串或编号表示。 (2)说明信息:是与进程调度有关的一些信息,包括进程所处的状态、进程优先权、 进程等待时间或已执行时间、进程阻塞原因等。 (3)现场信息:主要是由处理器的各个寄存器中的内容组成,包括通用寄存器内容、 指令计数器的值、程序状态字内容以及用户栈指针。当执行中的进程因某种原因而暂停时, 必须将这些寄存器中的信息保存在 PCB 中,以便当进程再次获得处理器时,能从 PCB 中恢 复上次断点处的现场信息而正确地继续执行。 (4)管理信息:是进程管理和控制所需要的相关信息,包括程序和数据在内存或外存 的地址、进程同步和通信机制、资源清单(记录进程所需的除 CPU 外的全部资源和已经分 配到的资源)、进程队列的链接指针等。 6.进程创建、进程撤销、进程阻塞、进程唤醒几个原语主要应完成哪些工作? 参考答案:(1)进程创建原语的功能是为新进程申请一个空白 PCB,分配必要的资源, 并把新进程的相关信息填入 PCB 中,如进程名、父进程标识符、处理器初始状态、进 程状态、进程优先级、进程对应程序入口地址、资源申请和分配情况等。然后将其 PCB 插入就绪队列等待进程调度。 (2)进程撤消原语的主要功能是收回被撤消进程所占用的系统资源,包括 PCB。原语 首先检查被撤消进程在系统中是否存在,如果存在,则回收该进程占用的所有系统资源, 将其 PCB 从所在队列中移出。如果该进程还有子进程,则一并予以撤消。最后撤消其 PCB。 (3)进程阻塞原语首先停止该进程的执行,将 CPU 中各寄存器内容填入该进程的 PCB 中,并将其状态由“执行”改为“阻塞”,然后插入相应的阻塞队列,最后转进程调度 程序重新进行调度。 (4)进程唤醒原语首先将被阻塞进程的 PCB 从所在阻塞队列中移出,并将其 PCB 中 的状态由“阻塞”改为“就绪”,然后插入就绪队列中等待调度。
7.同步机制应遵循的四个准则是什么? 参考答案:同步机制应遵循的四个准则是: (1) 空闲让进:当无进程处于临界区时,相应的临界资源处于空闲状态,因而应允 许一个请求进入临界区的进程立即进入自己的临界区,以有效地利用资源。 (2) 忙则等待:当已有进程进入临界区时,表示相应的临界资源正被访问,因而所 有其它试图进入相关临界区的进程必须等待,以保证诸进程互斥访问临界资源。 (3) 有限等待:对要求访问临界资源的进程,应保证该进程能在有限的时间内进入 自己的临界区,以免陷入“永远等待”状态。 (4) 让权等待:当进程不能进入临界区时,应立即释放处理器,以免陷入“忙等” 状态。 8.简述进程互斥与同步的概念。 参考答案:多个进程之间彼此无关,它们并不知道其它进程的存在,但由于同处于一个 系统中,必然存在着资源共享关系。系统中某些资源一次只允许一个进程使用,这类资 源称为临界资源,许多物理设备(如打印机、磁带机等)和许多软件资源(如共享变量、 数据、表格、队列等)都属于临界资源。多个进程在共享临界资源时,必须以互斥方式 共享。所谓进程同步是指相互合作的进程需按一定的先后顺序执行,以顺利完成某共同 任务。具体说,这些进程之间需要交换一定的信息,当某进程未获得其合作进程发来的 信息之前,该进程等待,直到接收到相关信息时才继续执行,从而保证诸进程的协调运 行。 9.信号量的 PV 操作是如何定义的?试说明信号量的 PV 操作的物理意义。 参考答案:P(S):将信号量 S 减 1,若结果大于或等于 0,则该进程继续执行;若结 果小于 0,则该进程被阻塞,并将其插入到该信号量的等待队列中,然后转去调度另一进程。 V(S):将信号量 S 加 1,若结果大于 0,则该进程继续执行;若结果小于或等于 0, 则从该信号量的等待队列中移出一个进程,使其从阻塞状态变为就绪状态,并插入到就绪队 列中,然后返回当前进程继续执行。 PV 操作的物理含义:信号量 S 值的大小表示某类资源的数量。当 S>0 时,其值表示当 前可供分配的资源数目;当 S<0 时,其绝对值表示 S 信号量的等待队列中的进程数目。每 执行一次 P 操作,S 值减 1,表示请求分配一个资源,若 S≥0,表示可以为进程分配资源, 即允许进程进入其临界区;若 S<0,表示已没有资源可供分配,申请资源的进程被阻塞,并 插入 S 的等待队列中,S 的绝对值表示等待队列中进程的数目,此时 CPU 将重新进行调度。 每执行一次 V 操作,S 值加 1,表示释放一个资源,若 S>0,表示等待队列为空;若 S≤0, 则表示等待队列中有因申请不到相应资源而被阻塞的进程,于是唤醒其中一个进程,并将其 插入就绪队列。无论以上哪种情况,执行 V 操作的进程都可继续运行。 什么是临界资源?什么是临界区? 10. 参考答案:系统中某些资源一次只允许一个进程使用,这类资源称为临界资源,许多物 理设备(如打印机、磁带机等)和许多软件资源(如共享变量、数据、表格、队列等) 都属于临界资源。每个进程中访问临界资源的那段代码称为临界区。 11.在生产者-消费者问题中,如果缺少了 V(full)或 V(empty),或者将 P(full) 与 P(mutex)互换位置,或者将 V(full)与 V(mutex)互换位置,结果分别是什么? 参考答案:在生产者-消费者问题中,如果缺少了 V(full)或 V(empty),系统最终
可能进入死锁状态。将 P(full)与 P(mutex)互换位置,系统也可能进入死锁状态。 将 V(full)与 V(mutex)互换位置,系统不会出现什么问题,最多只是临界资源的释 放推迟。 12. 假设有三个并发进程 P,Q,R,其中 P 负责从输入设备上读入信息并传送给 Q,Q 将信息加工后传送给 R,R 则负责将信息打印输出。写出下列条件的并发程序: (1)进程 P、Q 共享一个缓冲区,进程 Q、R 共享另一个缓冲区。 (2)进程 P、Q 共享一个由 m 个缓冲区组成的缓冲池,进程 Q、R 共享另一个由 n 个 缓冲区组成的缓冲池。 参考答案:(1) 第一步:确定进程 3 个进程 P、Q、R P 进程:  从输入设备上读入信息  将信息放入缓冲区 1 Q 进程:  从缓冲区 1 取出信息  将信息放入缓冲区 2 中 R 进程:  从缓冲区 2 取出信息  将信息打印输出 第二步:确定进程的同步、互斥关系  同步:P 当缓存区 1 无数据时,才可以向缓冲区 1 写入信息  同步:Q 当缓存区 1 有数据时,才可以从缓冲区 1 读取信息  同步:Q 当缓存区 2 无数据时,才可以向缓冲区 2 写入信息  同步:R 当缓存区 2 有数据时,才可以从缓冲区 2 读取信息 第三步:设置信号量  缓存区 1 无数据,empty1,初值 1  缓存区 1 有数据,full1,初值 0  缓存区 2 无数据,empty2,初值 1  缓存区 2 有数据,full2,初值 0 第四步:用伪代码描述 begin empty1,empty2,full1,full2:semaphore; empty1 :=1; empty2 :=1; full1 :=0; full2 :=0; cobegin P ( ); Q ( ); R ( ); coend; end;
process P ( ) begin L1: 从输入设备上读入信息; P(empty1); 将信息放入缓冲区 1; V(full1); goto L1 end; process Q ( ) begin L2:P(full1); 从缓冲区 1 取出信息; V(empty1); P(empty2); 将信息放入缓冲区 2; V(full2); goto L2 end; process R ( ) begin L3:P(full2); 从缓冲区 2 取出信息; V(empty2); 将信息打印输出 ; goto L3 ; end; (2) 第一步:确定进程 3 个进程 P、Q、R P 进程:  从输入设备上读入信息  将信息放入缓冲池 1 中的一个空缓冲区中 Q 进程:  从缓冲池 1 中的一个非空缓冲区中取出信息  将信息放入缓冲池 2 中的一个空缓冲区中 R 进程:  从缓冲池 2 中的一个非空缓冲区中取出信息  将信息打印输出 第二步:确定进程的同步、互斥关系  同步:P 当缓冲池 1 中有空的缓冲区时,才可以向缓冲池 1 写入信息
 同步:Q 当缓冲池 1 中有非空的缓冲区时,才可以从缓冲池 1 读取信息  同步:Q 当缓冲池 2 中有空的缓冲区时,才可以向缓冲池 2 写入信息  同步:R 当缓冲池 2 中有非空的缓冲区时,才可以从缓冲池 2 读取信息 第三步:设置信号量  缓冲池 1 中的空缓冲区的数量,empty1,初值 m  缓冲池 1 中的非空缓冲区的数量,full1,初值 0  缓冲池 2 中的空缓冲区的数量,empty2,初值 n  缓冲池 2 中的非空缓冲区的数量,full2,初值 0 第四步:用伪代码描述 begin empty1,empty2,full1,full2:semaphore; empty1 :=m; empty2 :=n; full1 :=0; full2 :=0; cobegin P ( ); Q ( ); R ( ); coend; end; process P ( ) begin end; process Q ( ) begin L2:P(full1); end; process R ( ) begin L1: 从输入设备上读入信息; P(empty1); 将信息放入缓冲池 1 中的一个空缓冲区中; V(full1); goto L1 从缓冲池 1 中的一个非空缓冲区中取出信息; V(empty1); P(empty2); 将信息放入缓冲池 2 中的一个空缓冲区中; V(full2); goto L2
分享到:
收藏