1 / 89
文档名称:

计算机操作系统第三章.ppt

格式:ppt   大小:333KB   页数:89页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

计算机操作系统第三章.ppt

上传人:yixingmaob 2017/2/21 文件大小:333 KB

下载得到文件列表

计算机操作系统第三章.ppt

相关文档

文档介绍

文档介绍:电信学院计算机系第三章进程的同步与通信?进程同步的主要任务, 是使并发执行的诸进程之间能有效地共享和相互合作,从而使程序的执行具有可再现性电信学院计算机系第三章进程的同步与通信?进程同步的基本概念?信号量机制?经典进程同步问题?管程机制?进程通信? UNIX 进程同步和进程通信电信学院计算机系 进程同步的基本概念?多道程序环境下,进程间可能存在两种关系: –资源共享关系–相互合作关系?进程间相互制约: –直接制约:进行协作--等待来自其他进程的信息, “同步”–间接制约:进行竞争--独占分配到的部分或全部共享资源, “互斥”电信学院计算机系 进程同步的基本概念? 临界资源? 临界区? 利用软件方法解决进程互斥问题? 利用硬件方法解决进程互斥问题电信学院计算机系 临界资源?临界资源( critical resource) –需要进程间互斥方式访问的共享资源(即一次只允许一个进程访问) ?生产者-消费者问题( Producer-Consumer) –若干进程通过有限的共享缓冲区交换数据。其中, “生产者”进程不断写入,而“消费者”进程不断读出;共享缓冲区共有 N个;任何时刻只能有一个进程可对共享缓冲区进行操作。电信学院计算机系 producer 共享缓冲区生产指针消费指针 Producer 1 Producer 2 ... Producer M Consumer 1 Consumer 2 ... Consumer N 满空指针移动方向 produce an item in nextp; while(counter=n); buffer[in]=nextp; in=(in+1)%n; counter++; while(counter=0); Nextc=buffer[out]; out=(out+1)%n; counter--; Consume the item in nextc; consumer 电信学院计算机系共享变量的修改冲突电信学院计算机系操作顺序冲突 get copy put fstg 有3个进程: get, copy 和put ,它们对 4个存储区域 f、s、t和g进行操作:把 f中的序列原样复制到 g中。电信学院计算机系有6种可能的操作顺序,只有一种结果是正确的。 fstg 结果初始状态 3,4,...,m 22 (1,2) g,c,p 4,5,...,m 33 (1,2,3) 正确 g,p,c 4,5,...,m 33 (1,2,2) 错误 c,g,p 4,5,...,m 32 (1,2,2) 错误 c,p,g 4,5,...,m 32 (1,2,2) 错误 p,c,g 4,5,...,m 32 (1,2,2) 错误 p,g,c 4,5,...,m 33 (1,2,2) 错误电信学院计算机系 临界区?临界区( critical section) –每个进程中访问临界资源的那段代码称为临界区?若能保证个进程互斥地进入自己的临界区,就能保证他们互斥的访问临界资源