进程互斥与同步
1.解释并发与并行,并说明两者关系
并行是指两个或者多个事件在同一时刻发生;而并发是指两个或多个事件在同一时间间隔发生。
2.进程间有哪几咱关系?分别要采取什么策略?
进程之间存在着直接制约和间接制约两种制约关系。先来先服务调度算法、短作业(进程)优先调度算法。
3.为什么说进程的互斥也是一种同步?
互斥指的是某资源一次只允许一个进程使用,即你在使用的时候我不能使用;我在使用的时候你不能使用。这就是一种协调,一种步伐。
4.解释死锁与“饥饿”,并说明两者关系。
饥饿是指系统不能保证某个进程的等待时间上界,从而使该进程长时间等待,当等待时间给进程推进和响应带来明显影响时,称发生了进程饥饿。当饥饿到一定程度的进程所赋予的任务即使完成也不再具有实际意义时称该进程被饿死。
死锁是指在多道程序系统中,一组进程中的每一个进程都无限期等待被该组进程中的另一个进程所占有且永远不会释放的资源。
二者都是由于竞争资源而引起的。
从进程状态考虑,死锁进程都处于等待状态,忙等待(处于运行或就绪状态)的进程并非处于等待状态,但却可能被饿死;
死锁进程等待永远不会被释放的资源,饿死进程等待会被释放但却不会分配给自己的资源,表现为等待时限没有上界(排队等待或忙式等待);
5.什么叫做临界区?如何解决进程对临界资源的访问冲突?
临界区:每个进程中访问临界资源的那段程序叫做临界区。进程对临界区的访问必须互斥,每次只允许一个进程进去临界区,其他进程等待。
临界资源:指每次只允许一个进程访问的资源,分硬件临界资源、软件临界资源。
6.信号量的物理意义是什么?
信号量的物理意义是当信号量值大于零时表示可用资源的数目;当信号量值小于零时;其绝对值为因请求该资源而被阻塞的进程数目。