欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    操作系统教程习题答案(共43页).doc

    • 资源ID:5276203       资源大小:298.50KB        全文页数:45页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    操作系统教程习题答案(共43页).doc

    精选优质文档-倾情为你奉上操作系统教程习题答案习题11单项选择题(1)大中小型计算机是以 为中心的计算机系统。 A、CPU B、存储器 C、系统总线 D、通道(2)以下关于操作系统的说法正确的是 。A、批处理系统是实现人机交互的系统B、批处理系统具有批处理功能,但不具有交互能力C、分时系统是实现自动控制,无须人为干预的系统D、分时系统即具有分时交互能力,又具有批处理能力(3)操作系统的职能是管理软硬件资源、合理地组织计算机工作流程和 。 A、为用户提供良好的工作环境和接口B、对用户的命令作出快速响应 C、作为服务机构向其它站点提供优质服务D、防止有人以非法手段进入系统(4)设计实时操作系统时,首先应考虑系统的 。 A、可靠性和灵活性 B、实时性和可靠性 C、优良性和分配性 D、灵活性和分配性(5)多道程序设计是指 。A、在分布式系统中同一时刻运行多个程序B、在一台处理器上并行运行多个程序C、在实时系统中并发运行多个程序D、在一台处理器上并发运行多个程序(6)以下关于并发性和并行性的说法正确的是 。A、并发性是指两个及多个事件在同一时刻发生B、并发性是指两个及多个事件在同一时间间隔内发生C、并行性是指两个及多个事件在同一时间间隔内发生D、并发性是指进程,并行性是指程序(1)B (2)B (3)A (4)B (5)D (6)B2填空题(1)微机是以 总线 为纽带构成的计算机系统。(2)在批处理兼分时系统中,往往把由分时系统控制的作业称为 前台 作业,把由批处理系统控制的作业称为 后台 作业。(3)在分时系统中,若时间片长度一定,则 用户数越多 ,系统响应时间越慢。(4)分布式操作系统能使系统中若干台计算机 协同 完成一个共同的任务,分解问题成为子计算并使之在系统中各台计算机上 并行执行 ,以充分利用各计算机的优势。(5)用户通过网络操作系统可以 网络通信 、 资源共享 ,从而大大扩展了计算机的应用范围。3简答题(1)什么是操作系统?现代操作系统的基本特征是什么?操作系统是直接控制和管理计算机系统中的硬件和软件资源,合理地组织计算机工作流程,便于用户使用的程序集合。 操作系统的基本特征:并发性,共享性,虚拟性,异步性(2)什么是批处理系统,衡量批处理系统好坏的主要指标是什么?批处理系统:批处理指用户将一批作业提交给操作系统后就不再干预,由操作系统控制它们自动运行。这种采用批量处理作业技术的操作系统称为批处理系统。衡量批处理系统主要指标是系统的吞吐率。(3)试述分时系统的原理及其特性。分时系统将多个用户分享同一台计算机。采用时间片轮转方式处理服务请求,并通过交互方式在终端上显示结果。特性:交互性 同时性 独立性 及时性(4)操作系统有哪几大特征?它的最基本特征是什么?特征:并发性 虚拟性 共享性 异步性 最基本特征 并发性(5)网络操作系统与分布式操作系统的关键区别是什么?(1)分布性。分布式操作系统的处理和控制功能均为分布式的;而网络操作系统虽具分布处理功能,但其控制功能却是集中在某个或某些主机或网络服务器中,即集中式控制方式。 (2)并行性。分布式操作系统具有任务分配功能,可将多个任务分配到多个处理单元上,使这些任务并行执行,从而加速了任务的执行;而网络操作系统通常无任务分配功能,网络中每个用户的一个或多个任务通常都在本地计算机上处理。 (3)透明性。分布式操作系统通常能很好地隐藏系统内部的实现细节。包括对象的物理位置、并发控制和系统故障等对用户都是透明的。例如,当用户要访问某个文件时,只需提供文件名而无须知道(所要访问的对象)它是驻留在那个站点上,即可对它进行访问,以即具有物理位置的透明性。网络操作系统的透明性则主要指操作实现上的透明性。例如,当用户要访问服务器上的文件时,只需发出相应的文件存取命令,而无需了解对该文件的存取是如何实现的。 (4)共享性。分布式操作系统支持系统中所有用户对分布在各个站点上的软硬件资源的共享和透明方式访问。而网络操作系统所提供的资源共享功能仅局限于主机或网络服务器中资源,对于其它机器上的资源通常仅有使用该机的用户独占。 (5)健壮性。分布式操作系统由于处理和控制功能的分布性而具有较好的可用性和可靠性,即健壮性。而网络操作系统由于控制功能的集中式特点而使系统重构功能较弱,且具有潜在的不可靠性。4综合应用题有3个程序A、B、C在系统中单独处理占用的CPU时间和I/O设备时间如下表所示:程序ACPU 20msIO2 30msCPU 30msIO2 20msCPU 30msIO1 20ms程序BIO2 30msCPU 30msIO1 40msCPU 30msIO1 20ms程序CIO1 20msCPU 50msIO1 30msCPU 20msIO2 30ms假定在具有2个CPU为X和Y的多机系统中,以多道程序设计方式,按如下条件执行上述3个程序,条件如下:(1)X和Y运算速度相同,整个系统可以同时执行2个程序,并且在并行处理程序时速度也不下降。(2)X的优先级比Y高,即当X、Y均能执行程序时,由X去执行。(3)当多个程序同时请求CPU或I/O设备时,按程序A、B、C的次序分配所请求的资源。(4)除非请求输入输出,否则执行中的程序不会被打断,也不会把控制转给别的CPU。而且因输入输出而中断的程序再重新执行时,不一定仍在同一CPU上执行。(5)控制程序的介入时间可忽略不计。(6)程序A、B、C同时开始执行。求:(1)程序A、B、C同时开始执行到执行完毕为止的时间。(2)X和Y的使用时间。程序运行情况如下图所示:I/O213014015017018011010090200306070单位:msCPU XCPU YI/O1程序A程序B程序C由上图可以看出(1)A 170ms B 150ms C 180ms(2)X的使用时间 120ms Y的使用时间 90ms题21单项选择题(1)用户使用操作系统通常有3种手段,它们是终端命令、系统调用命令和 。 A、计算机高级指令 B、作业控制语言 C、宏命令 D、汇编语言(2)系统调用的目的是 。 A、请求系统服务 B、终止系统服务 C、申请系统资源 D、释放系统资源(3)在批处理系统中,用户使用 对作业的各种可能的控制要求进行控制。A、命令驱动B、访管指令C、系统调用D、作业说明书(4)适合于交互式终端用户来说明作业加工步骤的手段是 。 A、汇编语言 B、高级语言 C、作业控制语言 D、系统功能调用 E、操作控制命令(1)B (2)A (3)D (4)E2填空题(1)操作系统代码在 核心态 下运行,用户一般程序在 用户态 下运行。(2)当用户程序要调用系统服务时,需要通过一条专门的指令来 完成从用户态到核心态 的切换,这条指令称为 访管指令 。(3)操作系统为批处理用户提供 作业控制语言 ,为分时用户提供 联机命令 来说明作业加工步骤。(4)作业控制语言是由一些 的语句组成的。(5)批处理控制方式也可以称为 脱机控制方式 ,交互式控制方式也可以称为 联机控制方式 。(6)在批处理系统中,用户提交作业时必须同时提交用 作业控制语言 编写的 作业说明书 来说明对作业的控制意图。3名词解释(1)作业控制级接口。用户通过键盘命令或作业控制命令,对程序进行控制(2)程序级接口。系统调用或称应用程序接口(3)用户态。用户程序工作的状态(4)核心态。把系统程序工作的状态(5)特权指令。只允许在核心态下使用的指令(6)访管指令。用户要使用I/O设备,必须在核心态下使用(7)系统调用。用户在程序中调用操作系统所提示的一些子功能4简答题(1)在用户和操作系统之间,通常提供了哪几种类型的接口?它们的主要功能是什么?控制级接口:用户通过键盘命令或作业控制命令对程序进行控制程序级接口:系统调用(2)什么是作业、作业步、作业流?作业:用户一次请求计算机系统为其完成任务所进行工作的总和作业步:作业的每一步骤称为作业步作业流:作业步控制流程(3)命令驱动方式中命令的一般格式是什么?主要有哪几种命令类型?一般格式:COMMAND arg1,arg2.,arg noption1,option2,.,option m类型:1.系统访问命令 2.编辑和文件管理命令 3.编译,汇编和连续指令 4.调试命令 5.维护管理命令 6.其它命令(4)什么是特权指令?为什么要把指令分为特权指令和非特权指令?特权指令:只允许在核心态下使用的指令称为特权指令非特权指令:特权指令以外的指令,它们的执行不影响其它用户及系统(5)说明以下各条指令是特权指令还是非特权指令。1)启动打印机; 2)结束进程;3)计算e的n次方; 4)清内存5)读时钟 6)修改指令地址寄存器内容。 12456 特权指令 3 非特权指令(6)系统调用分为哪几类?它们各有什么作用?一部分功能是系统自身所需要的,另一部分功能是作为服务提供给用户的(7)一个图形窗口通常由哪几部分组成?程序图标,组图标和应用程序项图标习题31单项选择题(1)进程创建原语的任务是 。A、为进程编制程序 B、为进程建立PCB表C、为进程分配CPU D、为进程分配所需的各种资源(2)进程从执行状态变为阻塞态的原因可能是 。 A、I/O事件发生 B、I/O事件完成 C、时间片到 D、某个进程被唤醒(3)进程由执行态变化到就绪态的可能原因是 。A、等待的事件发生 B、高优先级进程到来C、I/O完成 D、等待某事件的发生(4)进程在执行过程中,其状态总是在不停地发生变化,下面关于进程状态变化的说法正确的是 。A、 进程一旦形成,首先进入的是运行状态B、 在分时系统中,一个正在运行的进程的时间片如果终结,该进程将转入就绪状态C、 一个进程必须经过进程的三个基本状态才能结束D、 三种进程状态是进程运行过程中的基本状态,进程可能同时处于某几种状态中(5)进程的上下文是执行活动全过程的静态描述,它在 时切换。A、 系统调度新进程占有CPU时B、 进程因等待某一事件的发生而由运行态转为阻塞态时C、 进程由阻塞态转为就绪态时D、 作业因完成而撤出时(6)以下进程状态的转换中, 是不可能的。 A、运行态®就绪态 B、运行态®阻塞态C、阻塞态®运行态 D、阻塞态®就绪态(7)同一程序运行在不同的数据集上,创建了 的进程。A、相同 B、不同 C、同步 D、互斥(8)进程调度是从 中选择一个进程进入处理器中运行。A、就绪队列 B、阻塞队列 C、提交队列 D、后备队列(1)B (2)A (3)B (4)B (5)A (6)C (7)B (8)A2填空题(1)一个进程获得了除 CPU 外的一切资源,则称此进程处于就绪态。 (2)一个进程由于 等待某一事件的发生 而暂时停止运行,这时即使把CPU分配给进程也无法运行,则称该进程处于阻塞态。(3)在一个只有一个CPU的系统中,假如某时刻该系统中有10个进程并发执行,在略去调度时间所占用时间的前提下,则:1)这时刻系统中处于运行态的进程最多有 1 个,最少有 0 个。 2)这时刻系统中处于就绪态的进程最多有 9 个,最少有 0 个。3)这时刻系统中处于阻塞态的进程最多有 10 个,最少有 0 个。(4)操作系统对进程的控制是根据 PCB 来进行的,对进程的管理是通过 PCB 来实现的。3基本概念的解释和辨析(1)进程和程序a.进程是动态的,程序是静态的b.进程是暂时的,程序是永久的c.进程与程序的组合结构不同(2)进程和作业一个正在执行的进程称为作业,作业可包含一个或多个进程(3)进程和线程a.地址空间资源:不同的进程地址空间是相互独立的,而统一进程的各线程共享同一地址空间b.并发性:引入线程的操作系统中,不仅进程之间可以并发执行,而且一个进程的多个线程之间亦可并发执行c.通信关系:进程间的通信必须使用操作系统提供的进程间的tongxinjizhi,而统一进程的各线程间可以通过直接读写进程端来进行通信d.切换速度:操作系统的进程独占自己的虚拟空间,调度进程时,系统必须交换地址空间,因而进程切换时间长(4)原语和系统调用原语:把在核心态下执行的某些具有特定功能的程序段称为原语系统调用:内核提供一系列具备预定功能的内核函数,通过一组称为系统调用的借口呈现给用户。(5)内核和微内核内核:操作系统的这一常驻内存部分称为内核微内核:内核的精简版本,在很小的内存空间内增加移植性,提供模块化设计,以使安装用户不同的接口。(6)用户级线程和核心级线程用户级线程的管理过程全由用户程序完成,在这样的系统中,操作系统核心只对进程进行管理核心级线程由操作系统内核进行管理。操作系统内核为应用程序提供相应的系统调用和应用程序接口API,供用户程序创建执行撤销线程。4综合题(1)某系统的进程状态转换图如图316所示,请说明:1)引起各种状态转换的典型原因有哪些?运行态就绪态 时间片到或被更高优先级的进程抢占就绪态运行态 被调度运行态阻塞态 等待某一事件的发生而事件未发生阻塞态就绪态 等待的事件已发生4321运行就绪阻塞图316某系统进程状态转换图2)当观察系统中某些进程时,能够看到某一进程的一次状态转换能引起另一个进程的一次状态转换。在什么情况下,当一个进程发生转换3时能立即引起另一个进程发生转换2?3)如图316,说明是否会发生下述因果转换:21 会,在抢占式调度的情况下,更高优先级的进程到达32 会,一个正在运行的进程因等待某一事件的发生而转入阻塞态,而就绪队列中有进程在等待运行41 不会(2)有一个单向链接的进程PCB队列,它的队首由系统指针指出,队尾进程链接指针为0。分别画出一个进程从队首入队和队尾入队的流程图。(3)挂起状态和阻塞状态有何区别?在具有挂起操作的系统中,进程的状态有哪些?如何变迁?被挂起进程处于静止状态,不能参与竞争CPU,直到被激活,但被挂起进程可能并不缺少资源;而阻塞进程是由于等待某一事件的发生,处于缺乏资源的状态。(4)在创建一个进程时需要完成的主要工作是什么?在撤消一个进程时需要完成的主要工作又是什么?创建进程的主要工作是为被创建进程创建一个PCB,并填入相应的初始值。并把该进程插入就绪队列。撤消该进程的所有子孙进程。在撤消的过程中,被撤消进程的所有系统资源(内存、外设)应全部释放出来归还给系统,并将它们从所有队列中移出。如果被撤消进程正在处理器上运行,则要调用进程调度程序将处理器分配给其它进程。(5)什么是可再入程序?其有何特性?能被多个程序同时调用的程序。它具有以下性质:它是纯代码的,即它在执行过程中不改变自身代码,通常由指令和常量等程序逻辑中的不变部分组成;调用它的各程序应提供工作区,用以存放随着程序执行将发生变化的部分,诸如程序中的数组、变量和通用存储器内的信息。(6)在使用线程的系统中,是每个线程有一个堆栈还是每个进程有一个堆栈?说明原因。(7)线程通常有哪些状态?为了管理线程,操作系统一般提供哪些原语?线程状态:就绪态,运行态,阻塞态原语:派生,阻塞,激活习题41单项选择题(1)要避免出现与时间有关的错误,对若干进程的相关临界区的管理应满足以下除 外的要求。A、 一次最多让一个进程在临界区中执行B、 任何一个进入临界区执行的进程必须在有限时间内退出临界区C、 避免进程进入相关临界区D、 不能强迫一个进程无限期地等待进入它的临界区(2)有三个进程P1、P2、P3共享同一个程序段,而每次最多允许两个进程进入该程序段,则信号量S的初值为 。A、0 B、1 C、2 D、3(3)在操作系统中wait、signal操作是一种 。 A、机器指令 B、系统调用命令 C、作业控制命令 D、低级进程通信(4)用signal操作唤醒一个进程时,被唤醒进程的状态应变成 状态。 A、等待 B、运行 C、就绪 D、完成(5)用信箱实现并发进程间的通信需要两个基本的通信原语,它们是 。 A、wait原语和signal原语 B、send原语和receive原语 C、R(S)和W(S) D、以上都不是(6)用来实现进程同步与互斥的wait,signal操作,实际上是 的过程。A、一个可被中断 B、一个不可被中断C、两个可被中断 D、两个不可被中断(1)C (2)C (3)D (4)C (5)B (6)D2填空题(1)临界资源是 一次只允许一个进程使用 的资源,临界区是 访问临界资源的那段代码 。(2)信号量s>0时,表示 资源的空闲数量 ;当s=0时,表示 资源已经耗尽,但没有进程在等待 ;若s<0,则表示 有|s|个进程在等待 。(3)设计进程同步机制的准则有 空闲让进 、 忙则等待 、 有限等待 和 让权等待 。3. 基本概念解释和辨析(1)同步与互斥。同步:散布在不同进程之间的若干程序片段,按规定的先后次序来运行互斥:散布在不同进程之间的若干程序片段,当某个进程运行其中一个程序片段时,其他进程就不能运行它们之中的任一程序片段,只能等到该进程运行完这个程序片段后才可运行。(2)临界资源与临界区。临界资源:临界资源是一次仅允许一个进程使用的共享资源临界区:每个进程中访问临界资源的那段程序(3)高级通信与低级通信。低级通信:由于进程互斥与同步交换的信息量较少,每次通信传递的信息量固定且效率较低高级通信:进程之间以较高的效率传送大量数据的通信方式(4)直接通信与间接通信。直接通信:需要通信中,需要通信的每个进程必须直接指明通信的接收方式或发送方间接通信:消息和发送的信息通过信箱进行。进程可以把消息放置其中取走。4论述题(1)什么是“忙等待”?如何克服“忙等待”?如果在单处理器系统中,一个进程试图进入处于“忙”状态的临界区,则该进程只能不断测试临界区的状态,这就是“忙等待”。让试图进入“忙”状态的临界区的进程“睡眠”等待,由释放资源的进程将其唤醒,便可克服“忙等待”的缺点。(2)在解决进程互斥时,如果TS指令的执行可以中断,则会出现什么情况?而如果wait、signal的执行可分割,又会出现什么情况?如果wait可被分割,则可能破坏“空闲让进”准则。如s.value=1,进程A执行wait操作,进行s.value-,s.value的值为0;如果此时被中断,进程B执行wait操作,进行s.value-,s.value的值为-1,则进程B将被阻塞;此时进程A恢复中断,由于s.value的值为-1,也将被阻塞,从而破坏了“空闲让进”准则。如果signal可被分割,也有可能破坏“空闲让进”准则。如s.value=-1,进程C在等待s资源,进程A执行signal操作,进行s.value+,s.value的值为0;如果此时被中断,进程B执行signal操作,进行s.value+,s.value的值为1,进程B不会唤醒进程C;此时进程A恢复中断,由于s.value的值为1,也不会唤醒进程C,从而破坏了“空闲让进”准则。(3)使用parbegin改写下面的表达式以获得最大程度的并行性。 (3*a*b+4)/(c+d)*(e-f)typedef Fan_Type DataType;Fan_Type x;Fan_Type P1( )return(3*a*b+4);Fan_Type P2( )return(c+d);Fan_Type P3( )return(e-f);void main( )Fan_Type a, b, c;parbegin(a=P1, b=P2, c=P3);xa/b*c;(4)设有几个进程共享一互斥段,对于如下两种情况:(1)每次只允许一个进程进入临界区;(2)最多允许m个进程(m<n)同时进入临界区。所采用的信号量是否相同?信号量值的变化范围如何?(1)信号量值的变化范围为s.value<=1;(2)信号量值的变化范围为s.value<=m;(5)下面是两个并发执行的进程,它们能正确执行吗?若不能正确执行,请举例说明,并改正之(x是公共变量)。void P1( )int y, z;x=1;y=0;if(x>=1) y=y+1;z=y;void P2( )int t, u;x=0;t=0;if(x<1) t=t+z;u=t;void main( )parbegin(P1( ), P2( );不能正确执行。如进程P1执行过程中不被中断,进程运行结束后x, y, z的值均为1;但若进程P1执行到y=0时被中断,进程P2执行完毕后x的值为0,则P1恢复中断后获得的结果为x, y, z的值均为0,从而发生与时间有关的错误。struct semaphore s;s.value=1;void P1( )int y, z;wait(s);x=1;y=0;if(x>=1) y=y+1;z=y;signal(s);void P2( )int t, u;wait(s);x=0;t=0;if(x<1) t=t+z;u=t;signal(s);void main( )parbegin(P1( ), P2( );(6)共享存储区通信是如何实现的?(7)假设某系统未直接提供信号量机制,但提供了进程通信工具。如果某程序希望使用关于信号量的wait、signal操作,那么该程序应如何利用通信工具模拟信号量机制?要求说明如何用send/receive操作及消息表示wait/signal操作及信号量。5应用题(1)有三个并发进程R、W1和W2,共享两个各可存放一个数的缓冲区B1、B2。进程R每次从输入设备读入一个数,若读入的是奇数,则将它存入B1中,若读入的是偶数,将它存入B2中;当B1中有数,由进程W1将其打印输出;当B2中有数,进程W2将其打印输出。试编写保证三者正确工作的程序。struct semaphone B1_Empty, B1_Full, B2_Empty, B2_Full;B1_Empty.value=1;B1_Full.value=0;B2_Empty.value=1;B2_Full.value=0;void R( )int a;While(1)read a number a;if(a%2=1)wait(B1_Empty);put a in B1;signal(B1_Full);elsewait(B2_Empty);put a in B2;signal(B2_Full);void W1( )while(1)wait(B1_Full);print a number from B1;signal(B1_Empty);void W2( )while(1)wait(B2_Full);print a number from B2;signal(B2_Empty);void main( )parbegin(R( ), W1( ), W2( );(2)8个协作的任务A、B、C、D、E、F、G、H分别完成各自的工作。它们满足下列条件:任务A必须领先于任务B、C和E;任务E和D必须领先于任务F;任务B和C必须领先与任务D;而任务F必须领先于任务G和H。试写出并发程序,使得在任何情况下它们均能正确工作。(3)多个进程共享一个文件,其中只读文件的称为读者,只写文件的称为写者。读者可以同时读,但写者只能独立写。问:1)说明进程间的制约关系,应设置哪些信号量?2)用wait、signal操作写出其同步程序。3)修改上述算法,使得它对写者优先,即一旦有写者到达,后续的读者必须等待。而无论是否有读者在读文件。见教材“读者-写者问题”(4)桌上有一空盘,可放一只水果。爸爸可向盘中放苹果,也可向盘中放桔子;儿子专等吃盘中的桔子;女儿专等吃盘中的苹果。规定一次只能放一只水果,试写出爸爸、儿子、女儿正确同步的程序。struct semaphone plate, apple, orange;plate.value=1;apple.value=0;orange.value=0;void father( )while(1)prepare an apple or orange;wait(plate);put the apple or orange in plate;if(Apple) signal(apple); /如果放的是苹果else signal(orange); /如果放的是桔子void son( )while(1)wait(orange);get an orange from the plate;signal(plate);void daughter( )while(1)wait(apple);get an apple from the plate;signal(plate);Void main( )(5)三个进程P1、P2、P3互斥使用一个包含N(N>0)个单元的缓冲区。P1每次用procuce()生成一个正整数并用put()送入缓冲区某一空单元中;P2每次用getodd()从该缓冲区中取出一个奇数并用countodd()统计奇数个数;P3每次用geteven()从该缓冲区中取出一个偶数并用counteven()统计偶数个数。请用信号量机制实现这三个进程的同步与互斥活动,并说明所定义的信号量的含义。要求用伪代码描述(2009年全国硕士研究生入学考试题)。struct semaphone full_odd, full_even, mutex, empty;full_odd.value=0;full_even.value=0;mutex.value=1;empty.value=N;void P1( )int X;while(1)X=produce( );wait(empty);wait(mutex);put( );if(X%2=0) signal(full_even);else signal(full_odd);signal(mutex);void P2( )wait(full_odd);wait(mutex);getodd( );countodd( )=countodd( )+1;signal(empty);signal(mutex);void P3( )wait(full_even);wait(mutex);geteven( );counteven( )=counteven( )+1;signal(empty);signal(mutex);void main( )parbegin(P1( ), P2( ), P3( );(6)放小球问题:一个箱子里只有白色和黑色两种小球,且数量足够多。现在需要从中取出一些小球放入一个袋子中。约定:1)一次只能放入一个小球;2)白球的数量至多只能比黑球少N个,至多只能比黑球多M个(M,N为正整数)。请用信号量机制实现进程的同步与互斥。struct semaphone mutex1, mutex2;int black=0, white=0;mutex1.value=1;mutex2.value=1;void put( )while(1)wait(mutex1);get a black ball or white ball from the box;signal(mutex1);wait(mutex2);if(Black) /如果取到的是黑球if(black-white<N) black+;put the black ball in bag;else /如果取到的是白球if( white-black<M)white+;put the white ball in bag;signal(mutex2);void main( )parbegin(put( );习题51单项选择题(1)当作业进入完成状态时,操作系统 。A、 将删除该作业并收回其所占资源,同时输出结果B、 将该作业的控制块从当前作业队列中删除,收回其所占资源,并输出结果C、 将收回该作业所占资源并输出结果D、 将输出结果并删除内存中的作业(2)批处理作业是被成批存入 ,以等待作业调度选择。 A、输入井 B、输出井 C、映象区 D、内存(3)一种即有利于短作业又兼顾长作业的作业调度算法是 。 A、最高响应比优先 B、先来先服务 C、短作业优先 D、均衡调度(4)在批处理系统中,周转时间是 。 A、作业运行时间 B、作业等待时间和运行时间之和 C、作业的相对等待时间 D、作业被调度进入内存到运行完毕的时间(5)在操作系统中,作业处于 状态时,已处于进程管理之下。 A、提交 B、后备 C、运行 D、完成(6)在作业调度中,若采用优先级调度算法,为了尽可能使处理器和外部设备并行工作,有如下三个作业:J1以计算为主,J2计算和输入输出兼顾,J3以输入输出为主,则它们的优先级从高到低的排列顺序是 。A、J1,J2,J3 B、J2,J3,J1 C、J2,J3,J1 D、J3,J1,J2(7)一个作业被成功调度后,系统为其创建相应的进程,该进程的初始状态是 。A、执行态 B、阻塞态 C、就绪态 D、等待访问设备态(1)B (2)A (3)A (4)B (5)B2填空题(1)作业调度是从处于 后备 状态的队列中选取适当的作业投入运行。从作业提交给系统到作业完成的时间间隔叫做 周转时间 。 等待时间 是指作业从进入后备队列到被调到程序中的时间间隔。假定把下列四个作业同时提交系统并进入 后备 队列,当使用短作业优先调度算法时,单道环境下,四个作业的平均等待时间是 4.25小时 ,平均周转时间是 8.75小时 ;当使用高优先数优先的调度算法时,作业的平均等待时间是 5.75小时 ,平均周转时间是 10.25小时 。作业所需运行时间(小时)优先数124259381437(2)在一个具有分时兼批处理的系统中,总是优先调度 分时作业 。3简答题(1)什么是分层次调度?在分时系统中有作业调度的概念吗?如果没有,为什么?分层次调度:为了提高进程的利用率,在有些操作系统中把一部分在内存中处于就绪状态或阻塞状态而在短时期内又得不到执行的进程换出内存,以让其他作业的进程竞争处理器。一般地,按调度的层次,可将调度分为3级:高级调度、中级调度、低级调度(2)作业调度和进程调度的主要功能分别是什么? 作业调度:主要任务是从作业后备队列中选择作业进入内存 进程调度:决定就绪队列中哪个进程将获得处理机并实际执行将处理机分配给该进程的操作(3)作业调度的性能评价标准有哪些?这些性能评价标准在任何情况下都能反映调度策略的优劣吗? 调度性能评价的标准有:平均周转时间、和平均响应时间 响应时间:从提交第一个请求到产生第一个响应所用的时间 周转时间:从作业提交到作业完成的时间间隔其平均值不能完全反映所有的策略有劣(4)为什么说多级反馈队列调度算法

    注意事项

    本文(操作系统教程习题答案(共43页).doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开