第2章进程概念和基本状态
操作系统学习PPT 第二章 进程1
2.3.2 线程的概念
进程中一个相对独立的执行流。 进程 /线程 进程是资源分配单位 线程是执行单位 多线程优点 切换速度快(地址空间不变)(light weighted) 系统开销小 通讯容易(共享数据空间) 并发性更好
线程控制块
TCB(Thread control block) 标志线程存在的数据结构, 其中包含对 线程管理需要的全部信息. 内容 线程标识、线程状态 调度参数、现场(通用寄存器,PC,SP) 存放位置 用户级线程:目态空间(运行系统) 核心级线程:系统空间
10、多个进程的实体能存在于同一内存中,在 一段时间内都得到运行。这种性质称作进程的 ( )。 A.动态性 B.并发性 C.调度性 D.异步性
11、进程是程序的执行过程,可以处于不同的 状态。这种性质称作进程的( )。 A.动态性 B.并发性 C.调度性 D.异步性
12、某进程由于需要从磁盘上读入数据而处于阻 塞状态。当系统完成了所需的读盘操作后,此 时该进程的状态将( )。 A.从就绪变为运行 B.从运行变为就绪 C.从运行变为阻塞 D.从阻塞变为就绪
状态转换
就绪运行:进程调度,获得处理机 运行就绪:剥夺处理机(如时间片用完) 运行等待:申请资源未得到 等待就绪:得到资源
进程状态转换图
获得处理机
就绪
剥夺处理机
事件发生
运行
等待事件
等待
2.2.5 进程控制块(PCB)
标志进程存在的数据结构,其中保存系统管 理进程所需的全部信息(记录型结构) OS用PCB对并发进程进行管理和控制。 PCB是进程存在的唯一标志 PCB常驻内存 OS专门开辟PCB区将所有的PCB组成若干 个链表或队列
操作系统课件 第2章 进程
第二章 进 程 管 理
对于具有下述四条语句的程序段: S1: a∶=x+2 S2: b∶=y+4 S3: c∶=a+b S4: d∶=c+b 请画出前趋关系图。
S1 S3 S2 S4
第二章 进 程 管 理
2.2 程序并发执行时的特征
1) 间断性 相互制约性)-后面的模块等待前面的模块 间断性(相互制约性 - 相互制约性 传来的结果,然后才执行(如打印模块等待 计算模块完成)。走走停停。 2) 失去封闭性 :多个程序共享系统中的各种资源, 因而这些资源的状态将由多个程序来改变, 致使程序的运行已失去了封闭性。 结果是一个程序运行时会受到另一个程序的 结果是 影响。 3) 不可再现性 :程序在并发执行时,由于失去了封 闭性,也将导致失去其可再现性
第二பைடு நூலகம் 进 程 管 理
新进程
接纳
就绪 时间片完 I/O完成 进程调度
阻塞 I/O请求
执行
完成
结束
图 2-5 进程的三种基本状态及其转换
(教材讲5种)
第二章 进 程 管 理
作业调度
作业后备队列
阻塞队列
外存
进程就绪队列
一些 阻塞队列
内存
处理器 (CPU)
第二章 进 程 管 理
3.7五状态 五状态进程模型 五状态
第二章 进 程 管 理
3.4进程与程序的区别 进程与程序的区别
程序是静态的, 1)程序是静态的 进程是动态的; 是根本区别) 1)程序是静态的,进程是动态的;(是根本区别) 程序是有序代码的集合;进程是程序的执行。 程序是有序代码的集合;进程是程序的执行。 2)进程和程序不是一一对应的 2)进程和程序不是一一对应的 ; • 一个程序可对应多个进程 即多个进程可执行同一程序 ; 一个程序可对应多个进程,即多个进程可执行同一程序 • 一个进程可以执行一个或几个程序 3)进程是暂时的 程序的永久的:进程是一个状态变化的过程, 进程是暂时的, 3)进程是暂时的,程序的永久的:进程是一个状态变化的过程, 程序可长久保存。 程序可长久保存。 4)进程与程序的组成不同 进程的组成包括程序、 进程与程序的组成不同: 4)进程与程序的组成不同:进程的组成包括程序、数据和进程 控制块(即进程状态信息)。 控制块(即进程状态信息)。 5)进程具有创建其他进程的功能 而程序没有。 进程具有创建其他进程的功能, 5)进程具有创建其他进程的功能,而程序没有。
第2章进程概念和基本状态详解
第二章
进程的描述与控制
P1→P2,P1→P3,P1→P4,P2→P5,P3→P5,P4→P6, P4→P7,P5→P8,P6→P8,P7→P9,P8→P9 或表示为: P={P1, P2, P3, P4, P5, P6, P7, P8, P9} ={(P1, P2), (P1, P3), (P1, P4), (P2, P5), (P3, P5), (P4, P6), (P4, P7), (P5, P8), (P6, P8), (P7, P9), (P8, P9)}
第二章
进程的描述与控制
复习: 操作系统的基本特征:
并发、共享、虚拟、异步
操作系统的主要功能: CPU、存储管理、设备管理、文件管理、用户接口
OS结构设计:
模块、层次、C/S、面向对象 微内核、单体内核
1
第二章
进程的描述与控制
第二章
2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8
进程的描述与控制
此时称Pi是Pj的直接前趋,而称Pj是Pi的直接后继。
如果进程Pi和Pj存在着前趋关系,可表示为(Pi,Pj)∈→,
在前趋图中,把没有前趋的结点称为初始结点
(Initial Node),把没有后继的结点称为终止结点(Final
Node)。此外,每个结点还具有一个重量(Weight),用
于表示该结点所含有的程序量或程序的执行时间。
程序的两次执行期间发生变化,失去原有的可重复特征。 程序A: 程序B: 假定某时刻:N=n; N=N+1; N=n+1 print(N) ; n N=0; N=0 print(N) ; N=N+1; n N=n+1 N=0 N=N+1; print(N) ; N=0;
电大操作系统 第2章教材习题解答
第2章进程管理“练习与思考”解答1.基本概念和术语进程、进程互斥、进程同步、临界资源、临界区、死锁进程是程序在并发环境中的执行过程。
进程互斥:各个进程彼此不知道对方的存在,逻辑上没有关系,由于竞争同一资源(如打印机、文件等)而发生相互制约。
进程同步:各个进程不知对方的名字,但通过对某些对象(如I/O缓冲区)的共同存取来协同完成一项任务。
临界资源:一次仅允许一个进程使用的资源。
临界区:在每个进程中访问临界资源的那段程序。
死锁是指在一个进程集合中的每个进程都在等待仅由该集合中的另一个进程才能引发的事件而无限期地僵持下去的局面。
2.基本原理和技术(1)在操作系统中为什么要引入进程概念?它与程序的区别和联系是什么?在操作系统中,由于多道程序并发执行时共享系统资源,共同决定这些资源的状态,因此系统中各程序在执行过程中就出现了相互制约的新关系,程序的执行出现“走走停停”的新状态。
这些都是在程序的动态过程中发生的。
用程序这个静态概念已不能如实反映程序并发执行过程中的这些特征。
为此,人们引入“进程”这一概念来描述程序动态执行过程的性质。
进程与程序的主要区别是:·进程是动态的;程序是静态的。
·进程有独立性,能并发执行;程序不能并发执行。
·二者无一一对应关系。
·进程异步运行,会相互制约;程序不具备此特征。
但进程与程序又有密切的联系:进程不能脱离具体程序而虚设,程序规定了相应进程所要完成的动作。
(2)进程的基本状态有哪几种?通常在操作系统中,进程至少要有三种基本状态。
这三种基本状态是:运行态、就绪态和阻塞态(或等待态)。
(3)用如图3-23所示的进程状态转换图能够说明有关处理机管理的大量内容。
试回答:①什么事件引起每次显著的状态变迁?②下述状态变迁因果关系能否发生?为什么?(A)2→1 (B)3→2 (C)4→1图3-23 进程状态转换图①就绪→运行:CPU空闲,就绪态进程被调度程序选中。
《计算机操作系统》第2章 进程管理
2.1.3 进程的状态模型
新建
准许
准许
挂起
静止就绪
事件 发生
静止阻塞
激活 挂起
激活 挂起
活动就绪
事件 发生 活动 阻塞
分派 超时
运行
等待 事件
释放
退出
பைடு நூலகம்
图2-8 有挂起态的七状态模型
在新的状态模型中,比较重要的新转换如下: ►(1)活动阻塞→静止阻塞:当内存紧张而系统中又没有就绪进程时,一个阻塞
态进程就会被挂起。
分派
进入
非运行
运行
退出
暂停 图2-3 两状态模型
2.1.3 进程的状态模型
2. 三状态模型
三状态模型中进程的三种基本状态如下:
►(1)就绪状态(Ready)。一个进程获得了除处理机之外所需的一切资源,一 旦得到处理机即可运行。在系统中,将处于就绪状态的多个进程的PCB组织成一 个队列,或按照某种规则排在不同的队列中,这些队列称为就绪队列。
2.1.3 进程的状态模型
3. 五状态模型
新建态
进入就 绪队列
运行态
被调 度 时间片
用完
就绪态
事件
发生
退出态 等待事件 阻塞态
图2-6 五状态模型图
►为便于进程管理,有必要增加一种有用的状态,我们称为新建态,对应于刚刚创建 的进程,操作系统还没有把它加入到就绪队列中,通常是进程控制块已经创建但还 没有加载到内存中的新进程。
►同样,进程从系统中退出时,也增加一种有用的状态,进程被终止直到释放PCB所 处的状态,我们称为退出态。
2.1.3 进程的状态模型
五状态模型中的状态转换:
►(1)空→新建:创建一个程序的新进程。
王道操作系统第2章2024
引言概述:正文内容:一、进程概念1.进程定义:解释了进程的概念,即操作系统中正在运行的程序的抽象表示。
2.进程特点:介绍了进程的特点,包括并发性、独立性、动态性等。
3.进程的组成:详细说明了进程的组成部分,如程序代码、数据、程序计数器等。
二、进程状态转换1.进程状态定义:解释了进程状态的概念,包括就绪状态、执行状态和阻塞状态。
2.进程状态转换图:介绍了进程状态之间的转换关系,包括就绪态到执行态、执行态到阻塞态等转换过程。
3.进程状态转换的原因:详细说明了进程状态转换的原因,如系统调用、I/O请求等。
三、进程控制块1.进程控制块定义:解释了进程控制块的概念,即操作系统中用于管理进程的数据结构。
2.进程控制块内容:介绍了进程控制块中包含的信息,如进程标识符、程序计数器、寄存器值等。
3.进程控制块的作用:详细阐述了进程控制块在进程管理中的作用,如记录进程的状态、管理进程资源等。
四、进程调度1.进程调度策略:解释了进程调度的概念和目标,介绍了常见的调度策略,如先来先服务调度、短作业优先调度等。
2.进程调度算法:详细介绍了进程调度的几种常见算法,包括FCFS算法、SJF算法以及时间片轮转算法等。
3.进程优先级调度:阐述了进程优先级调度的概念和实现方式,包括静态优先级和动态优先级调度。
五、进程同步与通信1.进程同步问题:解释了进程同步的概念和需要,介绍了产生进程同步问题的原因,如资源竞争、进程间依赖等。
2.进程同步方法:详细阐述了几种常见的进程同步方法,包括互斥锁、信号量等。
3.进程通信机制:介绍了进程通信的概念和实现方式,包括管道、消息队列、共享内存等。
总结:通过本文的阐述,我们对王道操作系统第2章(二)的内容有了全面的了解。
我们详细介绍了进程概念、进程状态转换、进程控制块、进程调度以及进程同步与通信等方面的内容,并在每个大点中详细阐述了相关的小点。
操作系统进程管理是操作系统的重要组成部分,对于理解操作系统的运行机制具有重要意义。
进程管理
第二章进程管理2.1 进程的基本概念2.1.1 程序的顺序执行及其特征1.程序的顺序执行程序是人们要计算机完成的一些指令序列,是一个按严格次序、顺序执行的操作序列,是一个静态的概念。
我们把一个具有独立功能的程序独占处理机,直到最后结束的过程称为程序的顺序执行。
2.1.2 进程的定义与特征1.进程的定义人们对进程下过许多定义。
现列举其中的几种:⏹进程是程序的一次执行。
⏹进程是可以和别的进程并发执行的计算。
⏹进程就是一个程序在给定活动空间和初始条件下,在一个处理机上的执行过程。
⏹进程是程序在一个数据集合上的运行过程,它是系统进行资源分配和调度的一个独立单位⏹进程是动态的,有生命周期的活动。
内核可以创建一个进程,最终将由内核终止该进程使其消亡。
进程和程序是两个完全不同的概念,但又有密切的联系。
它们之间的主要区别是:⏹程序是静态的概念;而进程则是程序的一次执行过程。
它是动态的概念。
⏹进程是一个能独立运行的单位,能与其它进程并发执行;而程序是不能作为一个独立运行的单位而并发执行的。
⏹程序和进程无一一对应的关系。
⏹各个进程在并发执行过程中会产生相互制约关系,而程序本身是静态的,不存在这种异步特征。
2.1.3 进程的基本状态及转换1.进程的三个基本状态进程通常至少有三种基本状态:(1)就绪状态(ready)进程运行所需的外部条件满足,但因为其它进程已占用CPU,所以暂时不能运行。
(2)执行状态(running)外部条件满足,进程已获得CPU,其程序正在执行。
在单处理机系统中,只有一个进程处于执行状态。
(3)阻塞状态(blocked)进程因等待某种事件发生,而暂时不能运行的状态,称为阻塞状态,也称为等待状态。
系统中处于这种状态的进程可能有多个,通常将它们排成一个队列,也有的系统则根据阻塞原因的不同将这些进程排成多个队列。
2.进程状态的转换对于一个系统中处于就绪状态的进程,在调度程序为之分配了处理机之后,该进程便可执行,相应地,它由就绪态转变为执行状态。
1进程定义与进程状态
2.1 进程定义与进程状态
1、进程定义 2、进程的三个基本状态 3、进程状态转换
1、进程定义 较典型的进程定义有: 1)进程是程序的一次执行。 2)进程是程序在一个数据集合上运行的 过程,它是系统进行资源分配和调度 的一个独立单位。 3)进程是进程实体的运行过程,是系统 进行资源分配和调度的一个独立单 位”。
中断
执行态
I/O或 等待某事件发生
阻塞态
进程状态转换图
进程除了上述三种基本 状态外还有其他状态,如新 状态、终止状态、挂起状态 等,这些将在后续课程中陆 续讲到。
2、进程的三个基本状态 1) 就绪态 进程已创建并获取必备资源,一旦获取 处 理机即可以执行的状态。 2) 执行态 进程被调 进程退出处理机,从而进入阻塞状态。
3、进程状态转换
进程调度
就绪态
I/O完成 或等待的事件已发生
2.1 进程的概念
由于观察者和报告者各自独立地并行工 作,n=n+1的操作,既可以在报告者的 print (n) 和n=0操作之前,也可以在其后, 还可以在print (n) 和n=0之间,即可能出 现以下三种执行序列: ① n=n+1;print(n) ;n=0; ② print(n) ;n=0 ;n=n+1; ③ print(n) ;n=n+1 ;n=0; 假设在开始某个循环之前,n的值为s, 则在完成一个循环后,对上述三个执行序 列打印机打印的n值和执行后的n值如下表 所示:
int n=0; void observer(void) { while (1) { … n=n+1; remainder of observer; } } void reporter(void) { while(TRUE) { … print(n); n=0; remainder of reporter; } } void main( ) { parbegin(observer( ),reporter( )); }
PCB1
PCB2
PCB3
……
PCBn
用线性表方式组织PCB 图2.5 用线性表方式组织
链接表方式:系统按照进程的状态将进程 ② 链接表方式 的PCB链接成队列,从而形成就绪队列,阻 塞队列,运行队列等.按链接方式组织PCB 的情况如图2.6. 索引表方式:系统按照进程的状态分别建 ③ 索引表方式 立就绪索引表,阻塞索引表等,通过索引 表来管理系统中的进程.按索引方式组织 PCB的情况如图2.7.
第2章 进程管理
教学要点: 教学要点:
操作系统中最核心的概念是进程, 操作系统中最核心的概念是进程,进程是对正 在运行的程序的一种抽象, 在运行的程序的一种抽象,是资源分配和独立运行 的基本单位, 的基本单位,操作系统的所有内容都是围绕进程展 开的,操作系统的四大特征也是基于进程而形成的. 开的,操作系统的四大特征也是基于进程而形成的. 所以操作系统的学习者和设计者都要尽早地理解进 本章就来阐述有关进程的问题. 程.本章就来阐述有关进程的问题.
操作系统第二章知识点总结
操作系统第二章知识点总结操作系统是计算机系统中最核心的部分之一,它负责管理计算机的资源,并提供用户与计算机硬件之间的接口。
操作系统的设计和实现涉及到多个方面的知识,包括进程管理、内存管理、文件系统、输入输出等。
本文将针对操作系统第二章的知识点进行总结,主要涵盖了进程管理和线程管理、进程同步、死锁以及内存管理等方面的内容。
一、进程管理和线程管理1.1 进程的概念进程是指程序执行时的一次动态过程,是程序在执行过程中的实例。
进程是操作系统中的基本执行单元,每个进程都有自己的地址空间、代码、数据、环境变量等信息。
1.2 进程的状态操作系统中的进程通常具有多种状态,包括运行态、就绪态和阻塞态。
进程在不同的状态之间切换,这些状态的切换由操作系统的调度器完成。
1.3 进程的创建和删除进程的创建是指操作系统根据用户请求或者其他进程的要求,在内存中分配资源以及初始化进程控制块等信息。
进程的删除则是指进程执行完毕或者出现错误时,操作系统释放进程占用的资源,并将进程控制块从系统中移除。
1.4 进程的调度进程的调度是指操作系统根据一定的调度算法将就绪态的进程分配给处理器进行执行。
调度算法可以采用先来先服务、短作业优先、轮转等多种方式。
1.5 线程的概念线程是进程的一部分,是进程中的一个实体,是系统调度的基本单位。
一个进程可以包含多个线程,线程共享进程的资源。
1.6 线程的创建和删除线程的创建包括为线程分配资源、初始化线程控制块等操作。
线程的删除则是将线程控制块从系统中移除,并释放线程占用的资源。
1.7 线程的调度线程的调度是操作系统根据一定的调度算法将就绪态的线程分配给处理器进行执行。
线程调度与进程调度有一些不同之处,例如可以采用抢占式调度的方式。
二、进程同步2.1 进程同步的概念进程同步是指多个进程或者线程在对共享资源进行访问时,保证它们按照某种特定的顺序执行,避免发生竞争条件和数据不一致等问题。
2.2 临界区问题临界区是指一段代码,在同一时刻只能有一个进程或者线程执行。
第2章 进程的描述和控制
引 起 阻 塞 和 唤 醒 的 事 件
请求系统服务
启动某种操作
新数据尚未到 无新工作可做
• 进程阻塞过程 –正在执行的进程,发生上述事件时, 自身调用有关阻塞原语,进入等待队 列。进程的主动性行为。 –进程由运行态变为阻塞态 –引起处理机调度。 –例如UNIX:暂停一段时间sleep;暂停 并等待信号pause;等待子进程暂停或 终止wait。
1 2 3
• 顺序执行的特征: – 顺序性:按照程序结构所指定的次序 执行(可能有分支或循环) – 封闭性:独占全部资源,计算机的状 态只由于该程序的控制逻辑所决定, 结果不受外界因素的影响 – 可再现性:初始条件相同则结果相同。
2)程序的并发执行
• 引入并发执行的目的是为了提高资源利用率。 • 并发执行的特征(在不加入任何系统控制情况 下): – 间断性:表现为“走走停停”,一个程序可 能走到中途停下来,失去原有的时序关系; – 失去封闭性:共享资源,受其他程序的控制 逻辑的影响。如:一个程序写到存储器中的 数据可能被另一个程序修改,失去原有的不 变特征。 – 失去可再现性:失去封闭性 ->失去可再现 性;外界环境在程序的两次执行期间发生变 化,失去原有的可重复特征。
执行指针 就绪队列指针
PCB1 PCB2 PCB3 PCB4 PCB5 PCB6 PCB7 PCB8 PCB9 4 3 0 8
阻塞队列指针 空闲队列指针
7 9 0 0
索引方式
执行指针
PCB1 PCB2
PCB3
就绪表指针
PCB4 PCB5 PCB6
阻塞表指针
PCB7
2.2
进程控制
• 进程管理中最基本功能是进程控制 • 进程控制任务: – 进程的创建、终止、进程状态的转变等 • 进程控制一般由OS内核的原语(primitive)来 实现。 – 原语:由若干条指令构成的“原子操作 (atomic operation)”过程,作为一个整 体而不可分割--要么全都完成,要么全 都不做。 – 许多系统调用是原语。但并不是所有的系 统调用都是原语
操作系统教程第2章复习
S3
(a) 程序的顺序执行
(b) 三条语句的顺序执行
图 2-1
程序的顺序执行
第二章 进 程 管 理 2. 程序顺序执行时的特征 (1) 顺序性:处理机的操作严格按照程序所规定的顺序 执行,即每一操作必须在上一个操作结束之后开始。 (2) 封闭性:程序是在封闭的环境下执行的,即程序运 行时独占全机资源,资源的状态(除初始状态外)只有本程序 才能改变它。程序一旦开始执行,其执行结果不受外界因素 影响。 (3) 可再现性:只要程序执行时的环境和初始条件相同, 当程序重复执行时,不论它是从头到尾不停顿地执行,还是 “停停走走”地执行,都将获得相同的结果。 程序顺序执行时的特性,为程序员检测和校正程序的错 误带来了很大的方便。
第二章 进 程 管 理
2.1.2.前趋图
• 为了描述一个程序的各部分(程序段 或语句)间的依赖关系,或者是一个 大的计算的各个子任务间的因果关 系,我们常常采用前趋图方式。
图2-2 九个结点的前趋图
第二章 进 程 管 理
前趋图(续)
• P1为初始结点,P9为终止结点每个结点 还具有一个重量。 • 该前趋图,存在下面的前趋关系: P1→P2 , P1→P3 , P1→P4 , P2→P5 , P3→P5 , P4→P6 , P4→P7 , P5→P8 , P6→P8,P7→P9,P8→P9;或表示为: • P ={P1,P2,P3,P4,P5,P6,P7,P8,P9} ={(P1,P2),(P1,P3),(P1,P4), (P2,P5),(P3,P5),(P4,P6), (P4,P7),(P5,P8),(P6,P8), (P7,P9),(P8,P9)}
第二章 进 程 管 理 或者说,OS是根据PCB来对并发执行的进程进行控制和 管理的。例如,当OS要调度某进程执行时,要从该进程的 PCB中查出其现行状态及优先级;在调度到某进程后,要根据 其PCB中所保存的处理机状态信息,设置该进程恢复运行的现 场,并根据其PCB中的程序和数据的内存始址,找到其程序和 数据; 进程在执行过程中,当需要和与之合作的进程实现同 步、通信或访问文件时,也都需要访问PCB;当进程由于某种 原因而暂停执行时,又须将其断点的处理机环境保存在PCB中。 可见,在进程的整个生命期中,系统总是通过PCB对进程进行 控制的,亦即,系统是根据进程的PCB而不是任何别的什么而 感知到该进程的存在的。所以说,PCB是进程存在的惟一标志。
第二章-1-进程基本概念
一、进程定义1.进程是具有某一个功能的程序在某一个数据集合上的执行过程,是资源调度分派的独立单位。
调度:是从就绪队列中选择一个进程,不同的调度算法选择的结果不一样•分派:把CPU的使用权交给选择出来的进程•2.进程也是执行中的程序,它包括进程堆栈段(临时数据)、数据段(全局变量)、程序计数器3.进程的两个基本特性:动态性(进程实质是程序的一次运行活动,有生命过程)、并发性(系统中可同时存在多个进程,各自互相独立的向前推进)4.知道程序与进程的区别程序是完成所要求的功能时所应采取的顺序步骤,是执行指令的有序集合。
•进程是程序的一次运行活动,是一个动态概念•区别:程序是一个静止的概念,作为一种资源可以永久存放在磁盘上。
进程是程序执行的动态活动过程,随程序执行而诞生,随程序执行结束而消亡。
a.静止状态的程序和数据是相互独立的信息集合。
进程中的程序和数据是一个不可分割的实体。
b.一个程序可以对应多个进程c.•5.进程的组成部分:程序、数据、PCB(进程控制块)PCB进程控制块包含管理特定进程的有关信息:进程状态、程序计数器、CPU寄存器、CPU调度信息、内存管理信息、记账信息、IO状态信息•什么是PCB——PCB是操作系统内核中的数据结构,包含管理特定进程所需的信息(如上)•二、进程状态(新、就、运、等、停)(记法:ready三个入度一个出度,running三个出度,上被下主)CPU调度决策发生在以下四个黄色进程切换状态状态转换的说明新-就绪(抢占):新进程被允许后进入就绪队列•就绪-运行(抢占):当处理机空闲时,系统按照一定调度算法从就绪状态中选择一个使其占用处理机运行。
•运行-就绪(非抢占):分配给进程的时间片用完时,或出现一个更紧急的进程时•运行-等待(非抢占):运行的进程需要等待某一事件发生后,才能继续往下运行•等待-就绪(非抢占):处于等待的进程,如果其等待的事件已经发生,表示阻塞的原因已解除,则该进程从等待转为就绪•注意点:(被)抢占非抢占抢占(别人)非抢占第二章.1节进程基本概念2018年7月7日11:171.等待进程在等待原因解除后,虽然再次具备了运行条件,但不能直接运行,而要先转换成就绪,等待调度2.从运行态到就绪态的转换是被动的3.从运行态到等待的转换是主动的4.从等待到就绪的状态转换是由外部事件引起的三、调度——从就绪队列中选择一个进程,不同的调度算法选择的结果不一样1.三种调度(长期调度、短期调度、中期调度)•长期调度——作业调度,决定多道程序的度choose a job among several ones ready to be brought into memory(into ready queue)•短期调度——CPU调度,choose a job among several ones ready to run(into cpu)•中期调度medium-term scheduling将进程从内存或者CPU中移出,降低多道程序的度,作用机制:改善进程组合、释放内存四、上下文切换(context switch)1.任务——保存CPU当前的运行状态(旧进程状态存在PCB中)并加载新进程的保存状态2.上下文切换是系统的额外开销,切换时系统不能做其他工作五、创建进程1.父进程与子进程父进程可以与子进程并发执行,也可以等待子进程执行完毕,父进程再继续执行2.fork()创建一个新进程并拷贝父进程的程序和指令,exec()把子进程的内容更新成想要的3.父进程的返回值=子进程的标号(非0),子进程的返回值=0,作用是防止进程的无限创建六、生产者消费者问题——协作进程的通用范例Bounded buffer(有限缓冲)问题1.初始化一个有限缓冲空间,in=0,out=0;2.当in==out,缓冲区空当(in+1)%buffersize==out,缓冲区满。
第二章—A进程的概念
32
输入 设备
2.1.2程序间并发执行
I1 I2
I3
处理机
C1
C2
C3
并发执行 后,系统 效率提高
打印机
6
t1 t2
P1
P2
P3
t3
t4
t5
2.1.3 程序的并发执行及其特征
(2) 并发执行是在某道程序的几个程序段中包含着一部分 可以同时执行或顺序颠倒执行的代码.
如:
read(a);
read(b);
可以同时执行,也可颠倒次序执行。对于这样的语句, 同时执行不会改变顺序程序所具有的逻辑性质.
PCB7
(a)等待队列分开
26
……… 就绪队列 阻塞队列 ……… PCB1 PCB4
… …
PCB8
PCB2
PCB3
PCB7
(b)等待队列不分开
27
PCBA
进程A 队首指针
PCBB
进程B
PCBE …..
进程E
0PCBB
进程B
PCBE …..
进程E
0
28
0
双向链接
2.索引方式 系统根据所有进程的状态,建立几张索引表。 例如:就绪索引表、阻塞索引表。并把各索引表在 内存的首地址记录在内存中的一些专用单元中。每 个索引表的表目中,记录具有相同状态的某个PCB 在PCB表中的地址。
1) 顺序性: 处理机的操作是严格按照程序所规定的顺序 执行的,每一操作开始都不得先于前一操作 的结束。 2) 封闭性:程序一旦开始执行,其执行结果不受外界因 素影响。 3) 确定性、可再现性:程序重复执行将获得相同结果。
4
优点:有利于程序的编制和调试; 缺点:资源的独占性,使得系统利用率很低。
第2章进程-概念
第2章进程进程(process)的概念是操作系统中最基本,最重要的概念。
它是在多道程序设计出现后,为了刻划系统内部出现的情况,描述系统内部各作业的活动规律而引进的一个新概念。
2.1 进程介绍2.1.1 程序的顺序执行与特征传统程序概念是顺序执行的。
计算机原理中提到程序计数器PC(程序的地址寄存器,汇编语言中叫IP)概念。
CPU从PC中取出程序首地址,PC自动加1,指向下一条应执行指令的地址,这就决定了程序是顺序执行的,即使转移或调子程序后,仍是顺序执行(见右图)。
如果在进行计算时,按存储程序式计算机体系结构的方式,应经过这样几个步骤:2.1.2 程序的并发执行和资源共享引入多道程序设计之后,系统内的情况就不同了。
1.多道程序的特点首先是并行(parallel,硬件实现)并发(concurrence,软件实现)。
硬件上:利用通道(I/O处理机),主机与外设并行多通道,外设与外设并行。
软件上:同时把几个作业放入内存,这些程序段的执行在时间上是重叠的。
如果还用结点图表示如采用一定的技术(spooling),I2可以与C1同时进行。
C1申请I/O时(或时间片到),C2可以开始执行。
I3又同时可以开始。
从例中可以看出I1先于C1和I2;C1先于P1和C2;P1先于P2。
同时I2和C1,I3、C2和P1,I4、C3和P2是重叠的。
2.资源共享、程序并行带来了新问题①失去了程序的封闭性:假设一个飞机定票系统有两个终端,分别运行进程T1和T2。
进程执行:cobeginrepeat T1(x);repeat T2(x);coend进程定义:procedure T1(x1); | procedure T2(x2);var x1:integer; | var x2:integer;begin | begin按用户要求找到aj; | 按用户要求找到aj;x1:=aj; | x2:=aj;if x1>=1 then | if x2>=1 thenbegin | beginx1:=x1-1; aj:=x1; | x2:=x2-1; aj:=x2;输出一张票| 输出一张票end; | end;else 输出‚票售完‛| else 输出‚票售完‛end; | end;aj:=1 ,T1查询到x>=1,时间片到,轮到T2。
chap2进程管理
end
S6
例题
设有一个作业由4个进程组成,这4个进程必须按下图所 示的次序运行,试用P、V操作表达4个进程的同步关系。 a
P2
P1
b
P3
c
P4
d
习题1
1. 在多进程的系统中,为了保证公共变量的完整性, 各进程应互斥地进入临界区。所谓临界区是指 ( )。 A.一个缓冲区 B.一段数据区 C.同步机制 D.一 段程序 2. 如果多个进程共享系统资源或相互合作完成一个 共同的任务,则诸进程是以( )方式运行的。对 临界资源访问时采用( )方式,对于相互合作的 进程采用( )方式以协调各进程执行的( )。 A.共享 B.独立 C.互斥 D.同步 E. 次序 F. 次数 G.异步 3. 请阐述对于互斥临界区的管理要求。
问题思考:进程和程序的区别和联系?
区别: 1)进程是指令的有序集合,是静态的,进程是程序的执行,是 动态的。 2)进程的存在是暂时的,程序的存在是永久的。 3)进程的组成应包括程序和数据。除此之外,进程还应由记录 进程状态信息的“进程控制块”组成。
联系: 程序是构成进程的组成部分之一,一个进程的运行目标是 执行它所对应的程序。如果没有程序,进程就失去了其存在的 意义。从静态的角度看,进程由程序、数据和进程控制块三部 分组成。
创建进程(调用原语Create())的主要工作
向系统申请一个空闲的PCB。 分配资源,如内存。 给PCB的各数据项臵初值(进程名,状态,CPU信息,程序 计数器,栈指针,寄存器)——故调用创建原语的进程,必须提 供PCB的有关参数。 把新的PCB插入就绪队列。
课
堂 练 习
1、进程的定义是什么?它由哪几部分组成?它最少有哪 几种状态? 答:进程是进程实体的一次执行过程。进程由程序、数据 和进程控制块组成。一个进程至少有就绪、执行和阻塞三种 状态。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章
进程的描述与控制
进入终止态的进程以后不能再执行,但在操作
系统中依然保留一个记录,其中保存状态码和一些
计时统计数据,供其他进程收集。 一旦其他进程完成了对其信息的提取之后,操 作系统将删除该进程,即将其PCB清零,并将该空 白PCB返还系统。
27
第二章
进程的描述与控制
2) 终止状态
进程的终止也要通过两个步骤: 首先,是等待操作系统进行善后处理,
最后将其PCB清零,并将PCB空间返还系统。
当一个进程到达了自然结束点,或是出现了无法克服的错 误,或是被操作系统所终结,或是被其他有终止权的进程 所终结,它将进入终止状态。
28
第二章Байду номын сангаас进 程 管 理
段完成特定的功能,它们在执行时,都需要按照某种先后次
序顺序执行,仅当前一程序段执行完后,才运行后一程序段。 例如,在进行计算时,应先运行输入程序,用于输入用 户的程序和数据;然后运行计算程序,对所输入的数据进行 计算;最后才是运行打印程序,打印计算结果。
7
第二章
进程的描述与控制
即使是一个程序段,也可能存在着执行顺序问题,下面
第二章
进程的描述与控制
复习: 操作系统的基本特征:
并发、共享、虚拟、异步
操作系统的主要功能: CPU、存储管理、设备管理、文件管理、用户接口
OS结构设计:
模块、层次、C/S、面向对象 微内核、单体内核
1
第二章
进程的描述与控制
第二章
2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8
进程的描述与控制
S3: c :=a+b
S4: d :=c+b
可以看出:S3必须在a和b被赋值后方能执行;S4必须在 S3之后执行;但S1和S2则可以并发执行,因为它们彼此互不 依赖。
11
第二章
进程的描述与控制
2. 程序并发执行时的特征
并发执行的程序它们共享系统资源,以及它们为完成同 一项任务而相互合作,致使在这些并发执行的程序之间必将
进行资源分配和调度的一个独立单位”。
17
进程通常由三部分组成:程序、数据和进程控制 块PCB 。
操 作 系 统
创建进程,实质上就是创建进程的PCB; 撤销进程,实质上就是撤销进程的PCB
PCB 程 序 PCB
PCB1 PCB2
数
程
数
第 二 章 进 程 管 理
数 据 ( a)
据
序
据
共 享 程 序
数
据
前趋图和程序执行 进程的描述 进程控制 进程同步 经典进程的同步问题 进程通信 线程(Threads)的基本概念 线程的实现
2
第二章
进程的描述与控制
2.1
2.1.1 前趋图
前趋图和程序执行
所谓前趋图(Precedence Graph),是指一个有向
无循环图,可记为DAG(Directed Acyclic Graph),它
5
第二章
进程的描述与控制
前趋图中是不允许有循环的,否则 必然会产生不可能实现的前趋关系。
它一方面要求在S3开始执行之前,
S2必须完成,另一方面又要求在S2开 始执行之前,S3必须完成。显然,这 种关系是不可能实现的。 S2→S3,S3→S2
6
第二章
进程的描述与控制
2.1.2
程序顺序执行
1. 程序的顺序执行 通常,一个应用程序由若干个程序段组成,每一个程序
此时称Pi是Pj的直接前趋,而称Pj是Pi的直接后继。
如果进程Pi和Pj存在着前趋关系,可表示为(Pi,Pj)∈→,
在前趋图中,把没有前趋的结点称为初始结点
(Initial Node),把没有后继的结点称为终止结点(Final
Node)。此外,每个结点还具有一个重量(Weight),用
于表示该结点所含有的程序量或程序的执行时间。
示出了一个包含了三条语句的程序段: S1: a :=x+y;
S2: b :=a-5;
S3: c :=b+1; 其中,语句S2必须在语句S1后(即a被赋值)才能执行,语句S3 也只能在b被赋值后才能执行,因此,三条语句存在着这样 的前趋关系:S1→S2→S3
8
第二章
进程的描述与控制
2. 程序顺序执行时的特征
执行序列 (1)
N=N+1; Print N ; N=0 ; N=0
(2)
Print N ; N=0; N=N+1; N=N+1
(3)
Print N ; N=N+1; N=0 ; N=0
程序
最终结果N
打印结果
N=n+1
14
14
N=n
N=n
第二章
进程的描述与控制
15
第二章
进程的描述与控制
2.2
1. 进程的定义
就可执行。
22
第二章
进程的描述与控制
2.2.2
进程的基本状态及转换
1. 进程的三种基本状态
执行状态(Running):占用处理机资源;处于此状态 的进程的数目小于等于CPU的数目。在没有其他进程可 以执行时(如所有进程都在阻塞状态),通常会自动执
行系统的idle进程(相当于空操作)。
阻塞状态(Blocked):由于进程等待某种条件(如 I/O操作或进程同步),在条件满足之前无法继续执行。 该事件发生前即使把处理机分配给该进程,也无法运行。 如:等待I/O操作的完成。
16
第二章
进程的描述与控制
其中较典型的定义有:
(1) 进程是程序的一次执行。 (2) 进程是一个程序及其数据在处理机上顺序执行时所 发生的活动。 (3) 进程是具有独立功能的程序在一个数据集合上运行
的过程,它是系统进行资源分配和调度的一个独立单位。
在引入了进程实体的概念后,我们可以把传统OS中的
进程定义为:“进程是进程实体的运行过程,是系统
形成相互制约的关系,由此会给程序并发执行带来新的特征。
(1) 间断性。相互制约将导致并发程序具有“执行-暂停执行”这种间断性的活动规律; (2) 失去封闭性。共享资源,这些资源的状态也由这些 程序来改变,致使其中任何一个程序在运行时,其环境必然 受其他程序的影响。
12
第二章
进程的描述与控制
(3) 不可再现性。失去封闭性 ->失去可再现性;在
写用于控制和管理进程的信息;
然后为该进程分配运行时所必须的资源;
最后,把该进程转入就绪状态并插入就绪队列
之中。
25
第二章
进程的描述与控制
3. 创建状态和终止状态
1) 创建状态 如果进程所需的资源尚不能得到满足, 比如系统尚无足够的内存使进程无法装入其 中,此时创建工作尚未完成,进程不能被调 度运行,于是把此时进程所处的状态称为创 建状态。
4
第二章
进程的描述与控制
P1→P2,P1→P3,P1→P4,P2→P5,P3→P5,P4→P6, P4→P7,P5→P8,P6→P8,P7→P9,P8→P9 或表示为: P={P1, P2, P3, P4, P5, P6, P7, P8, P9} ={(P1, P2), (P1, P3), (P1, P4), (P2, P5), (P3, P5), (P4, P6), (P4, P7), (P5, P8), (P6, P8), (P7, P9), (P8, P9)}
程序的两次执行期间发生变化,失去原有的可重复特征。 程序A: 程序B: 假定某时刻:N=n; N=N+1; N=n+1 print(N) ; n N=0; N=0 print(N) ; N=N+1; n N=n+1 N=0 N=N+1; print(N) ; N=0;
print(N) ; n+1
N=0;
9
第二章
进程的描述与控制
2.1.3
程序并发执行
在输入程序、计算程序和打
1. 程序的并发执行:
印程序三者之间,存在着Ii→Ci→Pi这样的前趋关系,以至 对一个作业的输入、计算和打印三个程序段必须顺序执行。
10
第二章
进程的描述与控制
对于具有下述四条语句的程序段:
S1: a :=x+2 S2: b :=y+4
( b)
(c)
18
第二章
进程的描述与控制
2. 进程的特征
进程和程序是两个截然不同的概念,除了进程具有程序 所没有的PCB结构外,还具有下面一些特征: (1) 动态性。 (2) 并发性。
(3) 独立性。
(4) 异步性。
19
进程与程序的区别:
1)进程是一次运行的过程,属于一种动态的概念;而程序是 操 指令的集合,是一个静态的概念。
n=0
N=N+1;
N=1
N=0;
13
举例:计算交通流量
观察者
第二章
进程的描述与控制
报告者
begin repeat delay a time Print N ; N=0 ; until end
begin repeat wait a car go through N=N+1; until end
初始N=n时,对于不同执行序列,结果各不相同
在程序顺序执行时,具有这样三个特征: ① 顺序性:指处理机严格地按照程序所规定的顺序执行,即
每一操作必须在下一个操作开始之前结束;
② 封闭性:指程序在封闭的环境下运行,即程序运行时独占 全机资源,资源的状态(除初始状态外)只有本程序才能改变它, 程序一旦开始执行,其执行结果不受外界因素影响; ③ 可再现性:指只要程序执行时的环境和初始条件相同,当 程序重复执行时,不论它是从头到尾不停顿地执行,还是 “停停走走”地执行,都可获得相同的结果。程序顺序执行 时的这种特性,为程序员检测和校正程序的错误带来了很大 的方便。