第三章 进程管理 重点和难点: 进程的定义和特征 进程的同步和互斥 用信号量机制解决进程同步、互斥、前趋图问题.

Slides:



Advertisements
Similar presentations
渡黑水溝 郁永河. 2 戎克船:是明末清初時期往返兩岸的主要交通工具 ∗ 1. 關於台灣的開發歷史,我們到底了解多少呢?不妨試著說出 就我們所知有關台灣開發史的故事、小說、電影、音樂與大 家分享。 ∗ 2. 什麼是黑水溝?黑水溝為什麼會成為大陸移民渡海來臺時最 大的威脅? ∗ 3. 有聽過「六死三留一回頭」、「有唐山公,無唐山嬤」這兩.
Advertisements

颐高集团项目中心 海亮地产开发模式研究报告. 目 录 目 录 第四部分:海亮地产高周转模式执行 第二部分:海亮地产高周转模式原因 第三部分:海亮地产高周转模式内涵 第一部分:海亮地产企业背景 第五部分:海亮地产高周转支撑体系.
第八章 土地行政管理.
104年 志願選填試探後輔導 彰化縣學生輔導諮商中心 適性輔導組.
2012江苏历史高考 重点与热点考点分析与复习.
「互联网金融2.0时代」与房地产的融合 广州互联网金融协会会长、广州e贷总裁 方颂.
企业会计学(三) 人大版本 吕 昌.
统计学原理 雷州市 广播电视大学 教师进修学校 陈宏渊.
竹苗區100學年度擴大高中職 免試入學宣導說明會
回归教材、梳理知识、突出能力 ——2015年历史二轮复习思考 李树全 西安市第八十九中学.
温故知新 问题一:我国科技发展经过怎样的历程? 中华民族在历史上曾创造了辉煌灿烂的文化,世界领先;
第六节 美国 ■移民国家与多元化 ■现代化的农业 ■引领美国制造业的高新技术产业.
大洋洲.
據點考核與評鑑 報告人:臺南市政府 照顧服務管理中心.
当代 国 际 关 系(案例6) 冷战时期美苏关系的演变.
手太阳小肠经.
特殊族群運動健康訓練(I).
依据教材 全国高等教育自学考试指定教材 《西方行政学说史》, 竺乾威主编,高等教育出版社。
我为何为我?——那些历史并没有消失,它们就存在于我们心灵最隐秘的地方,时时在引导我们的行为准则,在操纵着我们的喜怒哀乐。
正 信 讀 書 會 主 持 群 : 姚 永 錩 、 鄭 健 、 陳 淑 珍 佛法的生活應用 2008/07/23.
非法集资典型案例评析 南京师范大学法学院 蔡道通 2016年1月.
专题(二) 交往沟通 掌握技能 命 题 解 读 背 景 材 料 新 题 演 练 考 点 链 接 1.
系统简介 理财顾问 业务 是基于通信平台的技术优势,整合《理财周刊》、第一理财网、乾隆集团等合作伙伴提供的理财产品内容和权威的理财专家资源,以集中式呼叫中心为主的服务方式,让普通百姓可以享受到快捷、全面、专业、权威的资讯及投资理财的服务平台。
松竹梅岁寒三友 步入建交 桃李杏村暖一家 迈进职教 活出精彩.
游泳四式技術分析暨初級教法.
第三节 大气环境 第一课时 对流层大气的受热过程.
補救教學實施策略 國立新竹教育大學 高淑芳.
湖南师大附中高三政治第二次月考 试题讲评 试题讲评.
第一单元 人在社会中生活 综合探究一 从地图上获取信息 第1课时 带着地图定向越野间.
第八单元第二课第一课时 严守法律 温州四中 蒋莉青.
宦官那些事儿 宦官那些事儿 主讲:小学部李永善 主讲:小学部李永善.
解放軍論壇 中共信息戰發展 對我國軍事戰略之影響.
第十一章 真理与价值 主讲人:阎华荣.
主题七 关注三农,重视民生 .
高级财务会计.
默写基础知识: 1、家庭是由 关系、 关系或 关系而结合成的亲属生活组织。家里有 ,家中有 。
什么是颈椎病? 颈椎病是指颈椎间盘退行性变,及其继发性椎间关节退行性变所致脊髓、神经、血管损害而表现的相应症状和体征。
电视教育课 【5】 小学生行为习惯养成教育.
第四单元 当代国际社会 第八课 走进国际社会.
战 后 国 际 关 系 专题五:冷战时期美苏关系的演变 政治学与行政管理系.
专题五 高瞻远瞩 把握未来 ——信息化战争 主讲教师:.
我的股票投資法 集盛(1455).中鋼(2002).奇美電(3481) 497G0909 周煜凱 497G0007 謝佳佑
第七章 固 定 资 产.
第十章 现代秘书协调工作.
第一节 正名——文字学与汉字学 第二节 本学期讲授内容及安排 附录:参考书目 作业
第一单元 中国传统文化主流思想的演变.
宁波爱地房产市场年报 郊五区
公務人員退休法、撫卹法 法制與實務講習 銓敘部退撫司 中華民國99年8月.
《傅雷家书》 学 科:语文 年 级:九年级 授课教师:王宁宁.
1.5 地球运动的地理意义(一) 自 转意义 一、昼夜交替 昼夜现象 1、昼夜更替 周期是24小时(1太阳日) 地球是一个不发光
A B~A B
第一節 行政裁量與不確定法律概念 第二節 行政裁量
運輸與空間的交互作用 運輸發展的階段 一、分散的港口 二、侵入路線 三、發展支線 四、初步相互連結 五、完全相互連結 六、高度優越的幹線
本课设置5个环节 一、限时秒杀--5分钟 二、摩拳擦掌--9分钟 三、刀锋相见--20分钟 四、现炒现卖--5分钟 五、相约课后--1分钟.
从中国与联合国的关系演进 看联合国的产生与发展
行政院國軍退除役官兵輔導委員會 嘉義榮民醫院.
甲年基督聖體聖血節進堂詠 上主要以上等的麥麵養育選民, 用石縫中的野蜜飽飫他們。.
第八章 欧氏空间 8.1 向量的内积 8.2 正交基 8.3 正交变换 8.4 对称变换和对称矩阵.
李元金 计算机与信息工程学院 第 3 讲 进程管理(1) 李元金 计算机与信息工程学院 1/
體育科教學軟件 乒乓球.
公立學校教職員退休資遣撫卹條例重點說明 苗栗縣政府人事處編製 主講人:陳處長坤榮 107年5月2日.
第二节 极限 一、数列极限 定义:.
加減法文字題 國小低年級學生對加減法文字題的瞭解 小組成員 陳育娟 羅珠綾 侯宜孜
飛行器製作與飛行 講師:劉修建.
因果性:一个形而上学的预设 赵敦华 2008年5月.
國立政治大學 96學年度學雜費調整 第二次公聽會
第五章 线性系统的根轨迹法 5.2 根轨迹的绘制规则 5.3 广义根轨迹 5.4 零度根轨迹 5.5 系统性能分析 5.1 根轨迹的基本概念
第十章、核銷系統操作之注意事項.
Presentation transcript:

第三章 进程管理 重点和难点: 进程的定义和特征 进程的同步和互斥 用信号量机制解决进程同步、互斥、前趋图问题

3.1 进程的基本概念 3.1.1 进程的引入 程序的顺序执行、程序的并发执行特征比较 程序的顺序执行 程序的并发执行 程序的顺序执行 程序的并发执行 1 顺序性 1 间断性 2 封闭性 2 失去封闭性 3可再现性 3 不可再现性

进程的引入 多道程序系统的特点是并行性。为了充分利用系统资源,在主存中同时存放多道作业运行,所以各作业之间是并行的 各程序由于同时存在于主存中,它们之间必定会存在相互依赖,相互制约的关系。 (间接制约关系、直接制约关系) 在多道程序系统所带来的复杂环境中,程序具有了并行、制约、动态的特性,原来的程序概念,难以刻画系统中的情况了。 程序本身完全是静态的概念 程序概念也反映不了系统中的并行特性

如果(pi,pj)∈ 可写成pi pj ,称pi是pj 的前驱,而pj是pi的直接后继。 关于前驱图的几个概念: 前驱图(Procedence Graph):是一个有向无循环图,图中的每个结点可用于表示一条语句,一个程序段或进程;结点间的有向边则表示在两结点之间存在的偏序或前驱关系。“ ”, ={(pi,pj)} 如果(pi,pj)∈ 可写成pi pj ,称pi是pj 的前驱,而pj是pi的直接后继。 关于前驱图的几个概念: 1 直接前趋 2 直接后继 3 初始结点 4 终止结点 5 结点的重量:该结点所含的程序量或结点的执行时间来计算。

={(P1,P2),(P1,P3),(P1,P4),(P2,P5),(P3,p5),(P4,P6),(P5,P7),(P6,P7)} 七个结点的前驱图 存在下面的前驱关系: P1 P2,P1 P3;P1 P4;P2 P5;P3 P5;P5 P7; P4 P6,P6 P7 或表示为: P={P1,P2,P3,P4,P5,P6,P7} ={(P1,P2),(P1,P3),(P1,P4),(P2,P5),(P3,p5),(P4,P6),(P5,P7),(P6,P7)}

注意:前驱图中不存在循环。 S2 S3 , S3 S2 显然这种前驱关系是不可能满足的,S3的执行要依赖于S2的执行结果,S2的执行结果又要依赖于S3的执行结果,这种程序是不可能执行下去的。

1、程序的顺序执行 一个较大的程序通常都是由若干个程序段组成。在程序执行时,必须按照某种先后次序逐个执行,仅当前一操作执行完后,才能执行后继操作。 例如:在进行计算时,总是先输入用户的程序和数据,然后才能计算,计算完成后再将结果打印出来。

对于一个程序段中的多条语句来说,也有一个执行顺序的问题。如果对于下述三条语句的程序段: S1: a:=x+y S2: b:=a-5 I1 C1 P1 P2 I2 程序顺序执行时的前驱图 对于一个程序段中的多条语句来说,也有一个执行顺序的问题。如果对于下述三条语句的程序段: S1: a:=x+y S2: b:=a-5 S3: C:=b+1 (其中S2必须在a被赋值以后才能执行;同样S3也只能在b被赋值 以后才能执行)

2、 程序顺序执行时的特征 (1) 顺序性 (2) 封闭性(失去交换性) (3) 可再现性 2、  程序顺序执行时的特征 (1)  顺序性 处理机的操作,严格按照程序所规定的顺序执行,即只有前一操作结束后,才能执行后继操作。 (2) 封闭性(失去交换性) 程序是在封闭的环境下运行的。即程序在运行时,它独占全机资源,因而机内各资源的状态(除初始状态外),只有程序才能改变它。程序一旦开始运行,其执行结果不受外界因素的影响。 (3) 可再现性 只要程序执行时的环境和初始条件都相同,不论它是从头到尾的不停顿的执行,还是“走走停停”地执行,都将获得相同的结果。

3. 多道程序系统中,程序执行环境的变化 计算机能够同时处理多个具有独立功能的程序(批处理系统,分时系统、实时系统、网络与分布式系统)。这样的执行环境具有三个特点: 独立性 随机性 资源共享 硬件资源:CPU、输入输出设备,存储器 软件资源:各种例行程序、各种共享的数据 多道程序环境下执行程序的道数>计算机系统中CPU的个数 单CPU中,则由N-1道程序处在等待CPU的状态 输入输出设备有限将导致这些设备被共享、内存有限将导致内存被共享

程序的并发执行 I1 I2 I4 I3 C1 C2 C3 P1 C4 P4 P3 P2 程序并发执行时的前驱图

在上图中存在下属的前驱关系: Ii Ci ,Ii Ii+1,Ci Pi,Ci Ci+1, P Pi+1 Ii+1和Ci及Pi-1是可以并发执行的。

例:下述四条语句的程序段画出前驱图 S1: a:=x+2 S2: b:=y+4 S3: c:=a+b S4: d:=c+6 S1 S2 S4

1.程序并发执行可分为两种: 多道程序系统的程序执行环境变化所引起的多道程序的并发执行 由于资源有限,多道程序的并发执行总是伴随着资源的共享与竞争,制约了各道程序的执行速度。 在某道程序段中,包含着一部分可以同时执行或顺序颠倒执行的代码 例如:read(a); read(b); 既可以同时执行,也可以颠倒次序执行,同时执行不会改变顺序程序所具有的逻辑行知,可采用并发执行来充分利用资源。

程序并发执行: 一组逻辑上相互独立的程序或程序段在执行过程中,其执行时间在客观上相互重叠,即一个程序段的执行,尚未结束,另一个程序段的执行已经开始的这种执行方式。

程序并发执行时的特征 间断性、失去封闭性、不可再现性 间断性 失去封闭性 程序在并发执行时,由于它们共享资源或为完成某一项任务而合作,致使在并发程序之间存在相互制约的关系。(I、C、P是三个相互合作的程序,当计算程序完成Ci-1的计算后,如果输入程序I尚未完成对Ii的处理,则计算程序无法进行Ci处理,致使计算程序在停运行。) 失去封闭性 程序在并发执行时,是多个程序共享系统中的各种资源,因而这些资源的状态将由多个程序来改变,致使程序的运行失去了封闭性。

不可再现性 程序在并发执行时,由于失去了封闭性,也导致失去了可再现性。 例如:有两个循环程序A和B,它们共享一个变量N。程序A每执行一次时都要做N:=N+1操作;程序B每执行一次时,都要做print(N)操作,然后再将N置成“0”,程序A和B以不同的速度运行。(假定某时刻变量N的值为n) (1)  N:=N+1在print(N)和N:=0之前,此时得到的N值分别为n+1,n+1,0 (2)N:=N+1在print(N)和N:=0之后,此时得到的N值分别为 n, 0, 1 (3) N:=N+1在 print(N)和N:=0之间,此时得到的N值分别为 n, n+1, 0

程序并发执行的条件 1966年,Bernstein提出了相邻语句S1,S2可以并发执行的条件。 程序并发执行过程可以描述为: S0 Cobegin P1;P2;……Pn Coend Sn 1966年,Bernstein提出了相邻语句S1,S2可以并发执行的条件。 如果并发执行的各程序段中语句或指令满足Bernstein的三个条件,则认为并发执行不会对执行结果的封闭性和可再现性产生影响。

将程序中任一语句Si划分为两个变量的集合R(Si)和W(Si)其中 R(Si)={a1,a2,……am}是语句Si在执行其间必须对其进行读写的变量 W(Si)={b1,b2,……bn}是语句Si在执行其间必须对其进行修改,访问的变量 如果对于语句S1和S2,有 ① R(S1)∩W(S2)={Φ} ② W(S1)∩R(S2)={Φ} ③W(S1) ∩W(S2)={Φ}同时成立 即:R(S1)∩W(S2) ∪W(S1)∩R(S2)∪W(S1) ∩W(S2)={Φ}则语句S1和S2是可以并发执行的。

例:若有两条语句Ci=a-b和Wi=c+1,判断它们是否可以并发执行? 解:它们的“读集”和“写集”分别为 R(C:=a-b)={a,b};R(W:=c+1)={c} W(C:=a-b)={c} ;W(Wi:=c+1)={w} R(C:=a-b)∩W(Wi:=c+1)={Φ} R(W:=c+1)∩W(C:=a-b)={c} 所以:两条语句不能并发执行。

有的同学发现,同一语句的“读集”和“写集”的交集是空集。 R(C:=a-b)∩W(C:=a-b)={Φ} W(W:=c+1)∩W(W:=c+1)={Φ} 其实,同一语句的“读集”和“写集”也可能相同(交集不为空) 例如:计数语句: x=x+1 读集和写集相同R(x=x+1)=W(x=x+1)={x}

课后练习 例:用Bernstein条件判断以下四条语句是否两两可以并发执行。 S1: a:=x+y S2: b:=z+1 S3: C:=a-b S4: w:=c+1

例:设有堆栈S,栈指针top,栈中存放内存中相应数据块地址,设有两个程序段getaddr(top)和reladdr(blk),其中getaddr(top)从给定的top所指栈中取出相应的内存数据块地址,而reladdr(blk)则将内存数据块地址blk放入堆栈S中。   a b e f top 执行top top+1后 getaddr 为了控制和协调各程序段执行过程中的软硬件资源共享和竞争,必须有一个描述各程序执行过程和共享资源的基本单位。(这个单位被成为进程,或任务task)

进程的定义 进程有许多各式各样的定义 (1)进程是可以并发执行的计算部分 进程:一个具有独立功能的程序对某个数据集在处理机 (2)进程是一个独立的可以调度的活动 (3)进程是一个抽象的实体,当它执行某个任务时,将要分配和释放各种资源 (4)行为的规则叫程序,程序在处理机上执行的活动称为进程。 (5)一个进程是一系列逐一执行的操作,而操作的确切含义则有赖于以何种详尽程度来描述进程。 进程:一个具有独立功能的程序对某个数据集在处理机 上的执行过程和分配资源的基本单位。 (在这里,程序指一组操作序列,而数据集则是接受程序规定操作的一组存储单元的内容。 )

比较进程和程序的区别: 答:1 进程是一个动态的概念,进程的实质是程序的一次执行过程,动态性是进程的基本特征,同时进程是有一定的生命期的;而程序只是一组有序指令的集合,本身并无运动的含义,是静态的。 2并发性,并发性是进程的重要特征,引入进程的目的正是为了使其程序和其它程序并发执行;而程序(没有建立进程)是不能并发执行的。 3独立性,是指进程一个能独立运行、独立分配资源和独立调度的基本单位;凡未建立进程的程序,都不能作为一个独立的单位参加运行。 4 不同的进程可以包含同一个程序,同一个程序在执行中也可以产生多个进程。

作业和进程的关系 (区别) 1 作业是用户向计算机提交任务的任务实体。在用户向计算机提交作业之后,系统将它放入外存中的作业等待队列中等待执行;而进程则是完成用户任务的执行实体,是向系统申请分配资源的基本单位。 2 一个作业可由多个进程组成,且必须至少由一个进程组成,反之不然。 3 作业的概念主要用在批处理系统中,而进程的概念则用在几乎所有的多道系统中。

在操作系统中为什么要引进进程这个概念?它会产生什么影响? 答:在操作系统中为什么要引进进程这个概念?它会产生什么影响?