概述

无关的并发进程判断:Bernstein条件

R(pi) read,W(pi) write ;两个进程满足:(R(P1)∩W(P2)) ∪ (R(P2) ∩W(P1)) ∪ (W(P1) ∩W(P2)) = { }

临界区管理

软件实现:Peterson算法 :互相谦让 用 inside[2] 和 turn标志

硬件实现:关中断,xchg

存在问题:ljq

同步问题

生产者消费者问题

信号量 p:请求资源,v:分配资源

读者写者问题

56 - 59

二元信号量实现一般信号量

60 - 62

理发师问题

63 - 64

管程

同步逻辑的封装机制

进程间通信:

信号 管道 消息队列 共享内存 套接字

(线程几乎不存在交换数据问题)

硬中断(内,外 中断) 中断正在执行的程序,转向中断处理程序(外部设备对CPU终端,指令不正常)

信号是 一种 软中断,内核或进程向某个进程发出中断。

死锁

P_i need alloc available (clain = need + alloc)

银行家算法:死锁避免

资源分配图:死锁检测

进程资源间申请及分配关系 の 有向图

申请边,例 Pi→Rj;分配边,例 Ri→Pj

如果每个资源类型只有一个实例,那么资源分配图中出现环则意味着出现死锁

环:必要不充分,死锁一定有环有环不一定死锁

results matching ""

    No results matching ""