.
进程工作,一个进程在工作时至少对应有一个程序。(4)各个进程在并发执行时会产生制约关系,使各自推进的速度不可预测;而程序作为静态概念,不存在这种异步特征。
进程和程序关系类似生活中的炒菜与菜谱。菜谱相同,而各人炒出来的菜的味道却差别很大。原因是菜谱基本上是一种静态描述,它不可能把所有执行的动态过程中,涉及的时空、环境等因素一一用指令描述清楚。
9、如何理解进程的顺序性与并发性? 答:进程的顺序性与并发性:
1、顺序性
顺序性包括两层含义:(1)内部顺序性,对于一个进程来说,它的所有指令是按序执行的;(2)外部顺序性,对于多个进程来说,所有进程是依次执行的。
例如,假如有P1和P2两个进程,其活动分别为: P1活动:A1 A2 A3 A4 P2活动:B1 B2 B3 B4
顺序执行时,有如下两种情形: 情形1:A1 A2 A3 A4 B1 B2 B3 B4 情形2:B1 B2 B3 B4 A1 A2 A3 A4 2、并发性
并发性包括如下两层含义:(1)内部顺序性,对于一个进程来说,它的所有指令是按序执行的;(2)外部并发性,对于多个进程来说,所有进程是交叉执行的。
例如,对于上面P1和P2两个进程来说,并发执行有许多情形,如: 情形1:A1 B1 B2 A2 A3 B3 A4 B4 情形2:B1 B2 A1 A2 A3 B3 B4 A4
并发进程在其执行过程中,出现哪种交叉情形是不可预知的,这就是并发进程的不确定性,操作系统应当保证:无论出现何种交叉情形,每个进程运行的结果都应当是唯一的,正确的。
10、什么是进程的同步与互斥? 答:进程的同步与互斥是指进程在推进时的相互制约关系。在多道程序系统中,由于进程合作与资源共享,这种进程间的制约称为可能。我们把前者称为进程同步,后者称为进程互斥。
进程同步是进程间共同完成一项任务时直接发生相互作用的关系。为进程之间的直接制约关系。在多道环境下,这种进程间在执行次序上的协调是必不可少的。同步进程之间的关系如同接力赛跑中的运动员,或生产流水线的每一
精选文档
.
道工序。
进程互斥是进程之间的间接制约关系。在多道系统中,每次只允许一个进程访问的资源称为临界资源,进程互斥就是保证每次只有一个进程使用临界资源。互斥进程之间的关系如同汽车在交叉路口争用车道,篮球比赛中双方争抢篮板球。
11、什么叫原语?
答:在操作系统中,往往设计一些完成特定功能的、不可中断的过程,这些不可中断的过程称为原语。如P、V操作原语。
12、什么是线程?它与进程有什么关系?
答:线程是进程中执行运算的最小单位,即处理机调度的基本单位。它与进程的关系是:一个线程只能属于一个进程,而一个进程可以有多个线程;资源分配给进程,同一进程的所有线程共享该进程的所有资源;处理机分给线程,即真正在处理机上运行的是线程;线程在运行过程中,需要协作同步,不同进程的线程间要利用消息通信的办法实现同步。
特别注意的是:传统操作系统中的进程概念与现代操作系统中的进程概念不同——简单说,传统操作系统中进程具有分配资源、调度运行两大功能,而现代操作系统中进程只作为分配资源单位,线程才作为调度运行单位。
13、试以生产者—消费者问题说明进程同步问题的实质。
答:一个生产者,一个消费者和一个产品之间关系是典型的进程同步问题。设信号量S为仓库内产品,P-V操作配对进行缺一不可。生产者进程将产品放入仓库后通知消费者可用;消费者进程在得知仓库有产品时取走,然后告诉生产者可继续生产。
14、用PV操作实现进程间的同步与互斥应该注意什么?
答:用PV操作实现进程间的同步与互斥,应该注意以下四个方面:
⑴ 对每一个共享资源都要设立信号量。互斥时对一个共享资源设立一个信号量;同步时对一个共享资源可能要设立两个或多个信号量,要视由几个进程来使用该共享变量而定;
⑵ 互斥时信号量的初值一般为1;同步时至少有一个信号量的初值大于等于1;
⑶ PV操作一定要成对调用。互斥时在临界区前后对同一信号量作PV操作;同步时则对不同的信号量作PV操作,PV操作的位置一定要正确。
⑷ 对互斥和同步混合问题,PV操作可能会嵌套,一般同步的PV操作在外,互斥的PV操作在内。
精选文档
.
五、综合题
1、某系统的进程状态转换图如下图所示,请回答:
执行态 1 2 3 就绪态 4 等待态 ⑴ 引起各种状态转换的典型事件有哪些? 答:1,就绪→运行:CPU空闲,就绪态进程被调度程序选中。
2,运行→就绪:正在运行的进程用完了本次分配给它的CPU时间片。 3,运行→阻塞:运行态进程因某种条件未满足而放弃对CPU的占用,如等待读文件。
4,阻塞→就绪:阻塞态进程所等待的事件发生了,例如读数据的操作完成。
⑵ 当我们观察系统中某些进程时,能够看到某一进程产生的一次状态转换能引起另一个进程作一次状态转换。在什么情况下,当一个进程发生转换3时,能立即引起另一进程发生转换1?试说明是否会发生这些因果转换:2→1;3→2;4→1。
答:2—1:可以。运行进程用完了本次分配给它的时间片,让出CPU,从就绪队列中选一个进程投入运行。
3—2:不可以。任何时候一个进程只能处于一种状态,它既然由运行态变为阻塞态,就不能再变为就绪态。 4—1:可以。某一阻塞态进程等待的事件出现了,而且此时就绪队列为空,该进程进入就绪队列后马上又被调度运行。
⑤ 运行 等待磁盘读文件 ③ 等待打印机输出结果 ② ⑥ ① 就绪进程队列 ④ 2、某分时系统的进程出现如上图所示的状态变化。 试问 ⑴ 你认为该系统采用的是何种进程调度算法? 答:该分时系统采用的进程调度算法是时间片轮转法。
精选文档
.
⑵ 把图中所示的每一个状态变化的原因填写在下表中。 变 化 ① ② ③ ④ ⑤ ⑥ 原 因 进程被选中,变成运行态 时间片到,运行的进程排入就绪队列尾部 运行的进程启动打印机,等待打印 打印工作结束,等待的进程排入就绪队列尾部 等待磁盘读文件工作 磁盘传输信息结束,等待的进程排入就绪队列尾部
3、四个进程A、B、C、D都要读一个共享文件F,系统允许多个进程同时读文件F。但限制是进程A和进程C不能同时读文件F,进程B和进程D也不能同时读文件F。为了使这四个进程并发执行时能按系统要求使用文件,现用PV操作进行管理,请回答下面的问题:
⑴ 如何定义信号量及初值;
答:两个信号量m和s,s和m的初值均为1。
⑵ 在下列的程序中填上适当的P、V操作,以保证它们能正确并发工作:
进程A 进程B 进程C 进程D … … … … [1] [3] [5] [7] read F read F read F read F [2] [4] [6] [8] 答:进程A 进程 B 进程 C 进程 D
P(m)
P(s) P(m) P(s)
read F read F read F read F V(m) V(s) V(m) V(s) 4、判断下面的同步问题的算法是否正确?若有错,请指出错误原因并予以改正。
⑴ 设A、B两进程共用一个缓冲区Q,A向Q写入信息,B则从Q读出信息,算法框图如图所示。
精选文档
相关推荐: