Cha4并发性:互斥和同步
Cha4 并发性:互斥和同步
并发( concurrency)导致的问题 进程的相对执行速度不可预测 °资源共享引起的危险 最佳资源分配 难以定位程序错误
并发(concurrency)导致的问题 • 资源共享引起的危险 • 最佳资源分配 • 难以定位程序错误 进程的相对执行速度不可预测
回显字符的Echo过程 Void echo In=getchar Chou=chin Putchar(chou P2 P1
回显字符的Echo过程 Void echo() { In=getchar(); Chout=chin; Putchar(chout); } P1 P2
共享资源的问题 Process p Process p 2 chin=getchar b—chin= getchar(0 Chou=chin; Putchar(chou) Chout=chin tchar(chou),b
共享资源的问题 Process p1 . chin=getchar(); . . . Chout=chin; Putchar(chout); Process p2 . . chin=getchar(); Chout=chin; Putchar(chout); . a b b b
OS需要管理的问题 能够记住所有进程 为每个进程分配资源 CPU,内存,文件,WO设备 保护进程的数据和物理资源 保证进程结果与执行速度无关
OS需要管理的问题 • 能够记住所有进程 • 为每个进程分配资源 – CPU,内存,文件,I/O设备 • 保护进程的数据和物理资源 • 保证进程结果与执行速度无关