进程互斥与同步

Posted linmingcong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了进程互斥与同步相关的知识,希望对你有一定的参考价值。

解释并发与并行,并说明两者关系

(1)并发:并发运行就是把两个或两个以上的任务切割,在不同的时间片段内,cpu切换执行不同的任务,我们的电脑在工作过程中,可以同时运行很多软件,在我人看来,多个软件应用是同时在工作的,但从微观看,每个软件都是在不断切换的,cpu的工作分为很多个时间片,每个时间片都会切换不同的任务,只是由于切换的时间太短,我们人发觉不了,就好比cpu在有效的时间片内,先处理了QQ任务,在转到下一个时间片处理微信任务,所以在单cpu电脑中,不同任务间接执行。

(2)并行:并行执行就是,在多cpu的电脑中,针对两个或两个以上的任务,用不同的cpu中分别执行不同的任务,不同的任务之间互不影响。

进程间有哪几种关系?分别要采取什么策略?

进程间有竞争关系和协作关系。

(1)竞争关系:就是在cpu资源有限的情况下,不同的任务会抢占cpu资源,资源竞争会引发死锁和饥饿,解决饥饿采用FCFS资源分配策略,

(2)协作关系:协作关系需要在某些关键点上协调自己的工作,采用临界区管理。

 

 为什么说进程的互斥也是一种同步?

 (1)互斥就是当资源有限时,cpu只能被一个任务占用,这实际上就是一种协调,一种同步。

 

解释死锁与“饥饿”,并说明两者关系。

(1)死锁:当操作系统允许多个进程并发执行时,可能出现进程永远被阻塞现象,如果两个进程分别等待对方所占的一个资源,于是两者都不能执行而处于永远等待状态,就是死锁。

(2)饥饿:饥饿是指系统不能保证某个进程的等待时间上界,从而使该进程长时间等待,当等待时间给进程推进和响应带来明显影响时,称发生了进程饥饿。当饥饿到一定程度的进程所赋予的任务即使完成也不再具有实际意义时称该进程被饿死。

什么叫做临界区?如何解决进程对临界资源的访问冲突?

(1)并发进程中与共享变量有关的程序段称为临界区

临界资源管理三原则:

(2)一次至多只有一个进程进入临界区内执行;

(2)如果已有进程在临界区中,试图进入此临界区的其他进程应等待;

 (3)进入临界区内的进程应在有限时间内退出,以便让等待队列中的一个进程进入。

以上是关于进程互斥与同步的主要内容,如果未能解决你的问题,请参考以下文章

LINXU多线程(进程与线程区别,互斥同步)

操作系统王道考研 p17-19 进程同步与互斥进程互斥的软硬件实现方法

王道操作系统笔记———— 进程同步与互斥

王道操作系统笔记———— 进程同步与互斥

线程同步与互斥详解

操作系統-進程管理2(進程的互斥與同步)