操作系统原理课后习题答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
操作系统原理课后习题答案
操作系统原理作业第1章1-2 批处理系统和分时系统各有什么特点?为什么分时系统的响应比较快?答:在批处理系统中操作人员将作业成批装入计算机并计算机管理运行,在程序的运行期间用户不能干预,因此批处理系统的特点是:用户脱机使用计算机,作业成批处理,系统内多道程序并发执行以及交互能力差。在分时系统中不同用户通过各自的终端以交互方式共同使用一台计算机,计算机以“分时”的方法轮流为每个用户服务。分时系统的主要特点是:多个用户同时使用计算机的同时性,人机问答方式的交互性,每个用户独立使用计算机的独占性以及系统响应的及时性。分时系统一般采用时间片轮转的方法使一台计算机同时为多个终端用户服务,因此分时系
统的响应比较快。1-4什么是多道程序设计技术?试述多道程序运行的特征。答:多道程序设计技术是指同时把多个作业放入内存并允许它们交替执行和共享系统中的各类资源;当一道程序因某种原因而暂停执行时,CPU 立即转去执行另一道程序。多道程序运行具有如下特征:多道计算机内存中同时存放几道相互独立的程序。宏观上并行:同时进入系统的几道程序都处于运行过程中,它们先后开始了各自的运行但都未运行完毕。微观上串行:从微观上看内存中的多道程序轮流或分时地占有处理机,交替执行。1-6操作系统的主要特性是什么?为什么会有这样的特性?答:并发性,共享性,异步性,虚拟性,这些特性保证了计算机能准确的运行,得出想要的结果。1-7 工作情况如图。CPU有空闲等待,它发生在100 ms与程序B都在进行I/O操作。程序A无等待现象,
程序B在0 ms间段内有等待现象。150 ms时间段内,此时间段内程序A50 ms时间段与180 ms200 ms时第2章2-1 什么是操作系统虚拟机?答:在裸机上配置了操作系统程序后就构成了操作系统虚拟机2-3 什么是处理机的态?为什么要区分处理机的态?答:处理机的态,就是处理机当前处于何种状态,正在执行哪类程序。为了保护操作系统,至少需要区分两种状态:管态和用户态。2-5 什么是中断?在计算机系统中为什么要引用中断?答:中断是指某个事件发生时,系统终止现行程序的运行、引出处理该事件程序进行处理,处理完毕后返回断点,继续执行。为了实现并发活动,为了实现计算机系统的自动化工作,系统必须具备处理中断的能力。2-8中断和俘获有什么不同?答:中断指处理机外部事件引起的中断称为外中断,又称中断。包括I/O中断、外中断。俘获是指外处理内部
事件引起的中断称为俘获。包括访管俘获、程序性中断、机器故障中断。2-9 什么是中断响应,其实质是什么?答:中断响应是当中央处理机发现已有中断请求时,中止现行程序执行,并自动引出中断处理程序的过程。中断响应的实质是交换指令执行地址和处理器状态,以达到如下目的:保留程序断点及有关信息;自动转入相应的中断处理程序执行。2-12 以trap指令为例,用图说明自陷处理的一般过程?PC PS(处理机状态字) PC进栈PS进栈自陷处理程序的PC 自陷处理程序的PS第3章3-1 什么是系统生成?答:系统生成就是操作系统的生成过程。3-2 系统引导的主要任务是什么?答:将操作系统的必要部分装入主存并使系统运行,最终处于命令接受状态。3-3 处理应用程序分哪几个作业步?答:①用某种预言编制一个程序,该程序被称为源程序。②将源程序和初始数据记录
在某种输入介质上,一般在终端设备上直接编辑源程序。③按照一定的要求控制计算机工作,并经过加工,最终计算出结果。3-5 用户与操作系统的接口是什么?一个分时系统提供什么接口?一个批处理系统又提供什么接口?答:用户与操作系统的接口是指操作系统提供给用户与计算机打交道的外部机制。一个分时系统提供的接口有系统功能调用和键盘操作命令。一个批处理系统提供的接口有系统功能调用和作业控制语言。3-7 假定某系统提供硬件的访管指令,为了实现系统调用,系统设计者应做哪些工作?用户又如何请求操作系统服务?答:当处理机执行到这一条指令时就发生中断,该中断称为访管中断,它表示正在运行的程序对操作系统的某种需求。借助中断,使机器状态用户态转为管态。为了使控制能转到用户当前所需的那个例行子程序去,需要指令提供一个地址码。这个地址码表示系统调
用的功能号,它是操作系统提供的众多的例行子程序的编号。在访管指令中填入相应的号码,就能使控制转到特定的例行子程序去执行以提供用户当前所需的服务。第4章4-3什么是进程?进程与程序的主要区别是什么?答:进程是指一个具有一定独立功能的程序关于某个数据集合的一次运行活动。进程是动态的,程序的静态的,进程是程序的动态执行过程。4-6进程有哪几个基本状态?试画出进程状态迁移图,并注明发生变迁的原因。答:进程有三种基本状态,即运行状态,就绪状态,等待状态。如果系统能为每个进程提供一台处理机,则系统中所有进程都可以同时执行,但实际上处理机的数目总是小于进程数,因此往往只有少数几个进程可真正获得处理机控制权。4-9n个并发程序共用一个公共变量Q,写出用信号灯实现n个进程互斥时的程序描述,给出信号灯值的取值范围,并说明每个取值的物理意义。
答:main( ) {int mutex=1; int i; cobegin for(i=1;i P[i]; coend } P( ) { ... ... p(mutex); ... v(mutex); ... } 若mutex=1,表示没有进程进入临界区;若mutex=0,表示有一个进程进入临界区;若mutex=-1,表示一个进程进入临界区,另一个进程等待进入。4-11在如图所示的进程流程图中,有五个进程合作完成某一任务。说明这五个进程之间的同步关系,并用P,V操作实现之,要求写出程序描述。
carj; //j=1,2,..,n coend } bargei(){ ..... P(mutexb); P(mutexa); 吊起 B 桥; 吊起 A 桥; 驳船通过 A 桥;放下 A 桥; 驳船通过 B 桥;
放下 B 桥; V(mutexa); V(mutexb); ..... } carj(){ ...... P(mutex); count++; if(count==1) { P(mutexb); P(mutexa); } V(mutex); 汽车通过 B 桥; 汽车通过AB 段公路; 汽车通过 A 桥;P(mutex); count--; if(count==0)
{ V(mutexb); V(mutexa); } V(mutex); ..... } d设置两个互斥信号量mutexa,mutexb,用来实现驳船和汽车对A桥和对B桥的互斥使用;设置两个共享变量counta和countb,分别用来记录A桥和B桥上的汽车数并设置互斥信号量mutex1和mutex2,用来实现汽车对共享变量counta和countb的互斥访问。Main( ){ int mutexa, mutexb, mutex1, mutex2, counta, countb;