操作系统课件——进程管理
合集下载
《操作系统课件:进程管理》
完成执行或被终止。
进程的创建与终止
创建进程
操作系统通过调用系统调用或其他进程来创建新进 程。
终止进程
进程可以正常终止或被其他进程强制终止。
进程调度的分类
1 非抢占式调度
进程不会被强制中断,直到主动让出CPU。
2 抢占式调度
操作系统会根据一定的优先级或时间片来中断正在运行的进程,将 CPU分配给其他进程。
进程同步的基本概念
进程同步是确保多个进程按照特定顺序执行的机制,以避免竞态条件和数据不一致的问题。
进程同步机制之互斥锁
互斥锁是最常用的进程同步机制,它确保在同一时间只能有一个进程访问共享资源。
操作系统课件:进程管理
本课程将详细介绍进程管理的各个方面,包括进程概念、进程状态与转换以 及进程调度算法等。让我们一起深入了解操作系统中最重要的组成部分之一。
什么是进程
进程是操作系统中正在执行的程序的实例。它是计算机系统中最基本的执行 单位,具有独立的内存空间和执行上下文。
进程控制块(PCB)的概念
进程控制块是操作系统中用于管理和控制进程的数据结构。它包含了进程的 状态信息以及与之相关的各种属性,如进程ID、优先级和资源占用情况。
进程状态及转换
创建
进程正在被创建,分配资源 并初始化。
就绪
进程已准备好执行,正在等 待CPU的分配。
运行
进程正在执行中。
阻塞
进程由于等待某种事件(如I/O操作)而暂停执 行。
进程调度算法的比较
先来先服务 (FCFS)
按进程到达的先后顺 序进行调度,非抢占 式。
最短作业优先 (SJF)
选择估计运行时间最 短的进程优先执行, 非抢占式。
轮转调度(RR)
进程的创建与终止
创建进程
操作系统通过调用系统调用或其他进程来创建新进 程。
终止进程
进程可以正常终止或被其他进程强制终止。
进程调度的分类
1 非抢占式调度
进程不会被强制中断,直到主动让出CPU。
2 抢占式调度
操作系统会根据一定的优先级或时间片来中断正在运行的进程,将 CPU分配给其他进程。
进程同步的基本概念
进程同步是确保多个进程按照特定顺序执行的机制,以避免竞态条件和数据不一致的问题。
进程同步机制之互斥锁
互斥锁是最常用的进程同步机制,它确保在同一时间只能有一个进程访问共享资源。
操作系统课件:进程管理
本课程将详细介绍进程管理的各个方面,包括进程概念、进程状态与转换以 及进程调度算法等。让我们一起深入了解操作系统中最重要的组成部分之一。
什么是进程
进程是操作系统中正在执行的程序的实例。它是计算机系统中最基本的执行 单位,具有独立的内存空间和执行上下文。
进程控制块(PCB)的概念
进程控制块是操作系统中用于管理和控制进程的数据结构。它包含了进程的 状态信息以及与之相关的各种属性,如进程ID、优先级和资源占用情况。
进程状态及转换
创建
进程正在被创建,分配资源 并初始化。
就绪
进程已准备好执行,正在等 待CPU的分配。
运行
进程正在执行中。
阻塞
进程由于等待某种事件(如I/O操作)而暂停执 行。
进程调度算法的比较
先来先服务 (FCFS)
按进程到达的先后顺 序进行调度,非抢占 式。
最短作业优先 (SJF)
选择估计运行时间最 短的进程优先执行, 非抢占式。
轮转调度(RR)
《进程管理》课件
和协作。
进程迁移
02
为了提高系统可靠性和可用性,分布式系统支持进程迁移,确
保关键任务能够持续运行。
负载均衡
03
分布式系统通过负载均衡技术,将任务分配到不同节点上执行
,提高系统整体性能。
THANKS
感谢观看
当系统中存在多个等待资源的进程,且每 个进程都持有至少一个资源并等待获取被 其他进程持有的资源时,就会产生死锁。
通过设置资源分配顺序或限制资源请求量 来避免饥饿。
• 死锁预防
• 死锁避免
通过破坏死锁产生的必要条件来预防死锁 ,例如预先分配资源、设置最大需求量等 。
在分配资源时进行检测和限制,避免产生 死锁,例如银行家算法。
进程的状态及其转换
总结词
阐述进程的三种基本状态及转换关系
详细描述
进程状态分为新建、运行、阻塞和就绪等状态。新建状态是进程被创建时的状态,运行状态是进程获 得CPU并执行的状态,阻塞状态是进程等待某个条件成立而暂时无法执行的状态,就绪状态是进程已 具备运行条件但未获得CPU时的状态。不同状态之间可以相互转换。
进程管理在操作系统中的应用
01
02
03
进程调度
操作系统通过进程调度算 法,合理分配系统资源, 确保进程能够高效地运行 。
进程同步
操作系统提供进程同步机 制,实现多个进程之间的 协同工作,避免资源竞争 和死锁。
进程通信
进程之间通过消息传递、 共享内存等方式进行通信 ,实现数据交换和协同工 作。
多核处理器下的进程管理技术
进程与程序的区别和联系
总结词
比较进是程序的一次执行过程,具有动态特性和独立性。 程序是静态的,而进程是动态的。程序是永存的,进程是暂时的。程序是过程的代码, 而进程是执行这些代码的过程。一个程序可以对应多个进程,但一个进程不能对应多个
《操作系统》课件02 进程管理
5.异步性:(间断性)
第二进章程管进理 程 管 理
❖ 2. 进程的三种基本状态 ٭就绪状态 ٭执行状态 ٭阻塞状态
I/O完成
就绪
时间片完
进程调度
阻塞
I/O请求
执行
进程的三种基本状态及其转换
第二进章程管进理 程 管 理
❖ 3. 挂起状态(被换出内存的状态)
٭引入原因 ▪ 终端用户请求 ▪ 父进程请求 ▪ 负荷调节需要 ▪ 操作系统需要
第二进章程管进理 程 管 理
第二章 进程管理
2.1 进程的基本概念 2.2 进程控制 2.3 进程同步 2.4 经典进程的同步问题 2.5 进程通信 2.6 线程 的基本概念 2.7 线程的实现
第二进章程管进理 程 管 理
2.1 进程的基本概念
2.1.1 前驱图的定义 2.1.2 程序的顺序执行 2.1.3 程序的并发执行 2.1.4 进程的定义与特征 2.1.5 进程控制块
❖ 2.进程控制块中的信息 ٭标识、处理机状态,进 程调度信息,进程控制 信息
pid 进程状态
现场 优先级 阻塞原因 程序地址 同步机制 资源清单 链接指针
第二进章程管进理 程 管 理
❖ 3.PCB的组织 ٭链接
执行指针 就绪队列指针 阻塞队列指针 空闲队列指针
以静态形式给出
PCB1 4 PCB2 3 PCB3 0 PCB4 8 PCB5 PCB6 7 PCB7 9 PCB8 0 PCB9 1
❖ n++;在printf(n);和n=0;之后,则n值分别 为5,0,1.
❖ n++;在printf(n);和n=0;之间,则n值分别 为5,6,0.
第二进章程管进理 程 管 理
❖ 2. 进程的三种基本状态 ٭就绪状态 ٭执行状态 ٭阻塞状态
I/O完成
就绪
时间片完
进程调度
阻塞
I/O请求
执行
进程的三种基本状态及其转换
第二进章程管进理 程 管 理
❖ 3. 挂起状态(被换出内存的状态)
٭引入原因 ▪ 终端用户请求 ▪ 父进程请求 ▪ 负荷调节需要 ▪ 操作系统需要
第二进章程管进理 程 管 理
第二章 进程管理
2.1 进程的基本概念 2.2 进程控制 2.3 进程同步 2.4 经典进程的同步问题 2.5 进程通信 2.6 线程 的基本概念 2.7 线程的实现
第二进章程管进理 程 管 理
2.1 进程的基本概念
2.1.1 前驱图的定义 2.1.2 程序的顺序执行 2.1.3 程序的并发执行 2.1.4 进程的定义与特征 2.1.5 进程控制块
❖ 2.进程控制块中的信息 ٭标识、处理机状态,进 程调度信息,进程控制 信息
pid 进程状态
现场 优先级 阻塞原因 程序地址 同步机制 资源清单 链接指针
第二进章程管进理 程 管 理
❖ 3.PCB的组织 ٭链接
执行指针 就绪队列指针 阻塞队列指针 空闲队列指针
以静态形式给出
PCB1 4 PCB2 3 PCB3 0 PCB4 8 PCB5 PCB6 7 PCB7 9 PCB8 0 PCB9 1
❖ n++;在printf(n);和n=0;之后,则n值分别 为5,0,1.
❖ n++;在printf(n);和n=0;之间,则n值分别 为5,6,0.
计算机操作系统教程课件——进程管理
第3章 进程管理
3.1 引言 3.2 进程的引入和定义 3.3 进程的状态和进程控制块 3.4 进程控制 3.5 线程的基本概念 3.6 进程调度 3.7 进程通信 3.8 死锁问题
本章学习目标
在多道程序环境下,程序不能独立运行。作为资源分配和 独立运行的基本单位是进程。操作系统所有的特征都是基 于进程而体现的。所以,本章的主要问题是:
图3.8 环形缓冲池
下面给出基于环形缓冲区的生产者与消费者关系的 形式描述,设:
(1)公用信号量mutex:初值为1,用于实现临界区 互斥。
(2)生产者私用信号量empty:初值为n,指示空缓 冲块数目。
(3)消费者私用信号量full:初值为0,指示满缓冲 块数目。
(4)整型量i和j初值均为0,i指示首空缓冲块序号, j指示首满缓冲块序号。 ❖模块 设计如下:
3.3.2 进程控制块
为了刻画进程的动态变化,通常把进程表示为由 程序段、私有数据块和进程控制块组成,如图3.4 (a)所示。程序部分描述进程本身所要完成的 功能,而“私有数据块”是接受程序规定操作的 一组存储单元的内容,是操作的对象。进程控制 块是在进程创建时产生的,当进程存在于系统时 (运行),进程控制块就标识了这个进程。如图 3.4(b)所示。
3.2.2 进程的定义
进程与程序的区别和相互关系 : (1)动态性和静态性。 (2)从结构上看每个进程的实体都是由程序段和相应的数据 段两部分构成的,这一特征与程序的含义相近。 (3)一个进程可以涉及到一个或几个程序的执行;反之一程 序可以对应多个进程,即同一程序段可在不同数据集合上运行, 可构成不同的进程 。 (4)并发性。 (5)进程具有创建其他进程的功能。 (6)操作系统中的每一个程序都是在一个进程现场中运行的。
3.1 引言 3.2 进程的引入和定义 3.3 进程的状态和进程控制块 3.4 进程控制 3.5 线程的基本概念 3.6 进程调度 3.7 进程通信 3.8 死锁问题
本章学习目标
在多道程序环境下,程序不能独立运行。作为资源分配和 独立运行的基本单位是进程。操作系统所有的特征都是基 于进程而体现的。所以,本章的主要问题是:
图3.8 环形缓冲池
下面给出基于环形缓冲区的生产者与消费者关系的 形式描述,设:
(1)公用信号量mutex:初值为1,用于实现临界区 互斥。
(2)生产者私用信号量empty:初值为n,指示空缓 冲块数目。
(3)消费者私用信号量full:初值为0,指示满缓冲 块数目。
(4)整型量i和j初值均为0,i指示首空缓冲块序号, j指示首满缓冲块序号。 ❖模块 设计如下:
3.3.2 进程控制块
为了刻画进程的动态变化,通常把进程表示为由 程序段、私有数据块和进程控制块组成,如图3.4 (a)所示。程序部分描述进程本身所要完成的 功能,而“私有数据块”是接受程序规定操作的 一组存储单元的内容,是操作的对象。进程控制 块是在进程创建时产生的,当进程存在于系统时 (运行),进程控制块就标识了这个进程。如图 3.4(b)所示。
3.2.2 进程的定义
进程与程序的区别和相互关系 : (1)动态性和静态性。 (2)从结构上看每个进程的实体都是由程序段和相应的数据 段两部分构成的,这一特征与程序的含义相近。 (3)一个进程可以涉及到一个或几个程序的执行;反之一程 序可以对应多个进程,即同一程序段可在不同数据集合上运行, 可构成不同的进程 。 (4)并发性。 (5)进程具有创建其他进程的功能。 (6)操作系统中的每一个程序都是在一个进程现场中运行的。
操作系统课件 第2章-进程管理
或称进程上下文(context)
PCB中的主要信息
(3)进程调度信息 进程的状态 优先级 使进程阻塞的条件 占用CPU 、等待CPU的时间(用于动态调整优先级)
(4)进程占用资源的信息 进程间同步和通信机制,如信号量、消息队列指针 打开文件的信息,如文件描述符表
进程的描述
4. PCB的组织方式 一般来说,系统把所有PCB组织在一起,并把它们放在内存的固定区域, 构成PCB表。 PCB表的大小决定了系统中最多可同时存在的进程个数。
级阻塞挂起(系统认为会很快出现所等待的事件)进程从外存转到内存
七状态进程模型
激活
挂起 事件 发生
激活
挂起
挂起 调度
超时
事件 发生
等待 事件
释放
2.1 进程(Process)
四、进程的描述
进程控制块(Process Control Block, PCB) 1. PCB是什么? 是OS管理和控制进程的数据结构。 PCB记录着进程的描述信息。 每个进程对应1个PCB。
进程的描述
2. PCB的作用 PCB是进程的一部分
进程由3部分组成:程序、数据、PCB。 PCB伴随着进程的整个生命周期。
进程创建时,由OS创建PCB; 进程终止时,由OS撤销PCB; 进程运行时,以PCB作为调度依据。
进程的描述
3. PCB中的主要信息 (1)进程本身的标识信息
进程标识符pid(process ID):整数,由OS分配,唯一 用户标识符uid(user ID):创建该进程的用户 对应程序的地址:内存、外存 (2)CPU现场 - 为进程正确切换所需 所有寄存器的值
现而进入就绪挂起时,系统可能会把运行进程转到就绪挂起状态
七状态进程模型
PCB中的主要信息
(3)进程调度信息 进程的状态 优先级 使进程阻塞的条件 占用CPU 、等待CPU的时间(用于动态调整优先级)
(4)进程占用资源的信息 进程间同步和通信机制,如信号量、消息队列指针 打开文件的信息,如文件描述符表
进程的描述
4. PCB的组织方式 一般来说,系统把所有PCB组织在一起,并把它们放在内存的固定区域, 构成PCB表。 PCB表的大小决定了系统中最多可同时存在的进程个数。
级阻塞挂起(系统认为会很快出现所等待的事件)进程从外存转到内存
七状态进程模型
激活
挂起 事件 发生
激活
挂起
挂起 调度
超时
事件 发生
等待 事件
释放
2.1 进程(Process)
四、进程的描述
进程控制块(Process Control Block, PCB) 1. PCB是什么? 是OS管理和控制进程的数据结构。 PCB记录着进程的描述信息。 每个进程对应1个PCB。
进程的描述
2. PCB的作用 PCB是进程的一部分
进程由3部分组成:程序、数据、PCB。 PCB伴随着进程的整个生命周期。
进程创建时,由OS创建PCB; 进程终止时,由OS撤销PCB; 进程运行时,以PCB作为调度依据。
进程的描述
3. PCB中的主要信息 (1)进程本身的标识信息
进程标识符pid(process ID):整数,由OS分配,唯一 用户标识符uid(user ID):创建该进程的用户 对应程序的地址:内存、外存 (2)CPU现场 - 为进程正确切换所需 所有寄存器的值
现而进入就绪挂起时,系统可能会把运行进程转到就绪挂起状态
七状态进程模型
计算机操作系统课件第2章 进程管理
进程与程序
在并发环境下,一个正在执行中的程序 称为进程。 内存中的进程(动态)比外存上的程序 (静态)要多很多内容(栈,动态数据, 状态信息等)。 一个进程可对应多个程序(代码覆盖) 一个程序可对应多个进程(例如开两个 WORD窗口)
进程与程序的比较
进程是动态的;程序是静态的 进程具有并发性;程序本身具有顺序 性,程序的并发执行是通过进程实现 的 进程具有独立性,是能独立运行的单 位 程序可作为一种软件资源而长期保存; 进程是程序的一次执行,是动态的, 具有临时有限的生命期 进程具有结构性,从结构上看,进程 是由程序、数据和进程控制块三部分 组成的
同步机制应遵循的机制
空闲让进 忙则等待 有限等待 让权等待
用软件方法解决进程互斥问题
利用软件方法来解决进程互斥问题,可以 在很大程度上体现进程互斥问题的复杂度,现 在已经很少使用软件方法来解决进程互斥了。
算法一
设置一个公用整型变量turn,用于指示被允许进入 临界区的进程编号。 repeat while turn≠i do no_op; critical section turn=j; remainder section until false; 算法1不能保证实现“空闲让进”的准则。
内容提要
进程的概念 进程的状态及其转换 进程控制 进程的同步和互斥 临界资源和临界区 进程同步机制 管程机制 线程
程序的顺序执行
在任何时刻,机器只执行一个操 作,只有在前一个操作执行完后,才 能执行后继操作。如下图:
I1 C1 P1 I2 C2 P2
程序顺序执行的特点
顺序性 封闭性 可再现性
程序的并发执行
图形窗口界面:一个窗口就是一个进程。 打开窗口:建立一个进程;关闭窗口: 一个进程结束。 字符命令界面:一条命令一般就是一个 进程。命令行尾回车:一个进程开始; 命令执行结束(下一命令提示符出现): 一个进程结束。
操作系统 进程管理PPT课件
第三章 进程的描述与控制
17
PCB的内容
进程描述信息:
进程标识符(process ID),唯一,通常是一个整数 进程名,通常基于可执行文件名(不唯一) 用户标识符(user ID);进程组关系
进程控制信息:
当前状态 优先级(priority) 代码执行入口地址 程序的外存地址 运行统计信息(执行时间、页面调度) 进程间同步和通信;阻塞原因
一个具有一定功能的程序关于某个数据集合 的一次运行活动。
进程是一个程序与其数据一道通过处理机的 执行所发生的活动
第三章 进程的描述与控制
7
进程同程序的比较
程序是指令的有序集合,其本身没有任何运行的含 义,是一个静态的概念。而进程是程序在处理机上 的一次执行过程,它是一个动态的概念。
程序可以作为一种软件资料长期存在,而进程是有 一定生命期的。程序是永久的,进程是暂时的。
间断性 失去程序的封闭性 不可再现性
第三章 进程的描述与控制
6
2.1.2 进程的定义
进程的概念是60年代初首先由麻省理工学 院的MULTICS系统和IBM公司的CTSS/360 系统引入的。进程有很多各式各样的定义, 如:
行为的一个规则叫做程序,程序在处理机上 执行时所发生的活动称为进程(Dijkstra)
第三章 进程的描述与控制
16
2.1.5 进程控制块(Process Control Block)
为了描述一个进程和其它进程以及系统资源 的关系,为了刻画一个进程在各个不同时期 所处的状态,人们采用了一个与进程相联系 的数据块,称为进程控制块(PCB)。
系统利用PCB来控制和管理进程,所以PCB 是系统感知进程存在的唯一标志 进程与PCB是一一对应的
操作系统课件进程及进程管理
应多个“计算”,程序与“计算”已不再一一对应
3.1 进程的引入
3-1-4 多道程序设计
➢ 定义 在采用多道程序设计的计算机系统中,允许多个程序同时进
入一个计算机系统的主存储器并运行,这种让多个程序同时进 入计算机计算的方法称为多道程序设计。 ➢ 目的
提高处理器的效率,从而提高整个系统的效率 ➢ 必须解决的问题
中断处理、进程管理、资源管理中的基本操作 ➢ 原子操作
所谓原子操作是指:一个操作中的所有动作,要么全做,要么全不做。 换言之,原子操作是一个不可分割的操作
3.2 进程
▪ 进程的创建
➢ 进程图 -进程图是用于描述进程家族关系的有向树 -子进程可以继承父进程所拥有的资源,当子进程撤销时,应将从父进程
那里获得的资源归还给父进程;在撤销父进程时,也必须同时撤销其所有的 子进程 ➢ 引起创建进程的事件
再按新进程的PCB中的处理机状态设置CPU环境 ➢ 进程唤醒过程
调用唤醒原语wakeup( )将等待该事件的进程唤醒 -把被阻塞进程从等待该事件的阻塞队列中移出 -将其PCB中的现行状态由“阻塞”改为“就绪” -然后再将该进程插入到就绪队列中
3.2 进程
▪ 进程的挂起与激活
➢ 进程的挂起过程 当出现了引起进程挂起的事件时,系统就利用挂起原语suspend( )将指
态,亦即进程的执行受到阻塞,故称这种状态为阻塞状态,有时也称为“等 待”状态或“睡眠”状态。 ▪ 进程状态的转换
- 就绪→执行状态 处于就绪状态的进程,当进程调度为之分配了处理机后 - 执行→阻塞状态 正在执行的进程因发生某种事件而 无法执行 - 执行→就绪状态 正在执行的进程如因时间片用完或 一个优先权高的进程到来而被暂停执行 - 阻塞→就绪状态 处于阻塞状态的进程,其等待的事件已经发生
3.1 进程的引入
3-1-4 多道程序设计
➢ 定义 在采用多道程序设计的计算机系统中,允许多个程序同时进
入一个计算机系统的主存储器并运行,这种让多个程序同时进 入计算机计算的方法称为多道程序设计。 ➢ 目的
提高处理器的效率,从而提高整个系统的效率 ➢ 必须解决的问题
中断处理、进程管理、资源管理中的基本操作 ➢ 原子操作
所谓原子操作是指:一个操作中的所有动作,要么全做,要么全不做。 换言之,原子操作是一个不可分割的操作
3.2 进程
▪ 进程的创建
➢ 进程图 -进程图是用于描述进程家族关系的有向树 -子进程可以继承父进程所拥有的资源,当子进程撤销时,应将从父进程
那里获得的资源归还给父进程;在撤销父进程时,也必须同时撤销其所有的 子进程 ➢ 引起创建进程的事件
再按新进程的PCB中的处理机状态设置CPU环境 ➢ 进程唤醒过程
调用唤醒原语wakeup( )将等待该事件的进程唤醒 -把被阻塞进程从等待该事件的阻塞队列中移出 -将其PCB中的现行状态由“阻塞”改为“就绪” -然后再将该进程插入到就绪队列中
3.2 进程
▪ 进程的挂起与激活
➢ 进程的挂起过程 当出现了引起进程挂起的事件时,系统就利用挂起原语suspend( )将指
态,亦即进程的执行受到阻塞,故称这种状态为阻塞状态,有时也称为“等 待”状态或“睡眠”状态。 ▪ 进程状态的转换
- 就绪→执行状态 处于就绪状态的进程,当进程调度为之分配了处理机后 - 执行→阻塞状态 正在执行的进程因发生某种事件而 无法执行 - 执行→就绪状态 正在执行的进程如因时间片用完或 一个优先权高的进程到来而被暂停执行 - 阻塞→就绪状态 处于阻塞状态的进程,其等待的事件已经发生
操作系统原理课件-第三讲进程管理
进程包括程序段、数据段和一个称为进程控制块(PCB)的数据结构
❖操作系统
进程控制块 (PCB, process control block)
进程控制块是由OS维护的用来记录进程相关信息的一块内存。 它是进程实体的一部分,是OS感知进程存在的唯一依据,是操作 系统中最重要的记录型数据结构。
创建一进程时,应首先创建其PCB,然后才能根据PCB中信息 对进程实施有效的管理和控制,当一个进程完成其功能之后,系 统则释放PCB,进程也随之消亡。
程序计数器
• CPU registers
CPU寄存器
• CPU scheduling information CPU调度信息
• Memory-management information 内存管理信息
• Accounting information
计账信息
• I/O status information
37 5008
38 5009 39 5010
A
40 5011
----------------------超时
41 100
42 101
43 102
44 103
45 104
46 105
47 12006
48 12007
49 12008 50 12009 C
51 12010
52 12011
-----------------------超时
进程A 进程B 进程C 分派程序
0 5 10 15 20 25 30 35 40 45 50
❖操作系统
(2)进程状态的转换
新进程 接纳
中断或
完成
时间片用完
结束
就绪
执行
❖操作系统
进程控制块 (PCB, process control block)
进程控制块是由OS维护的用来记录进程相关信息的一块内存。 它是进程实体的一部分,是OS感知进程存在的唯一依据,是操作 系统中最重要的记录型数据结构。
创建一进程时,应首先创建其PCB,然后才能根据PCB中信息 对进程实施有效的管理和控制,当一个进程完成其功能之后,系 统则释放PCB,进程也随之消亡。
程序计数器
• CPU registers
CPU寄存器
• CPU scheduling information CPU调度信息
• Memory-management information 内存管理信息
• Accounting information
计账信息
• I/O status information
37 5008
38 5009 39 5010
A
40 5011
----------------------超时
41 100
42 101
43 102
44 103
45 104
46 105
47 12006
48 12007
49 12008 50 12009 C
51 12010
52 12011
-----------------------超时
进程A 进程B 进程C 分派程序
0 5 10 15 20 25 30 35 40 45 50
❖操作系统
(2)进程状态的转换
新进程 接纳
中断或
完成
时间片用完
结束
就绪
执行
操作系统课件-进程管理
思考?
1.如果系统中有N个进程,运行的进程最多几个,最 少几个;就绪进程最多几个最少几个;等待进程
最多几个,最少几个? 2. 有没有这样的状态转换,为什么?
等待—运行; 就绪—等待
第二章 进 程 管 理
2.1.5 进程控制块
为了描述一个进程和其它进程以及系统资源的关系,为了 刻画一个进程在各个不同时期所处的状态,人们采用了一 个与进程相联系的数据块,称为进程控制块(PCB)。 系统利用PCB来控制和管理进程,所以PCB是系统感知进 程存在的唯一标志 进程与PCB是一一对应的 1. 进程控制块的作用 进程控制块的作用是使一个在多道程序环境下不能 独立运行的程序(含数据),成为一个能独立运行的基本单 位,一个能与其它进程并发执行的进程。或者说,OS是
S3
(b ) 具有循环的前趋图
图 2-2 前趋图
第二章 进 程 管 理
对于图 2-2(a)所示的前趋图, 存在下述前趋关系: 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}
第二章 进 程 管 理
I1
C1
P1
I2
C2
P2
S1
S2
S3
(a ) 程序的顺序执行
(b ) 三条语句的顺序执行
图 2-1 程序的顺序执行
第二章 进 程 管 理
2. 程序顺序执行时的特征
(1) 顺序性:
(2) 封闭性: (3) 可再现性:
第二章 进 程 管 理
2.1.2 前趋图
前趋图 (Precedence Graph) 是一个有向无循环图,记为 DAG(Directed Acyclic Graph),用于描述进程之间执行的前后 关系。图中的每个结点可用于描述一个程序段或进程,乃至 一条语句;结点间的有向边则用于表示两个结点之间存在的 偏序(Partial Order)或前趋关系(Precedence Relation)“→”。 →={(Pi, Pj)|Pi must complete before Pj may start}, 如果(Pi, Pj)∈→, 可写成 Pi→Pj ,称 Pi 是 Pj 的直接前趋,而称 Pj 是 Pi 的直 接后继。在前趋图中,把没有前趋的结点称为初始结点
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
09:38
30
协同工作的进程之间存在同步关系,但是进程之间的更 一般关系却是互斥(!!!),同时互斥又可以理解为 是一种特殊的同步(???)。 同步与互斥的解决方法 软硬件方法:
软件:单双标志、双标志改进、Peterson’s Algorithm 硬件:关中断、TS和swap指令
信号量机制:重点介绍 管程机制:基于面向对象的方法,将共享变量以及对于共享
09:38
24
3 进程控制原语
创建进程、撤消进程、实现进程状态变迁都是操系统 的底层功能之一,称为进程控制。 进程控制程序通常做成原语,属于操作系统的内核。 内核:kernel,是OS的常驻部分,是对硬件的首次扩 充,它由原语、中断处理和设备驱动程序所组成。 原语:primitive,是一种特殊的系统调用命令,是 由若干条指令构成的用以完成特定功能的一段程序, 是机器指令的延伸,特点是原子性。 Create and Terminate,创建与终止; Process Switch,进程切换; Block and Wakeup,阻塞与唤醒; Suspend and Activate,挂起与激活
09:38
16
进程的分类 系统进程:系统进程起着资源管理和控制的作用。或 者:执行操作系统核心代码的进程。 用户进程:执行用户程序的进程。 (系统进程优先于用户进程)
系统进程被分配一个初始的资源集合,为它独占,也以最高优 先权的资格使用。用户进程通过系统服务请求的手段竞争使用 系统资源; 用户进程不能直接做I/O操作,而系统进程可以做显示的、直接 的I/O操作。 系统进程在管态下活动,而用户进程则在用户态(目态)下活 动。
09:38
23
进程状态转换-七状态模型转换 由于某种原因,导致一些进程被对换至外存,成为挂 起状态。 阻塞挂起状态(Blocked suspend):进程在外存 并等待某事件的出现; 就绪挂起状态(Ready suspend):进程在外存, 但只要进入内存,即可运行; 就绪状态(Ready):进程在内存且可立即进入运行 态; 阻塞状态(Blocked):进程在内存等待某事件出现
09:38 19
进程状态转换-三状态模型转换 在进程运行过程中,由于进程自身进展情况及外界环 境的变化,三种基本状态可以依据一定的条件相互转换 (四种转换)。 就绪-->运行:调度程序选择一个 新的进程运行 运行-->就绪:运行进程时间片用 完或因一高优先级进程就绪 运行-->等待:I/O事件发生(典 型情况),初始化I/O 且必须等待 结果 等待-->就绪:I/O事件发生完成。
09:38
3
从硬件方面看:处理机、外设、存储部件并行工作; 从程序方面看:则可能有若干个作业程序或者同时、 或者互相穿插在系统中并行运行。
这时,机器不再顺序执行某程 序。即,某程序的前一动作结 束后,系统不一定立即执行其 后续操作,而可能转而执行其 它程序的某一操作。 如右图,系统中有n个作业,每 个作业都有三个处理步骤,输 入数据、处理、输出,即Ii,Ci,Pi (i=1,2,3,...,n)。
......
PCBn 15
09:38
15
进程的特征 并发性: 动态性:生命周期 独立性:独立调度 异步性: 结构性
类比1 电影拷贝可以长期保存,而一次放映活动1~2小时。 类比2
程序与进程的区别 进程是动态的,程序是静态的; 进程是暂时的,程序的永久的; 进程与程序的组成不同; 通过多次执行,一个程序可对应 多个进程;通过调用关系,一个进 程可包括多个程序。
09:38
27
4 进程同步
生活中的 同步问题 产生的原 因在于甲 乙未能协 同执行。
09:38
28
在多道环境中,多个进程可以并发执行,同时又要共享 系统资源,这些资源有些是可共享使用的,有些是以独 占方式使用的。由此将会引起一系列的矛盾,产生错综 复杂的相互制约的关系。
09:38
29
并发-》进程间产生复杂的制约关系 原因: 资源共享 进程合作 协同工作的进程之间存在如下关系 同步:synchronism,直接作用,指合作进程在执行 时序上的一种相互制约关系 互斥:mutual exclusion,间接作用,同一时刻不 允许多个进程访问同一资源的现象,称为进程的互 斥。
引入并发提高了系统效率!!!!
09:38
7
但是程序的并发执行会导致: 间断(异步)性:“走走停停” 失去封闭性:共享资源,受其他程序的控制逻辑的影 响。 失去可再现性:失去封闭性 ->失去可再现性;
09:38
8
程序的并发执行可能导致问题
例1:设有一台标准输入设备(键盘),和一台标准输 出设备(显示器或打印机),输入程序负责从标准设备 中读取一个字符,送缓冲区中。输出程序从缓冲区中取 数据,送标准设备输出。
09:38
9
例2:订票系统,两个终端,运行T1、T2进程 T1 : ... T2: ...
Read(x);
if x>=1 then x:=x-1; write(x); ...
Read(x);
if x>=1 then x:=x-1; write(x); ...
09:38
10
2 进程基本概念
多道系统中的程序并发运行的新特点,程序本身是无法 描述的,为此,当一个程序在并发系统中执行时,需引 进一个新的数据结构来记录和描述这些特征。 这样,新引进的数据结构与它所描述的程序便形成了一 个有机体-进程(Process)。 MIT于60年代初期提出进程模型 进程是具有独立功能的程序在某个 数据集合上的一次运行活动,是系 统进行资源分配和调度的独立单位。
09:38 17
进程的状态及其转换 不同系统设置的进程状态数目不同 三状态模型:(基本状态) 进程在生命消亡前总是处于 且仅处于三种基本状态之一(就绪、运行、阻塞)。 当然,除某些比较特殊的进程以外,大多数进程有其 发生、发展和消亡的过程,不会无休止地在上述三种 状态中循环。 五状态模型:引入创建、终止状态 七状态模型: 系统出于某种原因(调节负载,对换, 父进程,操作系统,终端用户)引入挂起状态。
09:38 12
注意: 进程与PCB是一一对应的 是每个进程在系统中的登记表项(有总数限制),OS 据此对进程进行控制和管理(PCB内容会动态改变); 处于核心段,通常不能由应用程序自身的代码来直接 访问,而要通过系统调用,或通过UNIX中的进程文件系 统(/proc)直接访问进程映象(image) 。
09:38 20
示例: 设内存中3个进程A、B、C,他们的程序代码已全部装入 内存。若A、C两进程需要执行12条指令,B进程需要执行 10条指令,且B进程执行到第4条指令处必须等待I/O,假 设系统设定每6条指令时间为某进程提供的服务时间。
09:38
21
09:38
22
进程状态转换-五状态模型转换 引入了创建状态与终止状态。 创建(新new)状态:通常是进程控制块已经创建但还没 有加载到内存中的新进程。 终止(退出exit)状态:进程已结束运行,回收除PCB之外 的其他资源,并让其他进程从PCB中收集有关
09:38 5
并发执行模式下的系统工作效率 系统总运行时间:45 CPU使用效率:40 / 45 = 89% DEV1使用效率:15 / 45 = 33% DEV2使用效率:25 / 45 = 55.6%
09:38 6
两种执行模式下的系统工作效率变化: 系统总运行时间:80 -》45 CPU使用效率:50% -》89% DEV1使用效率:18.75% -》33% DEV2使用效率:31.25% -》55.6%
09:38 25
进程的创建:系统为一个程序分配 一个工作区(存放程序处理的数 据),并通过创建原语为该程序建 立一个PCB后,进程创建完成。 创建原语完成以下工作: 建立一个PCB(申请空PCB); 为进程分配内存等必要资源( 进程的工作区,存放程序处理 的数据集); 填写PCB中各项目,如,初始状 态为“就绪态”; PCB插入进程就绪队列。
09:38
13
PCB的内容: 进程描述信息:包括进程标识符(Process ID,唯一, 通常是一个整数)、PPID(Parent PID)和用户标识符 (user ID)等。 进程控制信息:进程当前状态、优先级、代码执行入 口地址、程序外存地址、运行统计信息(执行时间、调 度情况等)、同步和通信等; 资源占用信息:虚拟地址空间的现状、打开文件列表 CPU现场保护结构:寄存器值(通用、程序计数器PC、 状态PSW,地址包括栈指针)
09:38 4
问题:为什么要引入并发? 引入并发提高了系统效率
顺序执行模式下的系统工作效率 系统总运行时间:80 CPU效率:CPU占用时间/总时间 = (10+5+10+10+5)40/80 = 50% DEV1使用效率:15 / 80 = 18.75% DEV2使用效率:25 / 80 = 31.25%
第2章 进程管理
Part1 进程基本知识 Part2 Linux进程管理
09:38
1
Part 1 进程基本知识
1 为什么引入进程 2 进程基本概念 3 进程控制原语 4 进程同步 5 进程通信 6 进程调度 7 死锁 8 线程简介
09:38
2
1 进程引入
早期的计算机系统采用批处理管理模式,进入计算 机系统工作的程序只有一个,因此程序是顺序执行的 。 顺序执行程序具有顺序性、封闭性和可再现性 为了提高计算机系统内各种资源的使用效率,现代 计算机系统设计中普遍采用了多道程序技术,程序在 系统中是并发执行的。
09:38
18
三状态模型:(基本状态)进程在生命消亡前总是处于且 仅处于三种基本状态之一。 运行态(Running):当进程由调度/分派程序 (Dispatcher)分派后,进程占有CPU,并在CPU上运行。 (注:在单CPU系统中,总只有一个进程处于此状态) 就绪态(Ready):一个进程已经具备运行条件, 但由于无CPU暂时不能运行的状态(当调度给其CPU时, 立即可以运行) 等待态(Blocked):阻塞态、挂起态、封锁态、冻 结态、睡眠态,指进程因等待某种事件的发生而暂时不 能运行的状态(意:即使CPU空闲,进程也不可运行)