第2章习题1.doc_第1页
第2章习题1.doc_第2页
第2章习题1.doc_第3页
第2章习题1.doc_第4页
第2章习题1.doc_第5页
已阅读5页,还剩4页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章 习题1试说明进程和程序之间的区别和联系。解 进程和程序是既有区别又有联系的两个概念。(1) 进程是动态的,程序是静态的。程序是一组有序的指令集合,是一个静态的概念;进程则是程序及其数据在计算机上的一次执行,是一个动态的集合。离开了程序,进程就失去了存在的意义,但同一程序在计算机上的每次运行将构成不同的进程。程序可看作是电影的胶片,进程可以看作电影院放电影的过程。(2) 一个进程可以执行多个程序,如同一个电影院的一场电影可放映多部影片。(3) 一个程序可被多个进程执行,如同多个影院同时利用一个电影的胶片放映同一部电影。(4) 程序可以长期保存,进程只能存在于一段时间。程序是永久存在的,而进程有从被创建到消亡的生命周期。举例说明多道程序系统失去了封闭性和再现性。解 例如,有两个循环程序A和B,共享一个变量N。程序A每执行一次时,都要做N:=N+1操作;程序B则每执行一次时,都要执行print(N)操作,然后再将N的值置成“0”。程序A和B在多道程序系统中同时运行。假定某时刻变量N的值为n,可能出现下述三种情况:(1) N:=N+1 在print(N)和N:=0之前,此时得到N值变化过程为n+1、n+1、0;(2) N:=N+1 在print(N)和N:=0之后,此时得到N值变化过程为n 、 0 、1;(3) N:=N+1 在print(N)之后和N:=0之前,此时得到N值变化过程为n、n+1、0。所以,在A、B程序多次执行过程中,虽然其每次执行时的环境和初始条件都相同,但每次得到的结果却不一定相同。两个并发进程P1和P2的程序代码在下面给出。其中,A、B、C、D和E均为原语。P1: begin P2: beginA; D;B; E;C; endend请给出P1、P2两个进程的所有可能执行的过程。解 P1和P2进程以不可预知的速度推进,它们所有可能的执行过程为:(1)ABCDE (2)ABDEC(3)ABDCE (4)ADBEC(5)ADBCE (6)ADEBC(7)DEABC (8)DABCE(9)DABEC (10)DAEBC 在操作系统中为什么要引入进程这一概念?解 在单道程序设计环境下,CPU被一道程序独占,CPU严格按该程序的指令顺序来执行。单道程序具有顺序性、封闭性和可再现性。单道程序有许多局限性,于是出现了多道程序。在多道程序环境中,有若干个程序同时运行,具有了许多新的特征,如并发性、动态性以及相互制约性等。这时,程序的概念已经不能描述上述这些特征,并发程序的特征必须用新的概念来描述,于是引进了“进程”的概念。在多道程序系统,当进程需要等待某种事件发生时,进程将进入何种状态?解 当进程需要等待某种事件发生时,进程进入何种状态取决于进程程序的处理方式。进程可以调用阻塞原语,将自己阻塞,暂时放弃处理机;进程也可以采用不放弃处理机的循环等待的方式等待某种事件发生。因此,当进程需要等待某种事件发生时,进程并不是一定要进入阻塞状态。 父进程创立子进程与主程序调用子程序有何不同 ?解 父进程创立子进程后,父进程与子进程同时执行;主程序调用子程序,主程序暂停在调用点,子程序开始执行,直到子程序执行完毕返回,主程序开始执行。进程控制块PCB的作用是什么?它主要包含哪些内容?解 操作系统管理的进程是多种多样的,要对这些进程实施有效的管理,必须对进程进行抽象。为了便于系统控制和描述进程的活动,在操作系统核心为进程定义了一个进程控制块PCB。PCB用于描述进程的基本情况以及进程运行和变化的过程,它与进程一一对应。当系统创建进程时,为进程分配一个PCB;在进程运行过程中,系统通过PCB对进程实施管理和控制;进程结束时,系统将收回PCB。PCB中的内容主要包括调度信息和现场信息两大部分。调度信息包括进程名、进程号、优先级、当前状态、资源信息、程序和数据的位置信息、隶属关系和各种队列指针信息等。现场信息主要包括程序状态字、时钟寄存器和界限寄存器等描述进程运行情况的信息。一个新创建的进程,第一次被调度到CPU上运行时,其“现场”从何而来?解 进程在CPU上交替地执行是通过保存退出进程的现场和恢复新选中进程的现场实现的;而一个进程的“现场”是其上次从CPU上退出时获得的。但是,一个新创建的、尚未在CPU上运行过的进程还没有“上一次”,那么它的“现场”从何而来?是从其父进程继承而来,是在进程创建程序执行时,将父进程特意为子进程准备的“现场”复制给子进程。新创建的子进程就是以此“现场”实施其第一次运行的。简述创建进程的大致过程。解 创建一个进程大体分以下几步:(1) 申请一个空白的PCB和唯一的进程标识号pid(2) 为新进程分配除CPU以外的资源,包括内存空间;(3) 初始化PCB中的数据项,包括标志信息、状态信息、控制信息等;(4) 将新进程的PCB插入系统的就绪队列。进程能自己将自己唤醒吗?进程能自己将自己撤消吗?唤醒进程和撤消进程都是要通过在CPU上运行程序来实现的。一个进程入睡了,它就不可能被调度到CPU上运行;一个进程在撤消前必须先进入终止状态,而处于终止状态的进程不可能被调度到CPU上运行。因此,进程被唤醒、被撤消都不能由自己来完成,只能由别的进程实现。什么是原语?原语的主要特点是什么?原语是指由若干条机器指令构成的,并用以完成特定功能的一段程序。这段程序在执行期间是不可分割的。其主要特点是不可分割性。一个因等待I/O操作结束而入阻塞状态的进程,何时被唤醒?是在别的进程执行相应的I/O中断处理程序时唤醒的。在什么情况下,可以一次唤醒一个进程和一次唤醒多个进程? 在I/O中断处理程序中,当唤醒进程时,只唤醒等待该I/O结束的那一个进程;当一个进程释放一个系统资源(如I/O缓存)时,将要唤醒所有因等待使用该资源而进入阻塞状态的进程。进程的就绪状态和阻塞状态的有何不同?阻塞状态的进程还不具备执行的条件,即使放到处理机上也不能执行;就绪状态的进程具备了执行的所有条件,放到处理机上就能执行。 程序的并行执行将导致运行结果失去封闭性,这对所有的程序都成立吗?并不是所有程序的并行执行都会导致运行结果失去封闭性。例如,当程序中都使用内部变量,不可能被外部程序访问时,程序的运行不会受到外部环境的影响。父进程创建子进程之后,父子进程之间的关系是什么?一个进程创建子进程之后,创建进程与产生的进程之间的关系是父子关系,分别成为父进程和子进程。子进程一经产生就与父进程并发执行,子进程共享父进程的正文段和已经打开的文件。 当系统内所有的进程都进入睡眠之后,系统还有可能复活吗?只有两种情况下系统可以复活。一种情况是有因等待I/O操作完成而进入睡眠的进程,当相应的I/O操作完成后,I/O中断处理程序唤醒等待本次I/O的进程,而该进程在运行过程中又可能通过释放资源、发送消息等事件而唤醒其它进程,这样整个系统就又活跃起来了。另一种情况是没有等待I/O操作完成的进程,但有定时睡眠的进程,当睡眠时间到期,会由时钟中断将该入睡进程唤醒,从而获得可运行进程,并有可能使系统重新活跃起来。当一个进程的父进程被撤消时,该进程是撤消好还是不撤消好?在实际系统中,两种处理办法都是可行的,且各有优缺点。若撤消,则该进程的任务可能还没有完成,这显然是不利的,特别是当该进程的运行结果对其它进程的运行很重要(如该进程是其它进程的前趋进程,没有它的运行结果其它进程无法运行)时;若不撤消,则该进程又可能成为不可控的“孤儿”,从而产生不可预测的结果。比较好的做法是,当一个进程的父进程被撤消时,可以将该进程“过继”给系统内一个级别较高的进程(如Unix中的1进程),让它有一个“新的父亲”,这样既可以继续完成其任务又不会成为不可控的。进程的挂起操作和入睡操作有何异同?最主要的不同是“入睡”是进程的主动行为,而“挂起”可以是系统的强制行为;此外,只有在CPU上运行的进程才能执行“入睡”操作,而不管进程处于什么状态,系统都可对其执行“挂起”操作。它们的相同点是:这两个操作都导致一个正在CPU上运行的进程从 CPU上退下来。简述进程为什么不能从就绪状态直接变成阻塞(睡眠)状态?一个进程要进入阻塞(睡眠)状态,必须通过执行相应的程序才能实现,如sleep()或block()。就绪进程当前不在CPU上运行,不能执行任何程序,当然不能使自己直接进入阻塞状态。2运行就绪阻塞134进程的三个基本的转换如下图所示,图中1、2、3、4分别代表某种类型状态变迁,请分别回答: (1) 什么事件引起各状态之间的变迁?(2) 统中常常由于某一进程的状态变迁引起另一进程也产生状态变迁,试判断变迁31、21、32、41、34,如果有的话,将发生什么因果变迁(3) 在什么情况下,如果有的话,上述变迁将不引起其它变迁?(1) 引起各变迁的事件如下:变迁1:正在执行的进程从处理机上退下,导致进程调度程序从就绪状态的进程中选取一个进程。 变迁2:正在执行的进程所分配的时间片用完,导致进程从处理机上退到就绪状态;或者在可抢占优先级的进程调度中,有更高有先级的进程进入就绪状态,导致正在执行的进程从执行状态退到就绪状态。 变迁3:进程需要等待事件的发生; 变迁4:进程所等待的某事件发生了(如I/O完成);(2) 可能发生的因果变迁 31:由于处于运行

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论