【2012】第二章--进程管理二-----计算机操纵系统--计算机科学与技术-操作系统-IT.ppt

上传人:99****p 文档编号:1584631 上传时间:2019-03-06 格式:PPT 页数:144 大小:1.62MB
下载 相关 举报
【2012】第二章--进程管理二-----计算机操纵系统--计算机科学与技术-操作系统-IT.ppt_第1页
第1页 / 共144页
【2012】第二章--进程管理二-----计算机操纵系统--计算机科学与技术-操作系统-IT.ppt_第2页
第2页 / 共144页
【2012】第二章--进程管理二-----计算机操纵系统--计算机科学与技术-操作系统-IT.ppt_第3页
第3页 / 共144页
【2012】第二章--进程管理二-----计算机操纵系统--计算机科学与技术-操作系统-IT.ppt_第4页
第4页 / 共144页
【2012】第二章--进程管理二-----计算机操纵系统--计算机科学与技术-操作系统-IT.ppt_第5页
第5页 / 共144页
点击查看更多>>
资源描述

1、计算机操作系统中国民航大学 冯霞In fact, P = Probeer (Try) and V = Verhoog (Increment, Increase by one). These are the operations embracing the critical section. Dijkstra introduced these ops in 1963第二章 进程管理 进程的基本概念 进程控制 进程同步 经典进程的同步问题 进程通信 线程 2.4 经典进程的同步问题经典进程的同步问题 在多道程序环境下,进程同步问题是十分重要的,也是相当有趣的问题,因而吸引了不少学者对它进行研究,由

2、此而产了一系列经典的进程同步问题。 进程同步: 相互合作的进程之间需要交换一定的信息,当某进程未获得其合作进程发来的信息之前,该进程等待,直到该信息到来时才被唤醒继续执行,从而保证诸进程的协调运行。2.4.1 生产者消费者问题 问题描述 一个有限空间的共享缓冲区,负责存放货物 生产者向缓冲区中放物品,缓冲区满则不能放 消费者从缓冲区中拿物品,缓冲区空则不能拿生产者消费者问题分析 互斥关系分析 任何时刻,只能有一个进程在缓冲区中操作 引入互斥信号量 信号量为 0,表明已有进程进入临界区; 同步关系分析 对于 “ 生产者 ” 而言,缓冲区满则应等待 引入同步信号量 “ empty” ,为 0表示缓

3、冲区满 对于 “ 消费者 ” 而言,缓冲区空则应等待 引入同步信号量 “ full” ,为 0表示缓冲区空利用记录型信号量解决生产者利用记录型信号量解决生产者 消费者问题消费者问题从资源的观点很容易解这个问题: 有空 buf,生产者才能送数据,可设 计数信号量 empty,初值为 n。 有装满数据的 buf,消费者才能取数据,故 计数信号量full,初值为 0。 对某个 buf应互斥使用,设 互斥信号量 mutex,初值为 1。Var mutex, empty, full:semaphore=1,n,0;buffer:array 0, , n-1 of item;in, out: intege

4、r=0, 0;beginparbeginproceducer:beginrepeat producer an item nextp; wait(empty);wait(mutex);buffer(in)=nextp;in=(in+1) mod n;signal(mutex);signal(full);until false;end 存储所产生的新项consumer:beginrepeatwait(full);wait(mutex);nextc =buffer(out);out =(out+1) mod n;signal(mutex);signal(empty);consumer the item in nextc; until false;endparendend 存储所要使用的项

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 课件讲义

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。