




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第4章 进程及进程管理4-3 什么是进程?进程与程序的主要区别是什么? 答:进程,即是一个具有一定独立功能的程序关于某个数据集合的一次活动。 进程与程序的主要区别是: (1)程序是指令的有序集合,是一个静态概念,其本身没有任何运行的含义, 进程是程序在处理机上的一次执行过程, 是一个动态概念。(2)程序作为软件资料可长期保存,而进程是有生命期的,因创建而产生、因调度而执行、因得不到资源而暂停、因撤消而消亡。 (3)程序是记录在介质上指令的有序集合,而进程则由程序、数据和进程控制块 3 部分组成。 (4)进程与程序之间无一一对应关系。不同的进程可以包含同一程序,同一程序在执行中也可以产生多个进程
2、。(5)进程是一个独立的运行单位,也是系统进行资源分配和调度的独立单位。而程序无此概念。4-6 进程有哪几个基本状态?在一个系统中为什么必须区分出这几种状态?答:进程有三个基本状态:运行状态、就绪状态和等待状态(又称阻塞、挂起、睡眠) 。对进程区分出这几种状态主要是为了便于系统对进程的管理和控制。4-7试用图画出批处理系统的进程状态变迁图。4-8试用图画出分时系统的进程状态变迁图。4-9 某系统进程调度状态变迁图如下图所示,回答(1) 什么原因导致变迁2、变迁3、变迁4?变迁2:某进程的时间片满变迁3:某进程请求服务,或等待事件变迁4:某进程请求服务完成,或等待事件发生(2) 当观察系统中进程
3、时,可能看到某一进程产生的一次状态变迁将导致另一进程做一次状态变迁,这两个变迁称为因果变迁。在什么情况下,一个进程的变迁3能立即引起另一个进程发生变迁1?当有一个进程发生变迁3时,将会让出处理器,这时调度必然在就绪队列中选中一个进程使之由就绪状态变为运行状态。(3) 下述因素变迁是否可能发生?如果可能,是在什么情况下发生?a.21 可能发生。有一个进程由运行状态变就绪状态,它让出处理器,则这时必有一个进程由就绪状态转运行状态。b.32 不可能发生。有一个进程由运行状态变等待状态,它让出处理器,这种变迁不会导致另一个进程由运行状态转就绪状态。c.41 不可能发生。一个进程由等待状态变就绪状态,只
4、是自身进程的状态变迁,不涉及处理器,故不会引起其它进程由就绪状态变运行状态。4-11 什么是进程控制块?它有什么作用?为了描述一个进程和其它进程,以及系统资源的关系,为了刻画一个进程在各个不同时期所处的状态,人们采用了一个与进程相联系的数据块,称为进程控制块(PCB)。其作用:标识一个进程的存在。4-12 n个并发进程共用一个公共变量Q,写出用信号量实现n个进程互斥时的程序描述,给出信号量取值的范围,并说明每个取值的物理意义。main()int mutQ=1;/信号量mutQ用来管理公共变量Q,其值为1,表示初始情况下没有进程使用该变量cobeginp1();p2();pn();coendp1
5、()P(mutQ);使用公共变量Q./或cs(i).V(mutQ);mutQ的取值范围:1-n 11-n:表示一个进程正在使用公共变量Q,另有n-1个进程在等待使用公共变量Q0:表示一个进程正在使用公共变量Q,没有进程等待使用公共变量Q1:表示初始情况下没有进程使用该变量4-14如下图为两个进程流图。试用信号量的P、V操作实现下图(a)、(b)中所示进程之间的同步,并写出程序描述。 (a) (b)(a)解:main() int s12=0,s13=0,s14=0; cobegin p1(); p2(); p3(); p4(); coend p1() p1 execute; V(s12); V(
6、s13); V(s14); p2() P(s12); p2 execute; p3() P(s13); p3 execute; p4() P(s14); p4 execute; 4-15 如下图所示,get、copy、put 三进程共用两个缓冲区 s、t(其大小为每次存放一个记录) 。 get 进程负责不断地把输入记录送入缓冲区 s 中,copy 进程负责从缓冲区 s 中取出记录复制到缓冲区 t 中,而put 进程负责从缓冲区 t 中取出记录打印。试用 P、V 操作实现这三个进程之间的同步,并写出程序描述。解:main() int sa=1,sb=0;/ sa 表示缓冲区 S 是否为空,sb
7、表示是否为满。 int ta=1,tb=0;/ ta 表示缓冲区 T 是否为空,tb 表示是否为满。 cobegin get; copy; put; coend get() while(1) P(sa); input data to buffer S; V(sb); copy () while(1) P(sb); copy data from buffer S; V(sa); P(ta); input copy-data to buffer T; V(tb); put() while(1) P(tb); output data to buffer S; V(ta); 4-16 什么是进程的互斥
8、与同步?同步和互斥这两个概念有什么联系和区别? 答:在操作系统中,当一个进程进入临界区使用临界资源时,另一个进程必须等待,当占用临界资源的进程退出临界区后,另一进程才被允许去访问此临界资源。我们称进程之间的这种相互制约关系为互斥。 进程同步是指多个相关进程在执行次序上的协调。这些进程相互合作,在一些关键点上可能需要互相等待或互通消息。4-18 判断下列同步算法是否有错,请指出错误原因并改正。(1) 3个进程并发活动的进程流图如下图所示,其同步算法描述如下main()int s=-1;cobeginp1();p2();p3();coendp1()V(s);p2()V(s);p3()P(s);参考
9、解答:因p1和p2进程是p3进程开始执行的先决条件,即当p1和p2进程均执行完毕时,p3才能执行,则p3需有两个信号量,分别表示p1进程执行完毕的信号量s1,以及p2进程执行完毕的信号量s2。则同步算法描述如下:main()int s1=0,s2=0;cobeginp1();p2();p3();coendp1()V(s1);p2()V(s2);p3()P(s1);P(s2);(2) 设a、b两进程共用一个缓冲区,a向t写信息,b从t读出信息,算法如下图进程A和进程B共用一个缓冲区,则缓冲区是共享资源,进程A向其中写入信息前需由P操作控制分配资源,当进程A写完消息,则可向进程B发送消息,通知B进
10、程可以去取消息了,故进程A和B是同步进程。需为进程A定义私用信号量S1,初值为1表示缓冲区为空,为进程B定义私用信号量S2,初值为0,表示缓冲区没有消息。算法描述:main()int s1=1,s2=0;cobeginpa();pb();coendpa()P(s1);写消息.V(s2);pb()P(s2);读消息V(s1);(3) 设a、b两并发进程,它们共享一临界资源。其执行临界区的算法框图如下图,进程A和进程B为互斥进程,则需一个互斥信号量s,初值为1,表示临界资源初始情况下无进程使用。main()int s=1;cobeginpa();pb();coendpa()P(s);进入csaV(
11、s);pb()P(s);进入csbV(s);4-21 什么是线程?线程和进程有什么区别? 答:线程有时也称为轻量级进程,它是比进程更小的活动单位,它是进程中的一个执行路径。一个进程可以有多个执行路径即线程。 线程和进程的主要区别如下:(1)线程是进程的一个组成部分。一个进程可以有多个线程,而且至少有一个可执行的线程。 (2)进程是资源分配的基本单位,它拥有自己的地址空间和各种资源。线程是处理机调度的基本单位,它只能和其他线程共享进程的资源,而本身并不具有任何资源。 (3)进程的多个线程都在进程的地址空间内活动。这样,在以线程为单位进行处理机调度和切换时,由于不发生资源变化特别是地址空间的变化,因此切换时间较短。而以进程为单位进行处理机调度和切换时,由于涉及到资源转移及现场保护等问题, 将导致切换时间变长和资源利用率降低。 (4)线程和进程一样,都有自己的状态和相应的同步机制。但是,由于线程没有自己单独的程序和数据空间,因而不能像进程的程序和数据那样交换到外存去。 (5)进程的调度和控制大多由操作系统的内核
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东交通学院《专业表现技法》2023-2024学年第二学期期末试卷
- 湖南交通工程学院《形势与政策(3)》2023-2024学年第一学期期末试卷
- 江苏省南京联合体【栖霞、江宁、雨花】2025年初三全真英语试题模拟试卷(17)含答案
- 武威职业学院《现代生物医学与诺贝尔奖》2023-2024学年第一学期期末试卷
- 江苏航运职业技术学院《课程论》2023-2024学年第二学期期末试卷
- 西南财经大学天府学院《生物技术创新与创业》2023-2024学年第二学期期末试卷
- 2025国际航空运输合同样本
- 厦门医学院《动画电影制作解析》2023-2024学年第二学期期末试卷
- 江苏省苏锡常镇四市2025届高三下学期3月份月考语文试题含解析
- 长沙幼儿师范高等专科学校《小动物疾病学》2023-2024学年第一学期期末试卷
- 语文学业质量监测-国测四年级模拟试题(A)
- 医美整形美容的面部抗衰老技术解析
- 车队长安全责任状范文
- 《医学影像技术学》课件
- 中考历史选择题最后冲刺训练题及答案
- 2024年(医学)形态学专项考试试题及答案
- 行政人资总监绩效考核表
- 地下停车场预算报价
- 外墙蜘蛛人施工方案
- 健康管理-体重管理课件
- 胸腔积液患者病例讨论课件
评论
0/150
提交评论