


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、标准实用操作系统教程课后习题答案第一章操作系统概论1什么是计算机系统?计算机系统是怎么构成的? 了解 PC的组成情况,说明:1)硬件 组织的基本结构,画出硬件配置图;2)主要系统软件和应用软件(若有的话)他们的作用。答:计算机系统就是按照人的要求接收和存储信息,自动进行数据处理和计算,并输出 结果信息的系统。计算机系统由硬件子系统和软件子系统组成。计算机系统的构成包括:如图1.2计算机硬件系统的构成:如图1.42. 从功能以及程序涉设计的角度说明计算机系统中软件系统是如何构成的?答:分为系统软件,支撑软件和应用软件三层。3什么是操作系统?请举例说明操作系统在计算机系统中的重要地位。答:操作系统
2、是计算机系统中的一个系统软件,是一些程序模块的集合。它们能以尽量有效、合理的方式组织和管理计算机的软硬件资源,合理的组织计算机的工 作流程,控制程序的执行并向用户提供各种服务功能,使得用户能够灵活、方便、有效的 使用计算机,使整个计算机系统能安全高效地运行4. 请举一个实际的例子来说明操作系统的功能。答:你能用用操作系统管理很多资源5. 为什么说“操作系统是控制硬件的软件”的说法不确切? 答:操作系统不仅能够控制硬件,也可以控制各种软件资源。6. 操作系统的基本特征是什么?说明他们之间的关系。答:1.并发性2.共享性3.随机性7. 试从独立性,并发性和交互性和实时性四个方面来比较批处理系统,分
3、时系统以及实 时系统。答:分时系统:并发性是指同时有多个用户共同使用一个计算机,宏观上看是多个人同时 使用一个CPU,微观上是多个人在不同时刻轮流使用CPU.独占性,是指用户感觉不到计算机为他们服务,就好像整个系统为他所独占。交互性:是指用户根据系统响应结果进一步提出新要求,用户直接干预每一步。 实时性:是指系统对用户提出的请求及时响应。8. 引入多道程序设计技术的起因和目的是什么?多道程序系统的特征是什么?答:多道程序设计的基本思想在内存中保持多个作业,主机可以交替的方式同时处理 多个作业,一般来说任何一道作业的运行总是要交替的使用处理器和外设子案9. 多道程序设计的度是指在任一给定时刻,单
4、个CPU所能支持的进程数目最大值。讨论要确定一个特定系统的多道程序设计的度必须考虑的因素。可以假定批处理系统中进程数量与作业数量相同。答:10. 描述批处理系统响应一个执行请求需要的时间(称为响应时间),描述分时系统下的响应时间,什么样的系统可能有较短的响应时间?为什么?答:1)就是将用户的作业组成一批作业,之后输入到计算机中,计算机依次执行每个作 业,然后输出,即为响应时间。2)定义这个响应时间就是:系统对一个输入的反应时间实时系统的反应时间11什么情况下批处理是比较好的策略?什么情况下分时是比较好的策略?现代的操作系 统往往要把两者结合,请举出这样的例子,并说明它们是怎样被结合起来的,并通
5、过这样 的结合获得了什么好处。答:常见的通用操作系统是分时系统与批处理系统结合,其原则是:分时优先,批处理再 后,"前台”响应需要频繁交互的作业,如终端的要求。“后台”处理时间性要求不强的作业。12. 操作系统的技术发展是怎样的?从这一技术演化过程可以得到什么启发? 答:操作系统的发展是根据计算机硬件发展,计算机应用软件的发展而发展的, 我们发展操作系统的目标就是:充分利用硬件,提供更好的服务。13. 请作一个调查,看看各种计算机的应用领域都在使用什么样的操作系统,他们分别是 什么类型的操作系统,调查的内容应该涵概现代操作系统的主要类别14. 现有一下应用计算机的场合,请为其选择适当
6、的操作系统。1)航天航空,核变研究;2)国家统计局数据处理中心;3)学校学生上机学习编程 4 )高炉炉温控制;5)民航定票系统,6)发送电子邮件(在两个地区之间)答:1)航天航空,核变研究:嵌入式操作系统2)分布式操作系统3)个人计算机操作系统4)实时操作系统5)批处理操作系统6)网络操作系统。15. 什么是Spooling 技术?他有什么用?你认为未来先进的个人计算机会把假脱机作为一 个关键特性吗?答:假脱机(SPOOLing.)技术的全称是同时得外部设备联机操作,这种技术的基本思想 是用磁盘设备作为主机的直接输入输出设备,主机直接从磁盘上选取作业运行,作业的执行结果16. 外壳程序(she
7、ll)是不是操作系统的一部分,为什么?答:不是,它不属于操作系统内核的一部分,它是一个应用程序。17. 如果你有一个可用得类 UNIX系统,例如Linux,Minix或者BSD等,而且你有足够的权限重起或者使得系统崩溃,请编写一个shell 程序作下面的实验,用该 shell 程序不停的产生 新进程,观察发生的事情, 在运行你的shell 之前,请用sync命令同步硬盘和 内存中的磁 盘缓存,以免在程序运行过程中访问文件系统,注意,请不要在任何共享的系统中做这件事情?答:进程数不断增多,最后导致系统崩溃了!重要:18. 现代操作系统的设计很讲求机制与策略的分离,已经使操作系统的结构和实现能够在
8、一定范围内适应不同的需要。例如Solaris的调度器实现了进程调度的基本机制,同时它允许通过动态调整核心参数实现不同负载下的系统性能平衡,这就是一种机制和策略的分离,请给出一个例子,说明怎样根据调度将机制和策略分开。请构造一种机制,允许父进程控制子进程的调度策略。19. 有兴趣,可以去写一篇,记得写完了,发给我,我把你的文章贴上来! 硬件环境 第二章操作系统的硬件环境1. 请简述处理器的组成和工作原理。你认为那些部分和操作系统的密切关系,为什么? 答:一般的处理器由运算器,控制器,一系列的寄存器以及高速缓存构成。运算器实现 任何指令中的算术和逻辑运算,是计算机计算的核心;控制器负责控制程序运行
9、的流程,包括取指令,维护CPU状态,CPU与内存之间的交互等等。 寄存器是指令在 CPU内部做处 理 的过程中占存数据,地址一级指令信息的存储设备,在计算机的存储系统中它具有最快的 访问速度。加上高速缓存以及内存管理单元(MMU)2. 为了支持操作系统,现代处理器一般都提供哪两种工作状态,用来隔离操作系统和 普通程序?两种状态各有什么特点?答;多数系统将处理器工作状态划分为管态和目态管态:操作系统管理程序运行的状态,较高的特权级别,又称为特权态(特态)、系统态目态:用户程序运行时的状态,较低的特权级别,又称为普通态(普态)、用户态3什么是分级的存储体系结构?它主要解决什么问题?答:容量、速度和
10、成本三个目标不可能同时达到最优,要作权衡存取速度快,每比特价格高容量大,每比特价格越低,同时存取速度也越慢解决方案:采用层次化的存储体系结构当沿着层次下降时 ,每比特的价格将下降,容量将增大速度将变慢,处理器的访问频率也将下降4. 主存储器通常有哪两种类型?它们各自的特点是什么?用在哪里?答:硬盘存储器,和内存存储器 硬盘存储器:容量大,存储速率慢,断电后,数据信息不丢失内存存储器:容量小,存储速率快,断电后,数据信息丢失。5. 请简述程序局部性原理。这个原理在分级的存储体系结构中是怎么样起作用的?答:时间局部性,空间局部性。起的作用是:提高存储系统效能这个目的。6. 什么是存储保护?有哪些方
11、法实现存储保护?答:对主存中的信息加以严格的保护,使操作系统及其它程序不被破坏,是其正确运行的基本条件之一多用户,多任务操作系统:OS给每个运行进程分配一个存储区域操作系统提供了: 1.界限地址寄存器,存储健两个存储保护机构!7. 呵呵,大家去翻资料把! ! !8. 缓冲技术在计算机系统中起着什么样的作用?它是如何工作的?答:缓冲技术一般有三个用途,一种是用在处理器和主存储器之间的;另一种是用在处理器和其他外部设备之间的;还有一种是用在设备与设备之间的通信上。9. 什么是中断?为什么说中断对现代计算机很重要?答:中断概念:指 CPU对系统中或系统外发生异步事件的响应。异步事件是指无一定时序关系
12、的随机发生事件,如外部设备完成数据传输,实时设备出现异常等。中断机制是操作系统得以正常工作的最重要的手段,它使得OS可以捕获普通程序发出的系统功能调用及时处理设备的中断请求,防止用户程序中破坏性的活动等等10. 中断的一般处理过程是怎么样的?多个中断同时发生呢?答:1)如书图2.9(简单的中断处理过程)2)如书图2.12( 个多优先级中断系统中多个中断的处理示例)11. 请简述中断和操作体统的关系,操作系统是如何利用中断机制的?答:中断机制是操作系统得以正常工作的最重要的手段,它使得OS可以捕获普通程序发出的系统功能调用及时处理设备的中断请求防止用户程序中破坏性的活动等等12. 常用的I/O
13、控制技术有那些?各有什么特点?答:常用的I/O 控制技术有以下几种:程序控制,中断驱动以及直接存储器存取(DMA以及通道。程序控制I/O技术:由处理器提供I/O相关指令来实现I/O处理单元处理请求并设置I/O状态寄存器相关位不中断处理器,也不给处理器警告信息处理器定期轮询I/O 单元的状态,直到处理完毕I/O软件包含直接操纵I/O 的指令控制指令:用于激活外设,并告诉它做什么状态指令:用于测试I/O 控制中的各种状态和条件数据传送指令:用于在设备和主存之间来回传送数据主要缺陷:处理器必须关注I/O 处理单元的状态,因而耗费大量时间轮询信息,严重地降低了系统性能中断驱动I/O 技术:为了解决程序
14、控制I/O 方法的主要问题应该让处理器从轮询任务中解放出来,使I/O 操作和指令执行并行起来具体作法:当I/O 处理单元准备好与设备交互的时候,通过物理信号通知处理器,即中断处理器DMA技术:中断的引入大大地提高了处理器处理I/O 的效率当处理器和I/O 间传送数据时,效率仍旧不高解决方法:直接存储器访问(DMA Direct Memory Access )通过系统总线中一独立控制单元DMA控制器 自动控制成块数据在内存和I/O 单元间的传送,大大提高处理I/O 的效能通道:独立于中央处理器,专门负责数据I/O 传输的处理机它对外设实现统一管理,代替CPU对I/O 操作进行控制 ,使CPU和外
15、设可以并行工作通道又称为I/O 处理机,引入通道的目的:为了使CPU从I/O 事务中解脱出来同时为了提高CPU与设备、设备与设备之间的并行度13. 时钟对操作系统有什么重要作用?时钟为计算机完成以下必不可少的工作:在多道程序运行环境中,为系统发现陷入死循环(编程错误)的作业,防止机时的浪费在分时系统中,间隔时钟实现作业间按时间片轮转在实时系统中,按要求的间隔输出正确时间信号给实时的控制设备(如A/D D/A转换设备)定时唤醒要求延迟执行的各外部事件(如定时为各进程计算优先数,银行中定时运行某类结账程序等)记录用户使用设备时间和记录某外部事件发生时间记录用户和系统所需要的绝对时间,即年、月、日第
16、三章 用户接口与作业管理1阐述程序,作业,作业步和进程之间的联系和区别。答:(1)作业用户在一次计算过程中,或者一次事务处理过程中,要求计算机系统所做工作的总称(2)作业步一个作业可划分成若干部分,称为一个作业步典型的作业控制过程:“编译”、“连接装配”、“运行”2. 个具有分时兼批处理功能的操作系统应该怎样调度和管理作业?为什么? 品3. 在一个批处理系统中,一个作业从提交到运行结束并退出系统,通常要经历哪几个阶段 和状态?你能说出这些状态转变的原因吗?哪些程序负责这些状态的转变?4. 假设有三个作业,他们进入时间和估计运行的时间如下: 作业号进入时刻估计运行时间1 10 : 00 60 分
17、钟2 10 : 10 60 分钟3 10: 25 15 分钟在单道批处理方式下,采用先来先服务算法和最短作业优先算法进行作业调度。请给出 他们的调度程序,并分别计算出作业平均周转时间和带权平均周转时间,请对计算结果进 行解释。答:先来先服务:作业号进入时间估计运行时间开始时间结束时间周转时间带权周转时间1 10:00 60 10:00 11 :00 60 12 10:10 60 11:00 12 :00 110 11/63 10:25 15 12:00 12 :15 110 22/3平均周转时间:280/3 带权:55/6+6/6=61/6最短作业服务:作业号进入时间估计运行时间开始时间结束时
18、间周转时间带权周转时间1 10:00 60 10 : 00 11 : 00 60 12 10:10 60 11:1512 : 15 125 25/123 10:25 15 11: 00 11: 15 50 10/3平均周转时间:235/3带权:1+25/12+10/3= 77/125. 有一个两道的批处理操作系统,作业调度采用最短作业优先的调度算法,进程调度采用 基于优先数的抢占式调度算法,有如下的作业序列: 作业进入时间估计运行时间优先数1 10:00 40分钟52 10:20 30分钟33 10:30 50分钟44 10:50 20分钟6其中优先数数值越小,优先级越高。1) 列出所有作业进
19、入内存时间及运行结束时间2) 计算作业平均周转时间和带权平均周转时间。答:作业号进入时间估计运行时间开始时间结束时间周转时间带权周转时间1 10:00 40 10: 0011:00 603/22 10:20 30 10:20 10:50 3013 10:30 50 10: 3011:20 5014 10:50 20 11:00 11:20 303/2平均周转时间:2.5带权:5第四章进程管理1. 一个单CPU的操作系统共有n个进程,不考虑进程状态过渡时的情况,也不考虑空转 进程(1)给出运行进程的个数;(2 )给出就绪进程的个数;(3 )给出等待进程的个数。 解:1.运行进程的个数可能是 0,
20、也可能是1;2,就绪的进程的个数可能是0,也可能是n-13等待进程的个数可能是 0,也可能是n2. 多道程序在单 CPU上并发运行和多道程序在多CPU上并行执行,这两者在本质是否相同?为什么?请给出以上两者在实现时应考虑什么问题?答:1)本质上不同,前者是宏观上并发同时运行,微观上是交替顺序执行,后者则是宏观 上并 行,微观上也并行。2)在实现多道程序设计时,必须协调好资源使用者和被使用者之间的关系,即对处理机资源加以管理,以实现处理机在各个可运行程序之间的分配与调度,对内存资源加以管理,将内存分配给各个运行程序,还要解决程序在内存中的定位问题,并防止内存中各个程序之 间互相干扰或对操作系统的
21、干扰,对设备资源进行管理,使各个程序在使用设备时,不发 生冲突。3. 用进程概念说明操作系统的并发性和不确定性是怎样体现出来的? 答:进程的并发特性和异步特性体现了操作系统的并发性和不确定性。进程的并发特性:可以同其他进程一道向前推进,即一个进程的第一个动作可以在另一 个进程的最后一个动作结束之前开始进程的异步性:每个进程按照各自独立的,不可预知的速度向前推进。4. PCB的作用是什么?他是怎么样描述进程的动态本质的?答:PCB称为进程控制块(Process Control Block),为了便于系统控制和描述进程的活动过程,在操作系统核心中为进程定义一个专门的数据结构,就是PCB。系统利用P
22、CB来描述进程的基本情况以及进程的运行变化过程。PCB是进程存在的唯一标志。当系统创建一个进程时,为进程设置一个PCB,再利用PCB对进程进行控制和管理;撤 销进程时,-系统收回它的PCB,进程也随之消亡。5. 进程的三个基本状态转换如图(见书),图中1 , 2, 3, 4表示某种类型的状态变迁,请分别回答下列问题:1)什么“事件”引起某一种类型的状态变迁答:运行中的进程因为中断的发生,或者需要等待某种事件的发生,变迁到等待状态 等待状态的进程,应为所等待的事件发生了,变迁到就绪态CPU为空的时候,就绪态的进程就变迁到运行状态运行的进程因为调度程序,变迁到就绪状态2)系统中常常由于某一进程的状
23、态变迁引起另一进程也产生状态变迁,试判断在下述情 况下,如果有的话,将发生什么因果变迁?3 ->1 2. ->1 4->1 3->4如果有处于就绪态的进程(3->1 )如果有处于就绪态的进程(2->1)CPU 为空(4->1)等待事件发生(3->4)3)在什么情况下,下述变迁中哪些将不立即引起其他变迁?1 2 3 4当1发生,并不引起其他变迁当2发生,如果有进程处于就绪态,引起1发生当3发生,如果有进程处于就绪态,引起1发生当4发生,如果CPU为空,那么引起1发生4)引起进程状态变迁的根本原因是什么?答:原因:自身的进展情况和外界环境条件的变化。
24、自身的逻辑,中断和进程调度程序等!根据进程的动态性,进程在其生命周期内,需要经历一系列离散状态。6. 内核通常完成哪些功能?经过内核扩充后形成的虚拟机有哪些属性? 答:内核一般提供如下功能1)中断处理2)进程调度3)进程控制4 )进程同步与互斥;5)进程通信;6)存储管理的 基本操作7)设备管理的基本操作 8)文件信息管理的基本操作 9)时钟管理虚拟机的属性有:1)没有中断2)为每个进程提供了一台虚拟处理机,每个进程好像在各 自的处理机上顺序的运行 3)为进程提供了强大的指令系统,即非特权的指令和原语一起 组成的指令系统7. 并发进程执行时一定会产生与时间有关的错误吗?为什么?答:不一定,如果
25、并发进程都占有一些受到保护的私有资源(包括内存,设备等资源),那么执行的结果和进程调度的算法以及中断等外界环境没有关系,所以不一定会产生与时间 有关的错误8. 试举出进程状态转换的典型原因和引起进程调度的因素。答:进程状态转换的典型原因:1中断或者等待某事件发生,2.所等待事件发生了 3,CPU为 空引起进程调度的因素为:1)正在执行的进程运行完毕2)正在执行的进程调用阻塞原语将自己阻塞起来并进入等待状态3) 正在执行的进程调用了P原语操作,从而因为资源不足而被阻塞,或调用了V原语操作激活了等待资源的进程队列4)执行中的进程提出了 I/O 请求后被阻塞5)在分时系统中时间片已经用完以上都是CP
26、U为不可抢占方式下引起进程调用的原因,当CPU为可抢占时,就绪队列中的进 程比当前运行的进程的优先级高,也引起进程调度9. 说明下列活动是属于哪些制约关系?1) 若干同学去图书馆借书进程互斥2)两队进行篮球比赛 进程互斥3) 流水线生产中的各道工序进程同步4) 商品生产和社会消费进程同步,能同时被多个进程10. 是否所有的共享资源都是临界资源,为什么? 答:不是,根据定义,一次只允许一个进程使用得进程才叫临界资源使用得资源不是临界资源11 设一台计算机,有两条I/O 通道,分别接一台卡片输入机和一台打印机。卡片机把一叠卡片逐一输入到缓冲区B1中,加工处理后再搬到缓冲区B2中,并在打印机上印出,
27、问:1) 系统要设几个进程来完成这个任务?各自的工作是什么?2) 这些进程间有什么样的相互制约关系3) 用P,V操作写出这些进程的同步算法4) 设系统中只有上述几个进程,用图表示出各自状态变迁情况及原因? 答:这是一个典型的生产者,消费者问题1) 系统要设三个进程完成任务,第一个进程P1,从卡片输入机中读入数据,并且把数据放入缓冲区B1中,第二个进程从 B1缓冲区中取数据, 加工处理后放入缓冲区B2中。第三个进程将缓冲区的内容输入到打印机中打印出来2) 这三个进程之间是同步和互斥的关系3) 三个进程之间必须协调工作,需设置四个信号量,S1,S2,S3,S4并令S1的初值为1,S2的处置为0 ,
28、 S4的初值为1,则程序为:进程p1进程p2进程p3P(S1) P(S2) P(S3)从卡片机中读入数据 P(S4)将缓冲区B2内容V(S2)将Buffer B1 中的数据在打印机中输出拷贝道 Buffer B2 中 V(S4)V(S1)V(S3)4) 当缓冲区B1为空时,当有输入时,进程p1进入就绪态,如果CPU为空,则为运行态, 输入完成后,进入等待态如果存在进程p2,则为等待态,当S2+1后,处于等待态进程进入就绪态,如果CPU为空进入运行态,拷贝完成后,进入等待态如果存在进程p3,则为等待态,当S3+1后,处于等待态进程进入就绪态,如果CPU为空进入运行态,输出完成后,进入等待态12.
29、 设有无穷多个信息,输入进程把信息逐个写入缓冲区,输入进程逐个地从缓冲区中取出信息。在下述情况下:1)缓冲区是环形的,最多可以容纳n个信息;2)缓冲区是无穷大的。试分别回答下列问题?1) 输入,输出两进程读,写缓冲区需要什么条件?2) 用P,V操作写出输入,输出两进程的同步算法,并给出信号量含义以及初值3) 指出信号量的值的变化范围和其值的含义答:一:当缓冲区的大小为n时1) 当缓冲区信息为空的时候,输出进程无法读,处于等待状态,当缓冲区信息为满的时 候无法写,都某个缓冲区单位进行读写的时候,要互斥2) 1.空的信号量empty初值为n,满的信号量为full 初值为0,对缓冲区单元的互斥 信号
30、量为mutex,j,k 为缓冲区单位地址,初值为 0写进程读进程P(empty) P(full)P(mutex) P(mutex)向Bufferi写入信息从Bufferk中读信息V(mutex) V(mutex)V(full) V(empty) j:=(j+1)mod n k:=(k+1)mod n4) empty表示还有多少缓冲区单元为空,如果empty=O,表示缓冲区满,系统调用写进程时,写进程处于等待态full表示缓冲区都多少有信心的单元,如果full=0,表示缓冲区空,系统调用写进程时,读进程处于等待态mutex表示对于缓冲区单元的互斥信号量,当mutex=1时,开锁,mutex=0时
31、,闭锁二当缓冲区大小为无穷大时1) 同上2) 1 .空的信号量empty不用设,满的信号量为full 初值为0,对缓冲区单元的互斥信 号量 为mutex,j,k为缓冲区单位地址,初值为 0写进程读进程P(full)P(mutex) P(mutex)向Bufferi 写入信息从Bufferk中读信息V(mutex) V(mutex)V(full)j:=(j+1)mod n k:=(k+1)mod n4)full表示缓冲区都多少有信心的单元,如果full=0,表示缓冲区空,系统调用写进程时,读进程处于等待态mutex表示对于缓冲区单元的互斥信号量,当mutex=1时,开锁,mutex=0时,闭锁1
32、3. 假定一个阅览室最多可以容纳 100人,读者进入和离开阅览室都必须在阅览室门口的一 个登记表上标志(进入时登记,离开时去掉登记项) 而且每次只允许一人登记或者去掉登记, 问:1) 应编写几个进程完成这项工作,程序的主要动作是些什么?应该设置几个进程?进程 和程序间的关系如何?2) 用P,V操作写出这些进程的同步通信关系答:编写两个进程,一个处理读者进入,一个处理读者离开,进程是程序的动态执行设置信号量full为初值为0 ,空的信号量empty初值为100,互斥信号量mutex初值为1进入离开P(empty) P(full)P(mutex) P(mutex)登记取消登记V(mutex) V(
33、mutex)V(full) V(empty)进入离开14在生产者和消费者问题中,如果对调生产者(或消费者)进程中的两个P操作和两个V操作的次序,会发生什么情况?请说明!答:对调P操作,会发生死锁 因为P(empty)在p(mutex)和v(mutex)内部,也就是临界 区中,当empty < 0,时,P(empty)在临界区中进入到了休眠状态。那么就别的进程都进入 不到临界区中,进入死锁状态。而两个V操作无关紧要15. 为什么引入高级通信机构?他有什么优点?说明消息缓冲通信机构的基本工作过程? 答:1)为了解决大量的消息交换,2)优点:不仅能够保证相互制约的进程之间的相互关系,还同时实现
34、了进程之间的信息 交换3)消息缓冲通信技术的工作过程:其基本思想是:根据“生产者-消费者”原理,禾U用内存中公用消息缓冲区实现进程之间的信息交换。内存中开辟了若干消息缓存区,用以存放消息,每当一个进程(发送进程)向另一个进程(接收进程)发送消息时,便申请一个消息缓冲区,并把已准备好的消息发送到缓冲区中 ,然后把该消息缓冲区插入到接受进程的消息队列中,最后通知接受进程,接收进程收到 发送进程发送到的通知后,从本进程的消息队列中摘下一消息缓冲区,取出所需的消息, 然后把消息缓冲区还给系统。16. 进程间为什么要进行通信?在编写自己的程序时,是否考虑到要和别的用户程序进行通信?各个用户进程间是否存在
35、制约关系?答;1)各个进程在运行的时候,共享内存,或者共同完成一个特定的功能,都需要进行通 信,需<,3)促在同步和互斥的关系,比如聊天程序17. 假定一个系统的磁盘块大小为2KB, 个块的平均访问时间是 20毫秒。一个有4OKB进程由于资源请求从运行态变为阻塞态,它必须保持阻塞多长时间?答:40/2 * 20=400 毫秒保持阻塞态400毫秒18. 假设A,B两个火车站之间是单轨线,许多列车同时到达A站,然后经过 A站到达B站;又列车从A到B的行驶时间是t,列车在B战后的停留时间是t/2,试问在该问题模 型中,什么是 临界资源,什么是临界区 ?答:临界资源:A到B之间的单轨线,以及 B
36、站是临界资源 临界区: 在A到B之间行驶,以及在 B上停留是临界区19. 同步机制应该遵循哪些原则?为什么?答:1.它的描述能力应该足够强,既能解决各种进程间的同步互斥问题;2 其次,应该容易实现并效率高3第三,使用方便20. 我们为某临界资源设置一把锁W。当W=1时,表示关锁,W=0时,表示开锁,试写出开锁和关锁原语,并利用它去实现互斥。答:while(1=w);en ter 临界区21. 进程A1,A2,An通过m个缓冲区向进程 B1,B2,Bn不断发送消息,发送和接收工 作遵循如下规则:1)每个发送进程每次发送一个消息,写入一个缓冲区,缓冲区大小与消息长度一样2)对每一个消息,B1,B2
37、,.Bn 都需要各接收一次,读到各自的数据区中;3) m个缓冲区都满时,发送进程等待,没有可读消息时,接受进程等待 试用P,V操作组织正确的发送和接收操作。答:VARmutex: Semaphore : 初值为1,实现对缓冲区的互斥 empty: Semaphore : 初值为n,有多少缓冲Full : Array1.n OF Semaphore : 初值为0,每个接收进程当前可接收的缓冲区 Count: Array1.n OF INTEGER; 初值为0,n 个缓冲区被访问的次数 ReceivePointer:Array1n OF INTEGER初值为0 ,该接收进程要取哪个SendPoin
38、ter : INTEGER;初值为0,发送进程下次要放到哪个缓冲区发送进程(num : INTEGER) num为进程号RepeatP(empty)P(mutex)向 buffse ndPoi nter放消息sen dPo in ter : = ( sen dPo in ter+1 ) mod kcoun tse ndPo in ter: =0V(mutex)For i:=1 To n DoV(Fulli)Un til FALSE接收进程(num:INTEGER :num 为接收进程号RepeatP(Full nu m)P(mutex)从 buffReceivePoi nernu m中取消息V
39、(mutex)Coun tReceivePoi nernu m: = Coun tReceivePoi nernu m+1IF(Co un tReceivePoi nernu m=n)THEN V(empty)Coun tReceivePoi nernu m=0ReceivePoi nernu m: =(ReceivePoi nernu m)+1)mod nUn til FALSEP,22. 有K个进程共享一个临界区,对于下述情况,请说明信号量值的初值,含义,并用V操作写出相关的互斥算法。1) 一次只允许一个进程进入临界区2) 一次只允许m个进程进入临界区答:1)设置互斥信号量 mutex,初
40、值为1P(mutex)En ter_regio nV(mutex)2)设置同步信号量 mutex,初值为m;P(mutex)En ter_regio nV(mutex)23. 爱睡觉的理发师问题,一个理发店有两间相连的屋子,一间是私室,里面有一把理发椅,另一个是等候室,有一个滑动门和N把椅子。理发师忙的时候,通向私室的门被关闭,新来的顾客找一把空椅子坐下,如果椅子都被占用了,则顾客只好离去,如果没有顾客 ,则理发师在理发椅上睡觉。并打开通向私室的门。理发师睡觉时,顾客可以叫醒他理发 ,请编写 理发师和顾客的程序,正确实现同步和互斥问题!答:解:VAR:S1,S2 : Semaphore初值为0
41、,实现理发师与顾客的同步 Mutex: Semaphore: 初值为1,实现对 waiting 的互斥 waiting : INTEGER*初值为0,等待的顾客数理发师进程REPEATP(S1) 若无顾客,则睡觉P(mutex)Wait in g:=wait in g-1V(S2);(唤醒一个等待的客户)V(mutex)理发Un til FALSE顾客进程P(mutex)IF(waiting<N)(还有空的椅子)THEN BEGINWaiting : =-waiting+1 ;( 等待顾客数加 1)V(mutex);V(S1) 通知理发师P(S2) 若无理发师,挂起 坐下理发ENDELS
42、E V(mutex)24. 进程之间的通信方式有几种?在单机环境下,常用的哪几种通信方式? 答:三种:共享内存,消息机制,以及管道通信在单机环境下:常采用共享内存以及管道通信。25. 一个快餐店有四类雇员:1)领班,他们接受顾客点的菜单;2)厨师,准备饭菜;3)打包工,将饭菜装在袋子里;4)收银元,将食品袋交给顾客并收钱,每个雇员都可以看作一个进行通信的顺序进程,他们采用的进程间通信方式是什么?答:通信方式为消息传递。26. 抢占式进程调度是指系统能够强制性的使执行进程放弃处理机,试问分时系统采用的 是抢占式还是非抢占式进程调度?实时系统?答:分时系统采用的是非抢占式进程调度实时系统采用的是抢
43、占式进程调度27. 试述进程调度得主要任务,为什么说它把一台物理机变成了多台逻辑上的处理机答:处理机调度的任务是控制协调进程对CPU的竞争即按一定的调度算法从就绪队列中选中一个进程,把 CPU的使用权交给被选中的进程多个进程虽然在微观上仍然是顺序执行,但是在宏观上,仿佛是并发执行28. 在CPU按优先级调度的系统中1) ,没有运行的进程是否一定没有就绪进程2) 没有运行进程,没有就绪进程或两者都没有是否可能?各是什么情况?3) 运行进程是否一定是自由进程中优先数最高的?答:1) 一定没有2) 没有运行进程,一定没有就绪进程;没有就绪进程可能有等待进程,也可能有运行进程;两者都没有,可能有等待进
44、程3) 不一定,可能出现等待进程中优先级更高29. 对某系统进行监测后表明平均每个进程在I/O 阻塞之前的运行时间为 T,一次进程切换的需要的时间是 S,实际上就是开销,对于采用的时间片长度为 Q的时间片轮转法,请给出1) Q=无穷,2)Q>T , 3)S<Q<T ,4)Q=S;5)Q 趋于0各种情况下 CPU利用率的计算公式解: 1)当Q=无穷时,CPU的利用率=T/(T+S)*100%(当进程运行完后,就切换,也就相当 于 时间片=T)2) 当Q>T时,CPU的利用率=T/(T+S)*100%(当进程运行完后,就切换,也就相当于时间片=T )3) 当 S<Q&
45、lt;T 时,=Q/Q+S4) 当 Q=S 时=S/S+S5) 当Q趋于0,CPU的利用率=T/T+nS=0 (n趋于无穷)30. 大多数时间片轮转调度程序使用一个固定大小的时间片,请给出选择小时间片的理由,然后再给出选择大时间片的理由答:选择小时间片:I/O密集型,可以缩短响应时间,满足短的交互需求选择大时间片:CPU密集型,可以防止过多的进程切换,提高CPU效率31. 有5个批处理作业A到E几乎同时到达一计算中心。他们估计运行时间分别为10,6,2,4 和8分钟,其优先数(由外部设定)分别为3,5,2,1, 4其中5级为最高优先级,对于下列 每种调度算法,计算其平均周转时间,可忽略进程切换
46、的开销。1) 时间片轮转法2) 优先级调度法3) 先来先服务法(按照次序 10,6,2,4,8 运行)4) 最短作业优先对1),假设系统具有多道处理能力,每个作业均获得公平的CPU时间,对(2)和(4)假设任一时刻只有一个作业运行,直到结束,所有作业都是CPU密集型作业!答:1)和时间片的长短有关,比较繁琐!2) 运行顺序是(6,8,10,2,4) (6+14+24+26+30)/4=100/4=253) (10+16+18+22+30)/4=96/4=244) (2+(2+4)+(2+4+6)+(2+4+6+8)+( 2+4+6+8+10)/4=17.532:有5个待运行的作业,他们的估计运
47、行时间分别是9,6,3,5 ,采用哪中次序运行各个作业将得到最短的平均响应时间?答案依赖于X答:由于5个作业同时到达,所以按最短作业优先调度会得到最短的响应时间:9< x 3 5 6 9 x6W x w 9 3 5 6 x 95W x w 6 3 5 x 8 93w x w 5 3 x 5 8 9xw 3 x 3 5 8 933, 在一间酒吧里有三个音乐爱好者队列,第一列音乐爱好者只有随身听,第二列只 有音乐磁带,第三列只有电池,而要听音乐就必须有随身听,音乐磁带和电池这三中物品。酒吧老板一次出售这三种物品中的任意两种,当一名音乐爱好者得到这三种物品 并听完乐曲后,酒吧老板才能再一次出售
48、这三种物品中任意两种,于是第二名音乐 爱好者得到这三种物品。并开始听乐曲,全部买卖九这样进行下去。使用P,V操作正确解决这一买卖。解:买方有三个进程,卖方有1个进程卖方,和买方的同步信号量 S1,S2 ,初值为0,1.听音乐时的互斥信号量卖方进程P(S1)(没有音乐爱好者,等待)卖物品P(mutex)放音乐V(mutex)V(S2)买方进程P(S2)买物品V(S1) 老板可以卖东西34. 巴拿马运河建在太平洋和大西洋之间,由于太平洋和大西洋水面高度不同,有巨大落差,所以运河中建有 T(T > 2)级船闸,并且只能允许单向通行,船闸依次编号为1,2, - ,T,由大西洋来的船需要经过船闸T
49、,T-1.,2,1通过运河到达太平洋,由太平洋来的船需要经由船闸1,2, - ,T-1,T 通过运河到达大西洋。使用P,V操作正确解决大西洋和太平洋的船只通航问题。答:答:Array: S1T of Semaphore 为每个船闸设置的信号量初值都为1Array: count1T of INTEGER 为每个船闸设置通往大西洋的船的计数值,初值都为0Array: count2T of INTEGER 为每个船闸设置通往太平洋的船的计数值,初值都为0对count 设置互斥信- 号量 mutex去大西洋的进程:int jfor(j=0;j<T,j+)P(mutex)if(cou nt1j=0
50、)P(Sj)coun tj+过第j+1个船闸P(mutex)coun tj-if(coun tj=0)V(Sj)V(mutex)去太平洋的进程:int kfor(k=T-1;k > T,k+)P(mutex)if(cou nt2k=0)P(Sk)coun tk+过第k+1个船闸P(mutex)coun tk-if(cou ntk=0)V(Sk)V(mutex)35. 某银行有人民币储蓄业务,由n个柜员负责,每个顾客进入银行后,先取一个号,并且等着叫号,当一个柜员人员空闲下来,就叫上一个号,使用P,V操作正确编写柜台人员和顾客进程的程序!解;取号的互斥信号量mutex,叫号的互斥信号量mu
51、tex1柜台人员和顾客进程的同步信号量为S1,S2,初值分别为n,0柜台人员进程:P(S2)(无顾客则等待)P(mutex1)叫号V(mutex1)服务V(S1)顾客进程P(mutex)取号V(mutex)P(S1)享受服务V(S2)36, 设A,B,C 三个进程共享一个存储资源F,A对F只读不写,B对F只写不读,C对F先读后写。(当一个进程写F时,其他进程既不能读 F,也不能写F,但多个进程同时读 F是允许的) 试利用管程的方法或者P,V操作,写出A,B,C三个进程的框架,要求:(1)执行正确(2)正常运行时不产生死锁;(3)使用F的并发度高37, 某系统如此定义P,V操作P(S)S=S-1
52、若S<1本进程进入等待队列末尾,否则继续进行V(S)S=S+1若S < 0,释放等待队列中末尾的进程,否则继续运行。现有四个进程P1,P2,P3,P4 竞争使用某一需要互斥使用的资源(每个进程可能反复使用多 次),使用这样的P,V操作来正确的实现互斥。解:S:ARRAY0,3 OF Semaphore 初值为 si=i,i=0,1,2,3 访问进程for i:=3 dow nto 1 doP(si)临界区操作for i:=1 To N-1 DoV(Si)38, 请用进程通信的办法解决生产者,消费者问题39, 请用管程实现哲学家就餐问题第五章存储管理1 产生存储分配问题的背景是什么?
53、何谓静态分配?何谓动态分配?动态分配的原因是 什么?答:一个有效的存储分配机制,应对用户提出的需求做出快速响应,为之分配相应的存储 空间,在用户作业不需要它时,及时收回,供其他用户使用。内存分配有两种方式1) 静态分配:程序要求的内存空间是在目标模块连接装入内存时确定并分配的,并且在程序运行过程中不允许再申请或在内存中“搬家”,也就是分配工作是在程序运行前一次性完成2) 动态分配:程序要求的基本内存空间是在目标模块连接装入内存时确定并且分配的,但是在运行过程中,允许申请附加的内存空间或在内存中“搬家”,也就是分配工作可以在程序运行前及运行过程中逐步完成动态分配的原因:动态分配具有较大的灵活性,
54、对提高内存的利用率,比静态分配更合理 些。2阐述操作系统中选择存储管理方案的原则。答:原则:1. 存储管理必须合理地分配内存空间2为了避免内存中的各个程序相互干扰,还必须实现存储保护3有效利用内存空间,允许多个作业共享程序和数据4为了在内存中运行长度为任意大小的程序,必须采用一定的方法“扩充”内存3. 可变分区管理方式下,采用移动技术有什么优点?移动一道作业时操作系统要做哪些工作?答:对碎片进行整理,把所有空闲碎片合并成一个连续的大空闲区,供作业使用。被移动了得程序,需要进行重新定位,可以用动态地址映射实现。4. 用可变分区方式管理主存时,假定主存中按地址顺序依次有5个空闲区,空闲区的大小依次为 32k,10k,5k,228k,100k 。现有 J1,J2,J3,J4,J5 。它们各需主存 1k,10k,108k,28k,1 15k。若采用最先适应分配法能把这 5个作业按J1, J5次序全部装入主存吗?你认为按怎 样的次序装入这5个作业可使主存空间利用率最高。答:1)若采用最先适应分配法,无法将 5个作业全部装入主存!2)通过对最佳适应分配法和最差适应分配法的分析,其中最差适应分配法的内存空间利用率最高5什么是碎片?试述各种多道程序系统存储管理方案中碎片是如何出现的?答:经过
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 运行库改造施工方案
- 高速公路标志杆施工方案
- 化粪池混凝土施工方案
- 平远县改门改窗施工方案
- 海南靓绿生物科技有限公司年产建设项目1000吨水溶肥建设项目环评报告表
- 2025年钻孔应变仪项目合作计划书
- 置换强夯的施工方案
- 园路及铺装施工方案
- 山西造浪游泳池施工方案
- 宁夏工程电缆线槽施工方案
- 制度经济学:05团队生产理论
- 作文格子纸(1000字)
- 刻度尺读数练习(自制)课件
- 四年级下册美术课件 4纸卷魔术|苏少版
- 七年级数学苏科版下册 101 二元一次方程 课件
- ZL50装载机工作装置设计
- 2021年6月浙江省高考读后续写课件-高考英语复习备考
- 小学古诗词80首(硬笔书法田字格)
- 时间单位换算表
- 《计算机网络基础》第1章计算机网络概论
- DTSD342-9N说明书(精编版)
评论
0/150
提交评论