1.解释并发与并行,并说明两者关系。
普通解释:
并发:交替做不同事情的能力
并行:同时做不同事情的能力
专业术语:
并发:不同的代码块交替执行
并行:不同的代码块同时执行
并发和并行的意义:
并发和并行都可以处理“多任务”,二者的主要区别在于是否是“同时进行”多个的任务。
2.进程间有哪几咱关系?分别要采取什么策略?
进程间存在着直接制约和间接制约两种制约关系,其中直接制约(同步)是由于进程间的相互合作而引起的,而间接制约(互斥)则是由于进程间共享临界资源而引起的。
3.为什么说进程的互斥也是一种同步?
在操作系统中,当某一进程正在访问某一存储区域时,就不允许其他进程进行读写或者修改该存储区的内容,否则就会发生后果无法估计的错误。进程之间的这种相互制约的关系成为进程互斥。
并发进程在一些关键点上可能需要互相等待与互通消息,这种相互制约的等待与互通信息称为进程同步。
实际上进程互斥也是一种同步,他协调多个进程互斥进入同一个临界资源对应的临界区。
4.解释死锁与“饥饿”,并说明两者关系。
如果在一个进程集合中的每个进程都在等待只能由该集合中的其他进程才能引发的事件,而无限期僵持的局面称死锁。一个可运行进程由于其他进程总是优先于它,而被无限期拖延而不能被执行的现象称饥饿。死锁进程必然处于饥饿状态,但处于饥饿状态的进程未必陷入死锁。
5.什么叫做临界区?如何解决进程对临界资源的访问冲突?
每个进程中访问临界资源的那段程序称为临界区,每次只准许一个进程进入临界区,入后不允许其他进程进入。 如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入。 任何时候,处于临界区内的进程不可多于一个。如已有进程进入自己的临界区,则其它所有试图进入临界区的进程必须等待。 进入临界区的进程要在有限时间内退出,以便其它进程能及时进入自己的临界区。 如果进程不能进入自己的临界区,则应让出 CPU,避免进程出现“忙等”现象
6.信号量的物理意义是什么?
信号量的物理意义是当信号量值大于零时表示可用资源的数目;当信号量值小于零时;其绝对值为因请求该资源而被阻塞的进程数目。
7.理解五个哲学家吃面问题,并能盲写出伪代码