经典同步问题.

Slides:



Advertisements
Similar presentations
作者 : 陳鍾誠 單位 : 金門技術學院資管系 URL : 日期 : 2016/7/21 行程的同步 註:本章學術性較重,但考試常考。
Advertisements

渡黑水溝 郁永河. 2 戎克船:是明末清初時期往返兩岸的主要交通工具 ∗ 1. 關於台灣的開發歷史,我們到底了解多少呢?不妨試著說出 就我們所知有關台灣開發史的故事、小說、電影、音樂與大 家分享。 ∗ 2. 什麼是黑水溝?黑水溝為什麼會成為大陸移民渡海來臺時最 大的威脅? ∗ 3. 有聽過「六死三留一回頭」、「有唐山公,無唐山嬤」這兩.
元大京華證券 組員名單 : A 楊之奇 A 廖本揚 A 宋俊承 A 陳冠廷 A 郭峻瑋 A 指導教授 : 許素華 副教授.
達悟族報告 作者 : 林琪崴, 許原碩 座號 :13 號,14 號 原碩負責 : 簡介, 傳說, 圖驣, 達悟族飛魚季, 琪崴 : 地理位置, 土地利用方式, 飲食文化, 豐收祭.
主讲:张天明 影像艺术工程师. 声音的聆听 指出听到的是什么物体发出的声音,这一 声音是在什么样的空间环境中传播的。 一、 答案: 1 、打气筒打气的声音 2 、手打打气筒给足球打气的声音 3 、手打打气筒给自行车轮胎打气的声音 4 、七次(七声)打气筒打气的声音 5 、(气流)摩擦的声音 6 、猪在发急时的叫声.
概念導向命題技巧與試題分析 臺灣師大地理系 陳國川. 教學評量是一種『抽樣調查』 實施教學評量時,需具備二項條件: 其一,瞭解命題的理論及其實踐的方法; 其二,瞭解各種題型的功能與命題方式。 壹、前言.
第十八章 林肯大郡 第十八章 林肯大郡災變緊急搶救應變措施 1997 年 8 月 18 日溫妮颱風襲台,汐止鎮 的林肯大郡山崩,遭崩場土石撞擊 1997 年 8 月 18 日溫妮颱風襲台,汐止鎮 的林肯大郡山崩,遭崩場土石撞擊造成二十八人罹難八十戶住宅倒塌的慘劇 此災變要喚起國人的重視 本章介紹搜救行動緊急應變措施。
进程管理习题 设有一个可以装 A 、 B 两种物品的仓库,其 容量无限大,但要求仓库中 A 、 B 两种物品 的数量满足下述不等式: -M ≤ A 物品数量 -B 物品数量 ≤N 其中, M 和 N 为正整数。试用信号量和 P 、 V 操作描述 A 、 B 两种物品的入库过程。
我的未来不是梦 攀枝花市经贸旅游学校. 1. 文中案例王萍苦恼的原因是 什么? 2. 你有哪些办法可以帮助王萍? 导入 思考  谁来帮帮她?
從「穹頂之下」電影看環境議題 第六小組 4a 黃士齊 4a 吳承翰 4a 洪濬森 4a 郭哲宇 0a40f226 湯思祺 林喬舜.
幾米 作業 1 飛上天空 我想飛上天空 遨遊在無際的天空 美麗的天空 漂亮的天空 這終究只是夢…… (李高仰)
<建筑基坑支护技术规程>JGJ 条文解释,基坑支护设计理论分析与计算
学习全国“两会”精神 常州工学院  理学院党总支 2014年3月.
乘势而上再谱发展新篇章 -2012全国两会精神解读
开启新征程 点燃中国梦 开启新征程 点燃中国梦 ——学习、领会2013年全国“两会”精神.
§2 线性空间的定义与简单性质 主要内容 引例 线性空间的定义 线性空间的简单性质 目录 下页 返回 结束.
34 府学胡同的文天祥祠,相传是南宋民族英雄文天祥当年遭囚禁和就义的地方,1376年明洪武九年建祠 。
學程選擇 學術學程 專門學程 1. 自然組 1.商業服務學程 2. 社會組 2.資訊應用學程 3.應用英語學程.
各位弟兄姐妹,主內平安! 請將手機關靜音,帶著敬虔的心來到上帝的面前!
国家行政学院决策咨询部研究员 原国家发改委经济所经济形势研究室主任 2012年6月
拯救书店计划 第二课挑战任务 一、探秘职业,获取知识 姓名:童彦佶 团队成员:童彦佶和妈妈 年龄:10岁 所在地区:上海
第一节 呼吸道对空气的处理.
十面“霾”伏 湖南长沙民政职业技术学院“思政”第九组 组员:李亮亮 许静 赵凯丽 何敏 张艳欣 付幻菱 陈京萍 王诗雨.
高考文言文的整体阅读.
如何对付脏空气.
第二章 进程的描述与控制管理.
作業系統 第六章 同步與死結.
Chapter 7: Process Synchronization 进程同步
教師執行計畫案聘任助理說明會 (勞務型、學習型申請方式說明)
解放軍論壇 中共信息戰發展 對我國軍事戰略之影響.
进程管理习题 图书馆有100个座位,有一张登记表,要求: 用P、V原语描述一个读者的使用过程 阅读者进入时登记,取得座位号; 出来时,注销;
水腫的原因 徐淑娟護理師 PM.
中国未成年人法制安全课程 雾霾哪里来? 初中段 第七讲.
四年一班小組創作 黃琦智老師指導 (影片檔請見班級電視牆)
第二章 进程管理.
专题五 高瞻远瞩 把握未来 ——信息化战争 主讲教师:.
第十章 现代秘书协调工作.
PURSUING EXCELLENCE / TOWARD SUCCESS WUCHANG UNIVERSITY OF TECHNOLOGY
幼儿园人力资源管理新视野 --胡志军(judyh).
Chapter 6 同步 (Synchronization)
中央广播电视大学计算机课程 操 作 系 统.
何俊賢教學資料.
Operating System Process Management - 4 Monday, August 11, 2008.
操作系统 (并发进程) 徐锋 南京大学计算机科学与技术系 2018年9月18日3时52分.
Operating System Concepts 作業系統原理 Chapter 3 行程觀念 (Process Concept)
中国科学技术大学计算机系 陈香兰 2013Fall 第五讲 进程同步和通信(part II) 中国科学技术大学计算机系 陈香兰 2013Fall.
作業系統 第六章 同步與死結.
Chapter 3 行程觀念 (Process Concept)
进程及进程管理 第4章 进程及进程管理.
计算机操作系统 第二章 进程管理 高校教师、高级项目经理 任铄 QQ:
第三章 进程互斥与同步.
第三章 进程互斥与同步 进程通信 Communication.
进程操作.
操作系统原理 Operating System Principles
李元金 计算机与信息工程学院 第 4 讲 进程管理(2) 李元金 计算机与信息工程学院 1/
多核结构与程序设计 杨全胜 东南大学成贤学院计算机系.
教學中應用剪報 一九九九年一月十五及十六日
第2章 进程管理 2.1 进程概念 2.2 线程 2.3 进程管理 2.4 进程间通信 2.5 经典进程同步问题 2.6 管程
第2章 进程和线程 内容提要: 2.1 进 程 概 念 2.2 进程的状态和组成 2.3 进 程 管 理 2.4 线 程.
第三章 进程互斥与同步.
教育部技專校院共用性電子資料庫購置計劃 廠商:漢珍數位圖書公司
作業系統 第四章 行程.
信号量(Semaphore).
中国农业科学院博士后学术论坛 博士后基金申请的经验及体会 中国农业科学院生物技术研究所 秦 华 博士
數學遊戲二 大象轉彎.
有理数的乘方(二).
Race Conditions and Semaphore
第6课 我是共和国的公民.
105-1 Data Structure Homework 4
Presentation transcript:

经典同步问题

经典进程同步问题 经典进程同步问题是从进程并发执行中归纳的典型例子。主要的经典同步问题有生产者-消费者问题、读者-写者问题、哲学家进餐问题等。 生产者-消费者问题(producer-consumer Problem ) 生产者-消费者问题是最著名的同步问题,它描述一组生产者(P1 ……Pm)向一组消费者(C1……Cq)提供消息。它们共享一个有界缓冲池(bounded buffer pool),生产者向其中投放消息,消费者从中取得消息,如下图所示。生产者-消费者问题是许多相互合作进程的一种抽象。

生产者-消费者问题 P1 Pm C1 Cq B0 B1 …. …... ……… Bn-1 假定缓冲池中有n个缓冲区,每个缓冲区存放一个消息。由于缓冲池是临界资源,它只允许一个生产者投入消息,或者一个消费者从中取出消息。即生产者之间、生产者与消费者之间、消费者之间都必须互斥使用缓冲池。所以必须设置互斥信号量mutex,它代表缓冲池资源,它的数值为1。

生产者-消费者问题 生产者和消费者二类进程之间应满足下列二个同步条件: 只有在缓冲池中至少有一个缓冲区已存入消息后,消费者才能从中提取消息,否则消费者必须等待。 只有缓冲池中至少有一个缓冲区是空时,生产者才能把消息放入缓冲区,否则生产者必须等待。 为了满足第一个同步条件,设置一个同步信号量full,它代表的资源是缓冲区满,它的初始值为0,它的值为n时整个缓冲池满。 为了满足第二个同步条件,设置另一个同步信号量empty,它代表的资源是缓冲区空,它的初始值为n,表示缓冲池中所有缓冲区空。

生产者-消费者问题 Shared data semaphore full=0, empty=n, mutex=1; main() cobegin{ }coend Pi //生产者进程 do { … produce an item in nextp P(empty); P(mutex); add nextp to buffer V(mutex); V(full); } while (1); Ci //消费者进程 do { P(full); P(mutex); … remove an item from buffer to nextc V(mutex); V(empty); consume the item in nextc } while (1);

读者-写者问题The Readers-Writers Problem 一个数据集(如文件)如果被几个并行进程所共享: 有些进程只要求读数据集内容,它称读者 一些进程则要求修改数据集内容,它称写者 几个读者可以同时读些数据集,而不需要互斥 一个写者不能和其它进程(不管是写者或读者)同时访问些数据集,它们之间必须互斥。 信号量及变量设置: 写者与写者及读者需要互斥,用互斥信号量wrt表示,初值为1 readcount变量来记录读者数,初值为0 由于readcount是读者间共享变量,属于临界资源,它也需互斥,设置互斥信号量mutex,初值为1。

读者写者问题: Shared data semaphore mutex=1, wrt=1; int readcount = 0;// readcount变量来记录读者数 main() cobegin{ Writer process: while(1){ wait(wrt); … writing is performed signal(wrt); }

读者写者问题: Reader Process: while(1){ readcount++; if (readcount == 1) wait(mutex); readcount++; if (readcount == 1) wait(wrt); signal(mutex); … reading is performed readcount--; if (readcount == 0) signal(wrt); signal(mutex); } }coend

哲学家进餐问题Dining-Philosophers Problem 问题描述(由Dijkstra首先提出并解决) : 5个哲学家围绕一张圆桌而坐,桌子上放着5支筷子,每两个哲学家之间放一支; 哲学家的动作包括思考和进餐,进餐时需要同时拿起他左边和右边的两支筷子,思考时则同时将两支筷子放回原处。 如何保证哲学家们的动作有序进行?如:不出现相邻者同时要求进餐;不出现有人永远拿不到筷子;

Dining-Philosophers Problem Shared data semaphore chopstick[5]; Initially all values are 1

The structure of Philosophers i Philosopher i: do { wait(chopstick[i]) wait(chopstick[(i+1) % 5]) … eat signal(chopstick[i]); signal(chopstick[(i+1) % 5]); think } while (1);

哲学家就餐问题讨论 为防止死锁发生可采取的措施: 最多允许4个哲学家同时坐在桌子周围 仅当一个哲学家左右两边的筷子都可用时,才允许他拿筷子 给所有哲学家编号,奇数号的哲学家必须首先拿左边的筷子,偶数号的哲学家则反之 为了避免死锁,把哲学家分为三种状态,思考,饥饿,进食,并且一次拿到两只筷子,否则不拿 每个哲学家拿起第1根筷子一定时间后,若拿不到第2根筷子,再放下第1根筷子。

例题分析: 2、对信号量S执行P(或wait)操作后,使进程进入等待队列的条件是 。 1、6个进程共享某一临界资源,则互斥信号量的取值范围为 。 0~1 B. 0~-6 C. 0~ -5 D. 1~ -5 2、对信号量S执行P(或wait)操作后,使进程进入等待队列的条件是 。 A. S.value < 0 B. S.value <= 0 C. S.value > 0 D. S.value >= 0 3、操作系统在使用信号量解决同步与互斥问题中,若P(或wait)、V(或signal)操作的信号量S初值为2, 当前值为-3, 则表示有 等待进程。 A. 0个 B. 1个 C. 2个 D. 3个 4、设有4个进程共享一程序段,而每次最多允许2个进程进入该程序段,则信号量的初值是____ A、4 B、2 C、1 D、0

例题分析: 5、下列哪一个问题只包含进程互斥问题? A. 田径场上的接力比赛 B. 两个进程都要使用打印机 C. 一个生产者和一个消费者通过一个缓冲区传递产品 D. 公共汽车上司机和售票员的协作 6、在9个生产者、6个消费者共享容量为8的缓冲器的生产者-消费者问题中,互斥使用缓冲器的信号量mutex的初始值为 。 A. 1 B. 6 C. 8 D. 9 7、有一个计数信号量S,若干个进程对S进行了28次P操作和18次V操作后,信号量S的值为0,然后又对信号量S进行了3次V操作。请问此时有多少个进程等待在信号量S的队列中? A. 2 B. 0 C. 3 D. 7 8、假设一个正在运行的进程对信号量S进行了P(WAIT)操作后,信号量S的值变为-1,此时该进程将 。 A. 转为等待状态 B. 转为就绪状态 C. 继续运行 D. 终止

End