进程互斥与同步
解释并发与并行,并说明两者关系。 进程间有哪几种关系?分别要采取什么策略? 为什么说进程的互斥也是一种同步? 解释死锁与“饥饿”,并说明两者关系 。 什么叫做临界区?如何解决进程对临界资源的访问冲突? 信号量的物理意义是什么? 理解五个哲学家吃面问题,并能盲写出伪代码。 一个超市有n个顾客购物,只有一个收银员,试用信号量P、V操作描述顾客进程和收银员之间的关系。写伪代码。 答: 1、并行性是指两个或多个事件在同一时刻发生。并发性是指两个或多个事件在同一事件间隔内发生。 在多道程序环境下,并发性是指在一段时间内,宏观上有多个程序同时运行,但在单处理器(CPU)系统每一时刻却仅能有一道程序执行,故微观上这些程序只能是分时地交替执行。倘若在计算机系统中有多个处理器,则这些可以并发执行的程序便被分配到多个处理器上,实现并行执行,即利用每个处理器来处理一个可并发执行的程序。 2、进程间有竞争关系、协作关系。竞争关系会产生死锁、饥饿问题,解决死锁问题,系统规定一种打印机分配策略:总是把打印机分配给所打印文件最短的进程;解决饥饿问题的策略是FCFS资源分配策略。 3、进程互斥是指若干进程因相互争夺独占型资源而产生的竞争制约关系。进程同步是指为完成共同任务的并发进程基于某个条件来协调其活动,因为需要在某些位置上排定执行的先后次序而等待、传递信号或消息所产生的协作制约关系