操作系统第二章进程的描述与控制-1)_第1页
操作系统第二章进程的描述与控制-1)_第2页
操作系统第二章进程的描述与控制-1)_第3页
操作系统第二章进程的描述与控制-1)_第4页
操作系统第二章进程的描述与控制-1)_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第二章第二章 进程的描述与控制进程的描述与控制 软件工程学院计算机应用系目录目录1. 进程的基本概念进程的基本概念 2. 进程控制进程控制 3. 进程同步进程同步 4. 经典进程同步问题经典进程同步问题 5. 进程通信进程通信 6. 线程的基本概念线程的基本概念 是一个是一个有向无循环图有向无循环图,图中每个结点表示一个语句、一段,图中每个结点表示一个语句、一段程序或一个进程程序或一个进程1.前驱图前驱图有向边有向边 Vi , Vj 表示表示Vj仅在仅在 Vi执行完后才能开始执行执行完后才能开始执行 S1S3S7S6S4S2S52.1 进程的基本概念进程的基本概念 顺序执行的特征顺序执行的特征

2、 顺序性顺序性 封闭性封闭性 可再现性可再现性 :程序的运行结果与其推进速度无关程序的运行结果与其推进速度无关 例:程序段例:程序段 read(disk,&a,4); /*从磁盘读从磁盘读a*/ c=a+2; printf(“c=%fn”,c);2. 2. 程序的顺序执行程序的顺序执行ICPI C P3. 程序的并发执行程序的并发执行 (1)概念)概念 (2)特征)特征间断间断( (异步异步) )性:性:“运行暂停运行运行暂停运行”;失去封闭性失去封闭性不可再现性:不可再现性:进程的运行结果与其推进速度有关。进程的运行结果与其推进速度有关。 2.1 2.1 进程的基本概念进程的基本概念

3、4. 进程的定义及特征进程的定义及特征n简单定义简单定义:一个程序的一次运行过程。一个程序的一次运行过程。n 特征:特征: 动态性:动态性:进程最基本的特征进程最基本的特征 结构特征结构特征: 程序数据程序数据PCB 321该程序所需的相关该程序所需的相关数据数据(变量、工作变量、工作空间,缓冲区等空间,缓冲区等)该程序的执行上该程序的执行上下文下文(Context)一个可执行的程一个可执行的程序序2.1 2.1 进程的基本概念进程的基本概念 独立性:独立性:是系统进行资源分配和调度的独立单位,是能独是系统进行资源分配和调度的独立单位,是能独立运行的基本单位立运行的基本单位 并发性:并发性:程

4、序在建立进程后并发运行程序在建立进程后并发运行 异步性:异步性:进程以不可预知的速度向前推进进程以不可预知的速度向前推进 进程特征进程特征n定义:定义:可并发执行的程序在一个数据集合上的一可并发执行的程序在一个数据集合上的一次运行过程,是系统进行资源分配和调度的一个独次运行过程,是系统进行资源分配和调度的一个独立单位。立单位。2.1 2.1 进程的基本概念进程的基本概念 (1)从定义上看,进程是程序处理数据的过程,而程序是从定义上看,进程是程序处理数据的过程,而程序是一组指令的有序集合;一组指令的有序集合; (2)进程具有动态性、并发性、独立性和异步性等,而程进程具有动态性、并发性、独立性和异

5、步性等,而程序不具有这些特性;序不具有这些特性; (3)从进程结构特性上看,它包含程序、数据和从进程结构特性上看,它包含程序、数据和PCB; (4)进程和程序并非一一对应:进程和程序并非一一对应:通过多次执行,一个程序通过多次执行,一个程序可对应多个进程;通过调用关系,一个进程可执行多个程可对应多个进程;通过调用关系,一个进程可执行多个程序。序。 进程与程序的区进程与程序的区别别2.1 进程的基本概念进程的基本概念 就绪状态:就绪状态:进程分配到必要的资源,等待获得进程分配到必要的资源,等待获得CPUCPU执行的状执行的状态。态。 组织成一个或多个就绪队列。组织成一个或多个就绪队列。 运行状态

6、运行状态:进程分配到必要的资源,在进程分配到必要的资源,在CPUCPU上执行时的状态上执行时的状态 阻塞状态(等待状态)阻塞状态(等待状态):正在执行的进程由于发生某事正在执行的进程由于发生某事件而暂时无法继续执行时,便放弃处理机而处于暂停状态。件而暂时无法继续执行时,便放弃处理机而处于暂停状态。组织成一个或多个阻塞队列。组织成一个或多个阻塞队列。5. 进程的状态进程的状态 (1)三种基本状态三种基本状态进程三种基本状态的转换进程三种基本状态的转换运行运行就绪就绪阻塞阻塞等待事件等待事件 (系统服务请求,系统服务请求,如请求如请求I/O) 被调度或分派被调度或分派 时间片时间片用完用完 事件发

7、生事件发生进程三种基本状态的转换:进程三种基本状态的转换:思考问题:思考问题:1.在进程状态转换时,下列哪一种状态转换是不可能发生的?在进程状态转换时,下列哪一种状态转换是不可能发生的? A)就绪态就绪态运行态运行态 B)运行态运行态就绪态就绪态 C)运行态运行态等待态等待态 D)阻塞态阻塞态运行态运行态 答案:答案:D2某进程在运行过程中需要等待从磁盘上读入数据,此时该进某进程在运行过程中需要等待从磁盘上读入数据,此时该进程的状态将(程的状态将( )。)。 A.从就绪变为运行从就绪变为运行 B.从运行变为就绪从运行变为就绪 C.从运行变为阻塞从运行变为阻塞 D.从阻塞变为就绪从阻塞变为就绪

8、答案:答案:C2.1 进程的基本概念进程的基本概念 引人挂起状态的原因:引人挂起状态的原因:(1 1)操作系统的需要;()操作系统的需要;(2 2)终端用户的需要;)终端用户的需要;(3 3)父进程请求;)父进程请求; (4 4)负荷调节的需要;)负荷调节的需要;(5 5)对换的需要。)对换的需要。 进程状态的转换:进程状态的转换: (2)挂起状态:挂起状态:静止状静止状态态静止就绪静止就绪静止阻塞静止阻塞挂起挂起挂起挂起激活激活激活激活(1 1)活动就绪)活动就绪 静止就绪静止就绪 (2 2)活动阻塞)活动阻塞 静止阻塞静止阻塞(3 3)静止就绪)静止就绪 活动就绪活动就绪 (4 4)静止阻

9、塞)静止阻塞 活动阻塞活动阻塞 (5) (5) 运行状态运行状态 静止就绪静止就绪挂起挂起Linux中进程的挂起与激活:中进程的挂起与激活:#ctrl+z:挂起进程,当前进程放到后台暂停执行:挂起进程,当前进程放到后台暂停执行#jobs:查看被挂起的进程号查看被挂起的进程号激活进程:两种方法:激活进程:两种方法: fg 进程号:将挂起的进程放回到前台执行进程号:将挂起的进程放回到前台执行 bg 进程号:将挂起的进程放回到后台执行进程号:将挂起的进程放回到后台执行 具有挂起状态的进程状态转换具有挂起状态的进程状态转换活动就绪活动就绪运行运行活动阻塞活动阻塞静止阻塞静止阻塞静止就绪静止就绪wake

10、up (唤醒唤醒)事件发生事件发生挂起挂起suspend时间片完时间片完被调度被调度scheduler激活激活active挂起挂起suspend激活激活active挂起挂起suspend等待事件等待事件sleep事件发生事件发生wakeup (唤醒唤醒)2.1进程的基本概念进程的基本概念(3)创建状态和终止状态创建状态和终止状态(1)NULL 创建创建 (2)创建)创建 活动就绪活动就绪(3)创建)创建 静止就绪静止就绪(4)执行)执行 终止终止补充:进程管理功能:补充:进程管理功能:(1 1)进程控制:)进程控制:控制进程状态转换;(2 2)进程同步:)进程同步:进程间运行顺序的协调:互斥方

11、式;互斥方式;同步方式:同步方式: (3 3)进程通信:)进程通信:进程间的信息交换直接通信;直接通信;间接通信。间接通信。 (4 4)进程调度:)进程调度:进程间竞争临界资源进程间竞争临界资源进程间相互合作进程间相互合作OSOS内核的内核的概念概念OS内核的功能:内核的功能: 进程进程( (线程线程) )管理;管理; 低级存储器管理;低级存储器管理; 中断和陷入处理;中断和陷入处理; “内核内核”指的是一个提供硬件抽象层、磁盘及文件系统控指的是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件,是一个操作系统的核心,制、多任务等功能的系统软件,是一个操作系统的核心,常驻内存。常驻

12、内存。2.1 进程的基本概念进程的基本概念 程序:程序:描述进程要完成的功能描述进程要完成的功能 数据集合:数据集合:包含程序运行所需的数据和工包含程序运行所需的数据和工作区作区 进程控制块(进程控制块(PCBPCB):):包含进程的描述信息包含进程的描述信息和控制信息,是进程动态特性的反映和控制信息,是进程动态特性的反映 5.进程控制块进程控制块PCB程序和数据集合是进程的实体程序和数据集合是进程的实体进程控制块是进程存在的唯一标志进程控制块是进程存在的唯一标志进程控制块是由进程控制块是由OSOS维护维护的用来记录的用来记录进程相关进程相关信息信息的一块内存。的一块内存。2.1 进程的基本概

13、念进程的基本概念 进程标识符:进程标识符: 内部标识符、外部标识符内部标识符、外部标识符 处理机状态信息:处理机状态信息:(1 1)通用寄存器;)通用寄存器;(2 2)段寄存器;)段寄存器;(3 3)指令计数器;)指令计数器;(4 4)程序状态字)程序状态字(PSW)(PSW); 进程控制块(进程控制块(PCB)内容内容3232位位CPUCPU有有8 8个个3232位的位的通用寄存器通用寄存器EAXEAX、EBXEBX、ECXECX、EDXEDX、ESIESI、EDIEDI、EBPEBP和和ESPESP 。EAXEAX:称为累加器,可用于乘、除、输入:称为累加器,可用于乘、除、输入/ /输出等

14、操作;输出等操作;EBX:EBX:称为基地址寄存器称为基地址寄存器, , 可作为存储器指针来使用;可作为存储器指针来使用; ECX:ECX:称为计数寄存器称为计数寄存器, , 控制循环次数;控制循环次数;EDX:EDX:称为数据寄存器称为数据寄存器, ,在进行乘、除运算时,作为默认的操作在进行乘、除运算时,作为默认的操作数参与运算,也可用于存放数参与运算,也可用于存放I/OI/O的端口地址。的端口地址。ESIESI:变址寄存器,是内存移动和比较操作的源地址寄存器;:变址寄存器,是内存移动和比较操作的源地址寄存器;EDIEDI:变址寄存器,是内存移动和比较操作的目标地址寄存器:变址寄存器,是内存

15、移动和比较操作的目标地址寄存器EBPEBP:指针寄存器,存放堆栈帧的始址;:指针寄存器,存放堆栈帧的始址;ESP: ESP: 指针寄存器,当前堆栈栈顶位置。指针寄存器,当前堆栈栈顶位置。段寄存器是根据内存分段的管理模式而设置的。内存单元的段寄存器是根据内存分段的管理模式而设置的。内存单元的物理地址由段寄存器的值和一个偏移量组合而成。物理地址由段寄存器的值和一个偏移量组合而成。3232位位CPUCPU有有6 6个,个,1616位位CPUCPU有有4 4个个 。CSCS:代码段寄存器,其值为代码段的段地址;:代码段寄存器,其值为代码段的段地址;DSDS:数据段寄存器,其值为数据段的地址;:数据段寄

16、存器,其值为数据段的地址;ESES:附加段寄存器,其值为附加数据段的地址;:附加段寄存器,其值为附加数据段的地址;SSSS:堆栈段寄存器,其值为堆栈段的地址;:堆栈段寄存器,其值为堆栈段的地址;FSFS:附加段寄存器,其值为附加数据段的地址;:附加段寄存器,其值为附加数据段的地址;GSGS:附加段寄存器,其值为附加数据段的地址。:附加段寄存器,其值为附加数据段的地址。中断允许位、陷入标志、中断允许位、陷入标志、任务嵌套标志、特权标任务嵌套标志、特权标志、溢出标志、符号标志、溢出标志、符号标志、零标志、进位标志志、零标志、进位标志等等2.1 进程的基本概念进程的基本概念 进程控制信息:进程控制信

17、息:(1 1)程序和数据地址;)程序和数据地址;(2 2)进程同步和通信信息;)进程同步和通信信息;(3 3)资源清单;)资源清单;(4 4)链接指针)链接指针 进程控制块内容进程控制块内容 链接方式:链接方式: 索引方式索引方式 进程控制块的组织方进程控制块的组织方式式(1 1)就绪链表;)就绪链表;(2 2)执行进程;)执行进程;(3 3)阻塞链表;)阻塞链表;(4 4)空白链表。)空白链表。 进程调度信息:进程调度信息:(1 1)进程状态;)进程状态;(2 2)进程优先级;)进程优先级;(3 3)事件;)事件;(4 4)其他信息)其他信息2.2 进程控制进程控制原语原语(primitiv

18、e)(primitive): 由若干条指令构成的由若干条指令构成的“原子操作原子操作(atomic (atomic operation)”operation)”过程,完成某种特定的功能,作为一个过程,完成某种特定的功能,作为一个整体整体而而不可分割不可分割要么全都完成,要么全都不做。要么全都完成,要么全都不做。进程控制原语:进程控制原语:(1) 创建进程原语创建进程原语 (2) 终止进程原语终止进程原语 (3) 挂起进程原语挂起进程原语 (4) 激活进程原语激活进程原语(5) 阻塞进程原语阻塞进程原语 (6) 唤醒进程原语唤醒进程原语1进程图概念:进程图概念: 描述系统中进程的家族关系的有向图

19、。描述系统中进程的家族关系的有向图。(1)用户登录。用户登录。(2)作业调度。作业调度。 3. 引起创建进程的事件:引起创建进程的事件: (3) 提供服务。提供服务。 (4) 应用请求。应用请求。 4. 创建进程原语创建进程原语的工作大致描述为:的工作大致描述为: (1)申请空白申请空白PCB;(2) 为新进程分配资源;为新进程分配资源; (3) 初始化进程控制块初始化进程控制块PCB; (4) 将新进程插入就绪队列。将新进程插入就绪队列。 调用调用 alloc _task _struct()分配两个页面存分配两个页面存放放task_struct及及 系统堆栈系统堆栈调用调用get_pid()

20、获得新建子进程获得新建子进程PID1、调用调用copy _files()复制父进程已经打开的文件控制结构复制父进程已经打开的文件控制结构;2、调用调用copy _fs()复制父进程的根目录复制父进程的根目录、安装点等安装点等;3、调用调用copy _sighand ()复制父进程信号处理函数复制父进程信号处理函数;4、调用调用copy_mm()复制父进程用户地址空间复制父进程用户地址空间调用调用 copy _ thread ()复制系统堆栈复制系统堆栈调用调用wake_ up_ process() 将子进将子进程插入可运行进程队列程插入可运行进程队列3. 终止进程原语终止进程原语1)正常结束正

21、常结束2) 异常结束异常结束3) 外界干预外界干预 引起进程终止的事件:引起进程终止的事件: OSOS父进程终止父进程终止父进程请求父进程请求(1)根据被终止进程的标识符,从)根据被终止进程的标识符,从PCB集合中集合中检索出该进程的检索出该进程的PCB,获得该进程的状态,获得该进程的状态(2)若被终止进程正处于执行状态,应立即终)若被终止进程正处于执行状态,应立即终止该进程的执行,并置调度标志为真。止该进程的执行,并置调度标志为真。(3)若该进程还有子孙进程,终止其所有子孙)若该进程还有子孙进程,终止其所有子孙进程。进程。(4)回收资源)回收资源(5)回收)回收PCB 进程终止的过程:进程终止的过程: 1)请求系统服务请求系统服务 2) 启动某种操作启动某种操作 3) 新数据尚未到达新数据尚未到达4) 无新工作可做:服务进程无新工作可做:服务进程4. 阻塞与唤醒原语阻塞与唤醒原语 引起进程阻塞与唤醒的事件:引起进程阻塞与唤醒的事件: 1)停止当前进程执行,并修改进程状态:停止当前进程执行,并修改进程状态: 由由“执行执行”改为改为“阻塞阻塞”;2) 将将PCB插入插入阻塞阻塞队列;队列; 3) 转转调度程序重新进行调度。调度程序重新进行调度。 进程阻塞过程:进程阻塞过程: 1) 把被阻塞的进程从等待该

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论