第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.进程
2.进程的引入和定义
A. 程序的顺序执行
程序:
指令或语句序列,体现了某种算法,所有程序 是顺序的
顺序环境:
在计算机系统中只有一个程序在运行,这个程 序独占系统中所有资源,其执行不受外界影响
程序顺序执行的特征:
• 程序执行的顺序性 • 程序执行的封闭性
独占资源,执行过程中不受外界影响
• 程序执行结果的确定性 即:程序结果的可再现性
此两种转换由进程调度程序引起,调度程序的主要 内容是决定哪个进程应当运行,及它应运行多长 时间。
状态转换
• 运行 --> 等待: 进程要求的事件未出现而进入等
待态;可能的原因包括: 初始化I/O 且必须等待结果(I/O操作)
对一资源的访问尚不能进行(申请系统服务或资源)
等待某一进程提供输入 (通信)
P1 互斥 a := a +1 print (a)
P2
互斥 a := a -1 print (a)
P3
If a < 0
then
互斥 a := a +1 else a:= a-1
进程的互斥 (间接作用)
程序 段 1
程序 段 2
程序 段 n
共享变 量
3.4.3 使用临界区的原则:
(一组并发进程互斥执行时应满足 的准则,保证使用共享数据的进 程能够正确和高效地运行)
进程示意图和PCB的基本内容
3、PCB表:
系统把所有 PCB 组织在一起,并把它们 放在内存的固定区域,就构成了PCB表 PCB表的大小决定了系统中最多可同时存 在的进程个数
4、PCB表组织方式:
线性表方式、链接方式、索引方式
(1)线性表方式: 将所有的PCB不分状态组织在一个连续 表中。
进程的描述ppt课件
3.执行状态 阻塞状态
正在执行的进程因发生某件事件而无法执行。例如: 进程请求访问临界资源,而该资源正被其它进程访问, 则请求该资源的进程将由执行状态转变为阻塞状态。
4.执行状态 就绪状态
正在执行的进程,如果事件发生或中断而被暂停执行, 该进程便由执行状态转变为就绪状态。(分时系统中, 时间片用完;抢占调度方式中,优先权高抢占处理机)
一、进程的三种基本状态 1.就绪状态(Ready)
当进程已经分配到除CPU以外的所有必要的资源 后,只要能再获得处理机,就可以立即执行。这 时的进程的状态称为就绪状态。 2.执行状态(Running)(运行状态)
指进程已获得处理机,其程序正在执行。在 单处理机系统中,只能有一个进程处于执行状态。 (在多处理机中,可能有多个进程处于执行状态)
3.3.5进程空间
任何一个进程,都有自己的地址空间,把该空间称为进程空 间或虚空间。
进程空间的大小只与处理机的位数有关。程序的执行都在进 程空间内进行。用户程序、进程的各种控制表格都按一定 的结构排列在进程空间里。
在Unix和Linux系统中,进程空间还被划分为用户空间和系统 空间两大部分
在进程空间被划分为两大部分后,用户程序在用户空间内执 行,操作系统内核程序在进程的系统空间内执行。
3.3.2进程控制块中的信息
进程控制块中主要包括四个方面用于描述和控制进程运行 的信息。
1 1.进程标识符信息
进程标识符用于唯一的标识一个进程。一个进程通常有以 下两种标识符。
外部标识符。由创建者提供,通常是由字母、数字组成, 往往是用户(进程)访问该进程使用。外部标识符便于记忆, 如:计算进程、打印进程、发送进程、接收进程等。
执行指针 就绪队列指针 阻塞队列指针 空闲队列指针
电大操作系统 第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.4 线
程
2.4.1 线程概念 现代操作系统中,进程只作为资源拥有者, 而调度和运行的属性赋予新的实体——线 而调度和运行的属性赋予新的实体——线 程。 线程(Thread)是进程中实施调度和分派 线程(Thread)是进程中实施调度和分派 的基本单位
2.4.1 线程概念
1.线程的组成 每个线程有一个 thread结构,即 thread结构,即 线程控制块,用 于保存自己私有 的信息,主要由 以下4 以下4个基本部 分组成:
2.4.1 线程概念
4.线程和进程的关系 ① 一个进程可以有多个线程,但至少要有一个线程; 而一个线程只能在一个进程的地址空间内活动。 ② 资源分配给进程,同一进程的所有线程共享该进 程的所有资源。 ③ 处理机分配给线程,即真正在处理机上运行的是 线程。 ④ 线程在执行过程中需要协作同步。不同进程的线 程间要利用消息通信的办法实现同步。
程同时访问和操纵相同的数据时,最后的执行结 果取决于进程运行的精确时序。
竞争条件(Race Condition),即两个或多个进 Condition),即两个或多个进
2.5.2 临界资源和临界区
1.临界资源和临界区 一次仅允许一个进程使用。我们把这类共 享资源称为临界资源( 享资源称为临界资源(Critical Resource)。 Resource)。 在每个进程中访问临界资源的那段程序叫 临界区( Section),简称CS区。 做临界区(Critical Section),简称CS区。
2.3.3 进程终止
(1)正常终止 (2)异常终止 (3)外部干扰
2.3.3 进程终止
终止进程的主要操作过程如下: 找到指定进程的PCB 找到指定进程的PCB 终止该进程的运行 回收该进程所占用的全部资源 终止其所有子孙进程,回收它们所占用的 全部资源。 将被终止进程的PCB从原来队列中摘走 将被终止进程的PCB从原来队列中摘走
操作系统进程讲解
其并行性受到系统的控制,也就是对进程 独立性和异步性的限制 ➢ 不同的进程可以包含同一程序,只要该程 序所对应的数据集不同,即程序的两次执 行对应不同的进程
3. 进程的特征
➢ 动态性:进程的实质是程序的一次执行过程,
运行
就绪
等待
图2-4 进程的状态及其转换
进程状态转换条件
在进程运行过程中,由于自身进展情况 及外界环境的变化,这三种基本状态可以依 据一定的条件相互转换: 就绪 --> 运行 ➢ 调度程序选择一个新的进程运行 运行 --> 就绪 ➢ 运行进程用完了时间片 ➢ 运行进程被中断,因为一高优先级进程处
于就绪状态
进程状态转换条件(续)
运行 --> 阻塞
当一进程必须等待时 ➢ OS尚未完成服务 ➢ 对一资源的访问尚不能进行 ➢ 初始化I/O 且必须等待结果 ➢ 等待某一进程提供输入 (IPC)
阻塞 --> 就绪
➢ 当所等待的事件发生时。 由于执行的进程变为阻塞状态后,调度程序立即把 处理机分配给另一个就绪进程;因此,阻塞进程的 事件消失后,进程不会立即恢复到执行状态,而转 变为就绪状态,重新等待处理机
进程是动态产生,动态消亡的,进程在其生命周期内,在三种基本 状态之间转换
➢ 并发性:任何进程都可以同其他进程一起向前推进
➢ 独立性:进程是一个能独立运行的基本单位,同时也是系统分配资 源和调度的独立单位;进程在获得必要的资源后便可运行
➢ 异步性:由于进程间的相互制约,使进程具有执行的间断性,即进 程按各自独立的、不可预知的速度向前推进
2.1.3 程序并发执行及特征
操作系统第二章知识点总结
操作系统第二章知识点总结操作系统是计算机系统中最核心的部分之一,它负责管理计算机的资源,并提供用户与计算机硬件之间的接口。
操作系统的设计和实现涉及到多个方面的知识,包括进程管理、内存管理、文件系统、输入输出等。
本文将针对操作系统第二章的知识点进行总结,主要涵盖了进程管理和线程管理、进程同步、死锁以及内存管理等方面的内容。
一、进程管理和线程管理1.1 进程的概念进程是指程序执行时的一次动态过程,是程序在执行过程中的实例。
进程是操作系统中的基本执行单元,每个进程都有自己的地址空间、代码、数据、环境变量等信息。
1.2 进程的状态操作系统中的进程通常具有多种状态,包括运行态、就绪态和阻塞态。
进程在不同的状态之间切换,这些状态的切换由操作系统的调度器完成。
1.3 进程的创建和删除进程的创建是指操作系统根据用户请求或者其他进程的要求,在内存中分配资源以及初始化进程控制块等信息。
进程的删除则是指进程执行完毕或者出现错误时,操作系统释放进程占用的资源,并将进程控制块从系统中移除。
1.4 进程的调度进程的调度是指操作系统根据一定的调度算法将就绪态的进程分配给处理器进行执行。
调度算法可以采用先来先服务、短作业优先、轮转等多种方式。
1.5 线程的概念线程是进程的一部分,是进程中的一个实体,是系统调度的基本单位。
一个进程可以包含多个线程,线程共享进程的资源。
1.6 线程的创建和删除线程的创建包括为线程分配资源、初始化线程控制块等操作。
线程的删除则是将线程控制块从系统中移除,并释放线程占用的资源。
1.7 线程的调度线程的调度是操作系统根据一定的调度算法将就绪态的线程分配给处理器进行执行。
线程调度与进程调度有一些不同之处,例如可以采用抢占式调度的方式。
二、进程同步2.1 进程同步的概念进程同步是指多个进程或者线程在对共享资源进行访问时,保证它们按照某种特定的顺序执行,避免发生竞争条件和数据不一致等问题。
2.2 临界区问题临界区是指一段代码,在同一时刻只能有一个进程或者线程执行。
第二章 进程管理、作业管理
27
2 调度的层次 高级调度 :又称为“长程调度”、“作 业调度”。从用户工作流程的角度,一次 提交的若干个流程,其中每个程序按照进 程调度。时间上通常是分钟、小时或天。 接纳多少作业 接纳哪些作业 调度算法
29
低级调度:又称为“短程调度”、“进程或线 程”。从CPU资源的角度,执行的单位。时间上 通常是毫秒。因为执行频繁,要求在实现时达到 高效率。 两种调度方式: 非抢占方式 抢占方式 时间片 优先权 短作业(进程)优先 中级调度:又称为“中程调度”,内外存交换。 从存储器资源的角度。将进程的部分或全部换出 到外存上,将当前所需部分换入到内存。指令和 数据必须在内存里才能被CPU直接访问。
平均周转时间T 平均带权周转时间(带权周转时间W是 T(周转)/T(CPU 执行)〕
31
响应时间:用户输入一个请求(如击键)到系统 给出首次响应(如屏幕显示)的时间--分时系 统 截止时间:开始截止时间和完成截止时间--实 时系统,与周转时间有些相似。 优先权:可以使关键任务达到更好的指标。 不因作业或进程本身的特性而使上述指标过分恶 化。如长作业等待很态、寄存 器上下文和栈 同样具有就绪、阻塞和执行三种基本状态
16
线程与进程
one process one thread
one process multiple threads
multiple processes one thread per process
multiple processes multiple threads per process
第二章 进程管理、作业管理
2.1 基本概念
第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)”过程,作为一个整 体而不可分割--要么全都完成,要么全 都不做。 – 许多系统调用是原语。但并不是所有的系 统调用都是原语
第二章-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。
进程管理第二章已经介绍进程的概念...
第六章进程管理第二章已经介绍进程的概念,进程是一个具有独立功能的程序关于某一个数据集合在处理机上的一次执行活动。
进程和程序是两个既有联系又有区别的概念,它们的区别的关系可简述如下:进程是一个动态的概念,而程序是一个静态的概念。
程序是指令的有序集合,没有任何的执行含义。
而进程则是程序的执行过程,它动态地被创建、调度、执行,直至消亡。
当然,进程的执行活动是在程序中事先规定的。
形象的比喻就是:若把一个程序看作一个菜谱,那么进程则是按照该菜谱炒菜的过程。
进程具有并行特征,而程序没有。
由进程的定义可知,进程具有并行特征的两个方面,即独立性和异步性。
也就是说,在不考虑资源共享的情况下,各进程的执行是独立的,执行的速度是异步的。
显然,由于程序不反映执行过程,所以不具有并行特征。
进程是竞争计算机系统资源的基本单位,从而其并行性受到系统本身的制约。
这种制约就是对进程独立性和异步性的限制。
不同的进程可以包含同一程序,即不同进程可共享同一程序,只要该程序所对应的数据集不同。
本章首先介绍并发进程由于竞争资源而产生的制约—互斥和并发进程由于相互协作而产生的制约—同步,以及这种互斥和同步的实现技术,接着介绍进程之间交换信息的处理方式—进程通信,然后介绍进程内的基本调度单位—线程,最后介绍多个进程由于竞争资源而产生的死锁及其防止、避免和解除方法。
6.1进程管理的背景并发进程执行可能是无关的,也可能是交往的。
无关的并发进程是指它们分别在不同的变量集合上操作,所以一个进程的执行与其它并发进程的进展无关,即一个并发进程不会改变另一个并发的变量值。
然而,交往的并发进程,它们共享某些变量,所以一个进程的执行可能影响其它进程的执行结果,因此,这种交往的并发进程执行必须进行合理的控制,否则就会出现不正确的结果。
两个交往的并发进程,其中一个进程对另一个进程的影响常常是不可预期的,甚至是无法再现的。
这是因为两个并发进程执行的相对速度无法相互控制,交往的并发进程的速率不仅处理器调度的影响,而且还受到与这两个交往的并发进程无关的其它进程的影响,所以一个进程的速率通常无法为另一个进程所知。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章
进程的描述与控制
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;
print(N) ; n+1
N=0;
S3: c :=a+b
S4: d :=c+b
可以看出:S3必须在a和b被赋值后方能执行;S4必须在 S3之后执行;但S1和S2则可以并发执行,因为它们彼此互不 依赖。
11
第二章
进程的描述与控制
2. 程序并发执行时的特征
并发执行的程序它们共享系统资源,以及它们为完成同 一项任务而相互合作,致使在这些并发执行的程序之间必将
前趋图和程序执行 进程的描述 进程控制 进程同步 经典进程的同步问题 进程通信 线程(Threads)的基本概念 线程的实现
2
第二章
进程的描述与控制
2.1
2.1.1 前趋图
前趋图和程序执行
所谓前趋图(Precedence Graph),是指一个有向
无循环图,可记为DAG(Directed Acyclic Graph),它
执行序列 (1)
N=N+1; Print N ; N=0 ; N=0
(2)
Print N ; N=0; N=N+1; N=N+1
示出了一个包含了三条语句的程序段: S1: a :=x+y;
S2: b :=a-5;
S3: c :=b+1; 其中,语句S2必须在语句S1后(即a被赋值)才能执行,语句S3 也只能在b被赋值后才能执行,因此,三条语句存在着这样 的前趋关系:S1→S2→S3
8
第二章
进程的描述与控制
2. 程序顺序执行时的特征
5
第二章
进程的描述与控制
前趋图中是不允许有循环的,否则 必然会产生不可能实现的前趋关系。
它一方面要求在S3开始执行之前,
S2必须完成,另一方面又要求在S2开 始执行之前,S3必须完成。显然,这 种关系是不可能实现的。 S2→S3,S3→S2
6
第二章
进程的描述与控制
2.1.2
程序顺序执行
1. 程序的顺序执行 通常,一个应用程序由若干个程序段组成,每一个程序
形成相互制约的关系,由此会给程序并发执行带来新的特征。
(1) 间断性。相互制约将导致并发程序具有“执行-暂停执行”这种间断性的活动规律; (2) 失去封闭性。共享资源,这些资源的状态也由这些 程序来改变,致使其中任何一个程序在运行时,其环境必然 受其他程序的影响。
12
第二章
进程的描述与控制
(3) 不可再现性。失去封闭性 ->失去可再现性;在
在程序顺序执行时,具有这样三个特征: ① 顺序性:指处理机严格地按照程序所规定的顺序执行,即
每一操作必须在下一个操作开始之前结束;
② 封闭性:指程序在封闭的环境下运行,即程序运行时独占 全机资源,资源的状态(除初始状态外)只有本程序才能改变它, 程序一旦开始执行,其执行结果不受外界因素影响; ③ 可再现性:指只要程序执行时的环境和初始条件相同,当 程序重复执行时,不论它是从头到尾不停顿地执行,还是 “停停走走”地执行,都可获得相同的结果。程序顺序执行 时的这种特性,为程序员检测和校正程序的错误带来了很大 的方便。
9
第二章
进程的描述与控制
2.1.3
程序并发执行
在输入程序、计算程序和打
1. 程序的并发执行:
印程序三者之间,存在着Ii→Ci→Pi这样的前趋关系,以至 对一个作业的输入、计算和打印三个程序段必须顺序执行。
10
第二章
进程的描述与控制
对于具有下述四条语句的程序段:
S1: a :=x+2 S2: b :=y+4
段完成特定的功能,它们在执行时,都需要按照某种先后次
序顺序执行,仅当前一程序段执行完后,才运行后一程序段。 例如,在进行计算时,应先运行输入程序,用于输入用 户的程序和数据;然后运行计算程序,对所输入的数据进行 计算;最后才是运行打印程序,打印计算结果。
7
第二章
进程的描述与控制
即使是一个程序段,也可能存在着执行顺序问题,下面
用于描述进程之间执行的先后顺序。
图中的每个结点可用来表示一个进程或程序段, 乃至一条语句,结点间的有向边则表示两个结点之间 存在的偏序(Partial Order)或前趋关系(Precedence Relation)。
3
第二章
进程的描述与控制
进程(或程序)之间的前趋关系可用“→”来表示, 也可写成Pi→Pj,表示在Pj开始执行之前Pi 必须完成。
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时,对于不同执行序列,结果各不相同