Process Concept & Process Control

Slides:



Advertisements
Similar presentations
高校教师、高级项目经理 任铄 QQ : 第一章 操作系统引论 1.1 操作系统的目标和作用 1.2 操作系统的发展过程 1.3 操作系统的基本特性 1.4 操作系统的主要功能 1.5 OS 结构设计.
Advertisements

Edu.51cto.com 高校教师、高级项目经理 任铄 QQ : edu.51cto.com 第二章 进程管理 2.1 进程的基本概念 2.2 进程控制 2.3 进程同步 2.4 经典进程的同步问题 2.5 进程通信 2.6 线程.
阻塞操作. 在 linux 里,一个等待队列由一个 wait_queue_head_t 类型的结构来描述 等待队列的初始化: static wait_queue_head_t testqueue; init_waitqueue_head(&testqueue);
3.2 进程的描述 进程的特征 1 .动态性 动态性是进程最基本的特征。 动态性是进程最基本的特征。 2. 并发性 这是指多个进程实体,同存于内存中,能在一段时 间内同时运行。并发性是进程的重要特征,同时也成 为 OS 的重要特征。引入进程的目的也是为了使该进 程的程序能和其它进程的程序并发执行。
Linux 系统. 操作系统发展需求 1 没有操作系统 2 简单批处理操作系统 3 多道程序设计的批处理 4 多道程序设计的分时操作系统 5 多处理机并行系统 6 网络操作系统 7 分布式操作系统.
计算机操作系统 第二章 进程管理 高校教师、高级项目经理 任铄 QQ:
碰撞 两物体互相接触时间极短而互作用力较大
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
22.3 实际问题与一元二次方程(1).
Oracle数据库 Oracle 子程序.
第4章 种群和群落 第3节 群落的结构 自主学习案   合作探究案 课后练习案. 第4章 种群和群落 第3节 群落的结构 自主学习案   合作探究案 课后练习案.
C++中的声音处理 在传统Turbo C环境中,如果想用C语言控制电脑发声,可以用Sound函数。在VC6.6环境中如果想控制电脑发声则采用Beep函数。原型为: Beep(频率,持续时间) , 单位毫秒 暂停程序执行使用Sleep函数 Sleep(持续时间), 单位毫秒 引用这两个函数时,必须包含头文件
全国计算机等级考试 二级基础知识 第二章 程序设计基础.
運輸與空間的交互作用 運輸發展的階段 一、分散的港口 二、侵入路線 三、發展支線 四、初步相互連結 五、完全相互連結 六、高度優越的幹線
计算机基础知识 丁家营镇九年制学校 徐中先.
Operating System Process Management - 1 Monday, August 11, 2008.
陈香兰 助教:陈博、李春华 Spring 2009 嵌入式操作系统 陈香兰 助教:陈博、李春华 Spring 2009.
Kvm异步缺页中断 浙江大学计算机体系结构实验室 徐浩.
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
OpenMP简介和开发教程 广州创龙电子科技有限公司
存储系统.
计算机软件技术基础 操作系统(3).
管理信息结构SMI.
走进编程 程序的顺序结构(二).
辅导课程六.
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
Windows网络操作系统管理 ——Windows Server 2008 R2.
第二章 Java语言基础.
逆向工程-汇编语言
数据挖掘工具性能比较.
CPU结构和功能.
李元金 计算机与信息工程学院 第 3 讲 进程管理(1) 李元金 计算机与信息工程学院 1/
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
内容摘要 ■ 课程概述 ■ 教学安排 ■ 什么是操作系统? ■ 为什么学习操作系统? ■ 如何学习操作系统? ■ 操作系统实例
C语言程序设计 主讲教师:陆幼利.
EBNF与操作语义 请用扩展的 BNF 描述 javascript语言里语句的结构;并用操作语义的方法描述对应的语义规则
简单介绍 用C++实现简单的模板数据结构 ArrayList(数组, 类似std::vector)
微机系统的组成.
第四章 并发处理 (一)并发程序及特点 (二)进程的基本概念 (三)进程控制 (四)进程互斥 (五)进程同步 (六)线程的基本概念.
实验四、TinyOS执行机制实验 一、实验目的 1、了解tinyos执行机制,实现程序异步处理的方法。
WPT MRC. WPT MRC 由题目引出的几个问题 1.做MRC-WPT的多了,与其他文章的区别是什么? 2.Charging Control的手段是什么? 3.Power Reigon是什么东西?
VB与Access数据库的连接.
进程概念.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月13日.
复习.
工业机器人知识要点解析 (ABB机器人) 主讲人:王老师
第二章 补充知识 2.1 总线和三态门 一、总线(BUS) 三总线结构 数据总线DB(Data Bus)
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
<编程达人入门课程> 本节内容 内存的使用 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
第三章 进程管理 重点和难点: 进程的定义和特征 进程的同步和互斥 用信号量机制解决进程同步、互斥、前趋图问题.
信号量(Semaphore).
第九节 赋值运算符和赋值表达式.
iSIGHT 基本培训 使用 Excel的栅栏问题
§6.7 子空间的直和 一、直和的定义 二、直和的判定 三、多个子空间的直和.
1.2 子集、补集、全集习题课.
College of Computer Science & Technology
临界区问题的硬件指令解决方案 (Synchronization Hardware)
第15讲 特征值与特征向量的性质 主要内容:特征值与特征向量的性质.
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
本节内容 C语言的汇编表示 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
§2 方阵的特征值与特征向量.
实验目的:掌握数据的顺序存储结构及它们在计算机中的操作。 实验内容:
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
本节内容 动态链接库 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
本节内容 进程 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
入侵检测技术 大连理工大学软件学院 毕玲.
Presentation transcript:

Process Concept & Process Control 第二章 进程描述与控制 Process Concept & Process Control

进程的基本概念 Process Concept 进程的引入 进程的定义和特征 进程的基本状态及其转换 具有挂起功能的进程状态及其转换

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

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

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

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

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

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

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

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

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

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

5.程序并发执行的条件 1966年,Bernstein(伯恩斯坦)提出了相邻语句P1,P2可以并发执行的条件。

定义程序读集与写集符号 R(Pi)={a1,a2,···,am} W(Pi)={b1,b2,···,bm} 表示程序Pi在执行期间需引用的变量的集合,称Pi的读集; W(Pi)={b1,b2,···,bm} 表示程序Pi在执行期间需改变的变量的集合,称Pi的写集; 若有两条语名P1: c=a+b; P2:x=x+1; 则它们的读集与写为: R(P1)={ a, b } W(P1)={ c } R(P2)={ x } W(P2)={ x } P1的读集与写集的交集为空;P2的读集与写集的交集非空; R(P1)∩W(P1)={ } R(P2) ∩W(P1)={ x }

Bernstein条件 若两个程序P1和P2能满足下述条件,它们便能并发执行,否则不能 即 ① R (P1)∩W(P2)={ } R(P1)∩W(P2) ∪ R(P2)∩W(P1) ∪ W(P1) ∩W(P2)={ } R(P1)∩W(P2) ∪ R(P2)∩W(P1) ∪ W(P1) ∩W(P2)={ } 即 ① R (P1)∩W(P2)={ } ② W(P1)∩R (P2)={ } ③ W(P1)∩W(P2)={ } 同时成立

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

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

例:下述四条语句 R(S1)={x,y} W(S1)={a}; R(S2)={z} W(S2)={b}; S1: a=x + y S2: b=z + 1 S3: c=a + b S4: w=c + 6 S1 S2 S4 S3 R(S1)={x,y} W(S1)={a}; R(S2)={z} W(S2)={b}; R(S3)={a,b} W(S3)={c}; R(S4)={c} W(S4)={w};

程序顺序执行、并发执行特征比较 程序的顺序执行 程序的并发执行 1 顺序性 1 间断性 2 封闭性 2 失去封闭性 程序的顺序执行 程序的并发执行 1 顺序性 1 间断性 2 封闭性 2 失去封闭性 3可再现性 3 不可再现性

进程的定义 进程有许多各式各样的定义 (1)进程是可以并发执行的计算部分 (2)进程是一个独立的可以调度的活动 (3)进程是一个抽象的实体,当它执行某个任务时,将要分配和释放各种资源 (4)行为的规则叫程序,程序在处理机上执行的活动称为进程。 (5)一个进程是一系列逐一执行的操作,而操作的确切含义则有赖于以何种详尽程度来描述进程。

我国对进程的定义 进程:一个具有独立功能的程序关于某个数据集合的一次运行过程。 在处理机上的执行过程和分配资源的基本单位 在这里,程序指一组操作序列,而数据集则是接受程序规定操作的一组存储单元的内容。

进程和程序的区别 动态性, 进程的实质是程序的一次执行过程,它由“创建”而产生,由“调度”而执行,因得不得资源而暂停执行,最后由“撤销”而消记亡,是有一定的生命期,而程序只是指令的集合,本身无运行的含义,是静态的。 并发性,并发性是进程的重要特征,引入进程的目的正是为了使其程序和其它程序并发执行;而程序(没有建立进程)是不能并发执行的。 独立性,是指进程一个能独立运行、独立分配资源和独立调度的基本单位;凡未建立进程的程序,都不能作为一个独立的单位参加运行。 异步性,各进程各自以独立的、不可预知的速度向前推进。

进程的三种基本状态 (Process State) 就绪 (Ready): 万事具备,只欠东风(被执行). 执行 (Running) 占有CPU. 阻塞(Blocked/Waiting) 进程因为等待某事件的发生(如I/O完成),不能继续执行.

进程3种状态间的转换 就绪->执行 执行->就绪 执行->阻塞 阻塞->就绪

进程基本状态图diagram of process state 进程创建 进程撤消 进程调度 事件发生 等待事件

挂起功能的引入 对换的需要 系统负荷调节的需要 终端用户的需要 为缓解内存紧张的情况,将内存中处于阻塞状态的进程换至外存上,使进程处于一种有别于阻塞状态的新状态。 系统负荷调节的需要 系统中负荷过重,资源数目相对不足时需要挂起一部分进程以调整系统负荷。 终端用户的需要 用户检查自己作业执行情况和中间结果时,因同预期结果不符而要求挂起进程以便进行检查和改正。

进程的5种状态 活动就绪 (Ready_Active) 静止就绪 (Ready_Static) 执行 (Running) 活动阻塞(Blocked_A) 静止阻塞(Blocked_S)

进程5种状态间的转换图

进程描述 操作系统的控制结构 进程的结构描述 PCB的结构 PCB的组织形式

进程和资源的关系 处理机 I/O 内存 P1 P2 Pn 虚拟内存 计算机资源

操作系统的控制结构 为掌握每一个进程和资源的当前状态信息, OS为每个被管理的对象建立并维护一张信息表,称为操作系统控制表,包括 内存表 输入/输出表 文件表 进程表

进程的主要组成部分 进程控制块(PCB) 程序 数据 系统栈

进程上下文 上文: 已执行过的进程指令\数据在寄存器和栈中的内容 正文 正在执行的 下文 待执行的进程指令\数据在寄存器和栈中的内容

机器指令与寄存器 通过DEBU了解机器指令理解寄存器 C程序 汇编程序 int a = 3; mov [010B], 3 a=a+1; mov ax, [010B] add ax, 1 mov [010B], ax b=a+2; mov ax, [010B] add ax, 2 mov [010D], ax

CPU现场保护的必要性 CPU 进程A 进程B mov ax, 3 add ax, 1 mov [010B], ax mov ax, 5 CX AX BX … mov ax, 3 add ax, 1 mov [010B], ax mov ax, 5 add ax, bx mov [020C], ax 进程A 进程B

Process Control Block (PCB进程控制块) OS为了管理、控制进程,设置PCB,存储进程相关信息 Process number 进程标识符 Process state 进程现行状态 Program counter 程序计数器 CPU registers 寄存器值 CPU scheduling information调度信息 Memory-management information 存储管理信息 Accounting information记帐信息 I/O status information I/O状态信息,如打开的文件

进程控制块的组织形式:链接方式

进程控制块的组织形式:索引方式

进程在各队列间迁移 方块表示队列,圆圈表示资源

CPU Switch From Process to Process