开云贴吧
【48812】“操作体系概论”习题回答之并发进程

发布于:2024-06-10 09:51:50  来源:开云贴吧  点击量:14次

  答:在多道程序规划体系中,作为单个作业可以一起履行,而每一个作业又需求有多个进程的协作来完结。因此,体系会一起存在着许多进程,在单处理器的状况下,这些进程轮番的占用处理器,即一个进程的作业没有悉数完结之前,另一个进程就开端作业,咱们说这些可一起履行的进程具有并发性,而且把可一起履行的进程称为“并发进程”。

  答:并发进程中与同享变量有关的程序段称为“临界区”。对若干个并发进程同享某一变量的相关临界区得办理有三点要求:

  ①一次至多一个进程可以进入临界区,当有进程在临界区履行时,其他想进入临界区履行的进程有必要等候。

  ②不能让一个进程无限制的在临界区履行,即任何一个进入临界区的进程有必要有限的时刻内退出临界区。

  ③不能逼迫一个进程无限期等候键入它的临界区,即有进程退出临界区时应让一个等候进入临界区的进程进入它的临界区履行。

  3.选用PV操作作为同步组织时,假定与某同享变量相关的信号量S的值可在[-1,l]之间,问S的初值是哪个值?当S=-1,S=0,S=l时它们各自的物理意义是什么?

  S=0,表明已有一个进程在临界区履行,这时若有进程想进入临界区则有必要等候。

  4.A、B两个火车站之间是单轨衔接的,现有许多列车一起到A站,须经A再抵达B站,列车出B站后又可分路行进(如图7-2)为确保行车安全,请你当调度时,你将怎么调度列车?请你用PV操作为东西规划一个能完成你的调度计划的主动调度体系。

  答:当A、B两站之间无列车停驶时,可让抵达A站的一列车进人A、B站之间行进。

  用一个信号量S来操控抵达A站的列车能否进入单轨道行进,S的初始值为l.列车抵达A站后,先履行P(S),若无列车在A、B站之间行进,则履行P(S)后当即进人单轨道行进,抵达B站后,履行V(S),可开释一个等候进入的列车进入行进。若A、B站之间已有列车在行进,则履行P(S)后就等候,直到行进者到了B站履行V(S)后开释一个欲进入者。

  5.今有三个进程R、M、P,它们同享一个缓冲区。R担任从输入设备读信息,每次读出一个记载并把它寄存在缓冲区中:M在缓冲区加工读入的记载;P把加工后的记载打印输出。输入的记载经加工输出后,缓冲区中又可寄存下一个记载。请用P、V操作为同步组织写出他们并发履行时能正确作业的程序。

  6.现有4个进程R1,R2,W1,W2,它们同享可以寄存一个数的缓冲器B.进程R1每次把从键盘上投入的一个数寄存到缓冲器B中,供进程W1打印输出;进程R2每次从磁盘上读一个数放到缓冲器B中,供进程W2打印输出。当一个进程把数据寄存到缓冲器后,在该数还没有被打印输出之前禁绝任何进程再向缓冲器中存数。在缓冲器中还没有存入一个新的数之前不允许任何进程加速从缓冲区中取出打印是怎么样才可以使这四个进程在并发履行是和谐的作业?

  答:这四个进程其实便是两个生产者 R1,R2和两个顾客 W1,W2.各自生成不同的产品中各自的消费目标去消费,他们同享一个的缓冲器。因为缓冲器只能寄存一个数,所以,R1和R2在寄存数时有必要互斥。而R1和W1、R2和W2之间有同步。为了和谐它们的作业可定义三个信号量:

  若process A先履行了三个循环后,process A和 process B又并发履行了一个循环,写出或许会呈现的打印值。请用PV操作完成同步,使两并发进程能正确履行。

  答:或许的值是 18或 23.是因为 process A履行三个循环后,N=18,之后 A和 B并发履行,或许先履行A中的N:=N+5,再履行B中的print(N);这样就会得到23,也或许先履行B中的pint(N);这就会得到18.

  答:体系供给两个与信箱通讯有关的通讯原语:send原语(发送)和 receive原语(接纳)。send(B,M)原语把函件M送人到信箱B中,receive(B,X)原语从信箱B中取出一封信寄存到指定的地址X中。

  答:若体系中存在一组进程(二个或多个进程),他们中的每一个进程都占用某种资源而又都在等候其间另一个进程所占用的资源,这种等候永久不能完毕,就说体系呈现“死锁”。

  进程死锁的原因是体系供给的资源数比要求运用资源的进程数少,或者是若干个个进程要求资源的总数大于体系能供给的资源数。这时,进程间就会呈现竞赛资源的现象,假如对进程竞赛的资源办理和分配不妥就会引起死锁。死锁的呈现是与资源分配战略和并发进程的履行速度有关。

  答:避免死锁的战略有:静态分配、按序分配、掠夺式分配。银行家算法可以尽或许的避免死锁。

  11.某体系有输入机和打印机各一台,今有两个进程都要一起运用他们,选用PV操作完成恳求运用和偿还开释后,还会发生死锁吗?若否,阐明理由;若会发生死锁则给出一种避免死锁的办法。

  答:假如 PV操作规划不妥,仍会发生死锁。假如用 S1 S2别离代表输入机和打印机能否被运用的信号量,因为资源是同享的,所以有必要互斥运用,因此它们的初始值都为l.

  那么就会呈现Q1得到输入机而 Q2得到打印机,两边在不开释现已有的资源的状况下又去请求新的资源,就会形成死锁。

  12.某一体系分配资源的战略是:当进程提出请求资源时,只需体系有资源中是分配给它,体系无资源时让它登台。任一进程总是先开释以占有的资源后在请求新的资源,且每次请求一个资源,体系中的进程得到资源后总能在有限时刻内偿还。证明该体系不或许会发生死锁。

  状况二,得不到满意,处于等候资源状况。此刻,资源必定被另一进程 Q占有。进程 Q履行时若不在请求资源,则必在有限时刻里偿还资源,所以 P不会永久等候。假如进程 Q履行时还要请求资源,按题意,它必定先开释占有的资源,所以 P也不会永久等候。所以,任一进程请求资源总能在有限时刻得到资源,因此不会发生死锁。