操作系统——进程同步

    技术2023-06-19  66

    3.4.1 概念

    1.临界资源:一次只允许一个进程使用 2.互斥:当一个进程在使用这个资源时,另一个进程不能使用 3.同步机制应遵循的原则 空闲让进:其他进程均不处于临界区 忙则等待:已有进程处于临界区 有限等待:等待进入临界区的进程不能死等 让权等待:不能进入临界区的进程,应释放CPU(如切换到阻塞状态) -------------- 可以通过有无空循环判断 4.进程同步:直接制约,相互协作,保证先后顺序,前驱后继关系

    3.4.2 解决互斥问题

    1.使用软件算法 (3)面包店算法 取得小号优先,如果不同进程取号一样,保证编号小的进程先进入临界区 2.锁机制 3.信号量机制 (1)整型信号量机制 初始化操作:非负整数 P操作:wait() -1 V操作:signal() +1 (2)记录型信号量机制

    使用信号量机制解决同步互斥时,对互斥信号量初值通常为“1”,对同步信号量初值通常为“0”(前驱进程尚未完成)。 为临界资源设置一个互斥信号量semaphore mutex=1: wait(mutex);临界区; signal(mutex);

    应先执行对资源信号量的wait操作,再执行对互斥信号量的wait操作。否则可能引起进程死锁

    例题:

    3.4.3 经典进程同步问题

    1.生产者-消费者问题 2.哲学家进餐问题 3.读者-写者问题 4.理发师问题

    Processed: 0.040, SQL: 9