2.1进程管理
第二讲 进程管理(1)--进程控制

N=account;
N=N+200; account=N;
建立一个能够描述程序的执行过程并且能用来共享资 源的基本单位。
2.1.5 进程的定义和特征
一、进程(Process) 进程是程序在一个数据集上的运行过程,是系统 进行资源分配和调度的一个独立单位。
其它定义:
进程是程序的一次执行。 进程是一个程序及其数据在处理机上顺序执行时所 发生的活动。 进程是进程实体的运行过程,是系统进行资源分配 和调度的一个独立单位”。
2.2 进程的描述
系统中需要有描述进程存在和能够反映其变化的物理实体,即进程的静态 描述。进程的静态描述由三部分组成:进程控制块PCB,有关程序段和该 程序段对其进行操作的数据结构集。
进程控制块PCB包含了有关进程的描述信息、控制信息以及资源信息,是 进程动态特征的集中反映。 系统根据PCB感知进程的存在和通过PCB中所包含的各项变量的变化,掌 握进程所处的状态以达到控制进程活动的目的。
21
2.2.1 进程控制块
4)进程控制信息:
程序和数据的地址——指程序和数据所在的内存或外存首地址; 进程同步和通信机制——如信号量、消息队列指针等,它们可能全 部或部分地存放在PCB中; 资源清单——是一张列出了除CPU外的、进程所需的全部资源及已 经分配到该进程的资源的清单; 链接指针——它给出本进程(PCB)所在队列中下一个进程的PCB的 首址。
27
2.3.1 进程的基本状态
进程的挂起/解挂状态
一、设臵原因
1、用户需要 :中间结果与预期不符; 2、操作系统需要:系统某些功能故障; 3、系统负荷过重 4、父进程需要 5、对换的需要
二、设臵挂起状态后进程状态的转换
操作系统lab2实验报告

操作系统lab2实验报告实验目的:本实验的目的是通过设计和实现一个简单的操作系统内核,加深对操作系统基本概念和原理的理解。
具体实验内容包括进程管理、内存管理和文件系统的设计与实现。
实验环境:1.操作系统:Linux2.编程语言:C语言一、实验背景1.1 操作系统简介操作系统是计算机系统中的一个重要组成部分,负责管理和控制计算机的各种资源,提供用户和应用程序的接口,以及协调和调度各种任务的执行。
1.2 实验目标本实验的主要目标是设计和实现一个简单的操作系统内核,包括进程管理、内存管理和文件系统等功能。
二、实验内容2.1 进程管理①进程创建描述进程创建的过程和相关数据结构,包括创建新进程的系统调用、进程控制块等。
②进程调度描述进程调度的算法和实现方式,包括进程调度队列、调度算法等。
③进程同步与通信描述进程同步和通信的机制和方法,包括信号量、互斥锁、条件变量等。
2.2 内存管理①内存分配描述内存分配的算法和实现方式,包括连续内存分配、非连续内存分配等。
②页面置换描述页面置换的算法和实现方式,包括最优页面置换算法、先进先出页面置换算法等。
2.3 文件系统①文件操作描述文件操作的系统调用和相关数据结构,包括文件打开、读写、关闭等。
②文件系统结构描述文件系统的组织结构和实现方式,包括超级块、索引节点、块位图等。
三、实验步骤3.1 环境搭建搭建实验环境,包括安装Linux操作系统、编译器等。
3.2 进程管理实现根据设计要求,实现进程创建、调度、同步与通信等功能。
3.3 内存管理实现根据设计要求,实现内存分配、页面置换等功能。
3.4 文件系统实现根据设计要求,实现文件操作和文件系统结构。
3.5 测试与调试编写测试用例,对实现的操作系统内核进行测试和调试,并记录实验结果。
四、实验结果分析分析测试结果,评估实验过程中遇到的问题和解决方法,总结操作系统内核的性能和功能特点。
五、实验总结对实验过程中的收获和经验进行总结,提出改进和优化的建议。
操作系统指导书

操作系统指导书一、引言操作系统是计算机系统中非常重要的组成部分,它负责管理计算机的硬件和软件资源,为用户提供一个友好且高效的使用环境。
本指导书将详细介绍操作系统的基本概念、功能以及常见的操作。
二、操作系统概述1. 定义:操作系统是一种系统软件,它管理计算机硬件和软件资源,协调各个程序的运行,提供用户与计算机之间的接口。
2. 功能:2.1 进程管理:操作系统负责分配CPU时间片给不同的进程,并控制它们的运行状态。
2.2 内存管理:操作系统维护内存空间的分配和回收,确保每个进程有足够的内存可用。
2.3 文件系统:操作系统负责管理计算机存储设备上的文件,提供对文件的读写和管理。
2.4 设备驱动程序:操作系统控制外部设备的输入和输出,使得应用程序能够通过操作系统与设备进行通信。
2.5 用户接口:操作系统提供给用户一个友好的界面,使其能够方便地与计算机进行交互。
三、操作系统的基本概念1. 进程和线程1.1 进程:进程是程序的一次执行过程,是计算机中资源分配和调度的基本单位。
1.2 线程:线程是进程的一个执行实例,一个进程可以包含多个线程,线程共享进程的内存和资源。
2. 内存管理2.1 内存分配:操作系统负责将进程请求的内存空间分配给其使用,避免进程之间的内存冲突。
2.2 内存回收:当进程终止或释放内存时,操作系统需要回收内存空间,使其可供其他进程使用。
2.3 虚拟内存:操作系统为每个进程提供一个虚拟内存空间,使得进程在逻辑上可以拥有比物理内存更大的地址空间。
3. 文件系统3.1 文件管理:操作系统通过文件系统来管理存储设备上的文件,包括创建、读取、写入、删除等操作。
3.2 目录结构:为了方便用户组织和管理文件,操作系统通常采用层次化的目录结构来存储文件。
4. 设备管理4.1 设备驱动程序:操作系统通过设备驱动程序控制各种外部设备的工作,如打印机、鼠标、键盘等。
4.2 中断处理:当外部设备需要和操作系统进行通信时,会触发中断,操作系统负责处理中断请求。
操作系统的五大管理功能和四大分类

操作系统的五大管理功能和四大分类操作系统是计算机系统中的重要组成部分,它是管理计算机硬件和软件资源的核心软件。
操作系统的功能主要包括进程管理、内存管理、文件管理、设备管理和用户界面。
本文将详细介绍操作系统的五大管理功能和四大分类。
一、进程管理进程是计算机中正在运行的程序的实例。
进程管理是操作系统对进程的创建、调度、同步和通信等进行控制和管理的功能。
它主要通过进程调度算法来合理安排进程的执行顺序,确保系统资源的合理分配和高效利用。
1.1 进程创建与撤销进程创建是指操作系统在一个程序运行时,为它分配必要的资源和建立进程控制块。
进程撤销则是指操作系统根据某些条件主动终止一个正在运行的进程。
1.2 进程切换与调度进程切换是指操作系统在多任务环境下,将CPU的执行权从一个进程转移到另一个进程的过程。
进程调度则是指操作系统根据一定的优先级和调度算法,决定将CPU分配给哪个进程来执行。
1.3 进程同步与通信进程同步是指操作系统通过各种机制来协调多个并发执行的进程,防止它们之间的冲突和竞争导致的问题。
进程通信则是指操作系统提供的一种机制,使得进程之间可以传递信息和共享资源。
二、内存管理内存是计算机中用于存储程序和数据的物理设备,内存管理是操作系统对内存空间的分配、回收和保护等进行管理的功能。
它主要通过内存分区、动态分配和页式存储等技术,来提高内存的利用率和访问效率。
2.1 内存分区与地址映射内存分区是将计算机的内存空间划分为若干个逻辑区域,以方便管理不同的程序和数据。
地址映射则是将程序的逻辑地址转换为实际的物理地址,以便于访问内存中的内容。
2.2 虚拟内存与页面置换虚拟内存是指操作系统利用磁盘空间来扩展实际的物理内存,以解决内存不足的问题。
页面置换则是指操作系统根据一定的置换算法,将不常用的内存页面换出到磁盘,以便为其他进程提供更多的内存空间。
三、文件管理文件是计算机中用于存储和组织数据的逻辑单元,文件管理是操作系统对文件的创建、读写、删除和保护等进行管理的功能。
操作系统-进程管理

操作系统-进程管理操作系统-进程管理1.简介进程管理是操作系统中的核心功能之一,负责管理计算机系统中的各个进程。
进程是指正在执行的程序实例,它包含了程序的代码、数据和执行状态等信息。
进程管理涉及创建、调度、同步、通信、终止等一系列操作,旨在协调和控制多个进程的执行。
2.进程的创建与终止2.1 进程创建进程的创建是指由操作系统创建新的进程。
主要步骤包括:①分配空间:为新进程分配内存空间。
②初始化:将新进程的状态设置为就绪态,并初始化进程控制块(PCB)。
③指定执行代码:将新进程指向要执行的代码。
④设置执行环境:为新进程设置执行所需的环境变量和资源参数。
2.2 进程终止进程终止是指进程执行完毕或被强制终止。
主要步骤包括:①保存状态:将进程的状态保存到进程控制块中。
②释放资源:释放进程所占用的系统资源。
③给予父进程处理机:将CPU控制权交还给父进程。
3.进程调度进程调度是指选择就绪态进程中的一个进程分配CPU资源。
调度算法的选择和实现会直接影响操作系统的性能和效率。
常见的调度算法有:3.1 先来先服务(FCFS):按照进程到达的先后顺序进行调度。
3.2 短作业优先(SJF):根据进程的执行时间进行调度,执行时间短的进程优先。
3.3 时间片轮转(RR):每个进程被分配一个时间片,在时间片用完后,切换到下一个进程。
3.4 优先级调度:根据进程的优先级进行调度,优先级高的进程先执行。
4.进程同步与通信4.1 进程同步为了保证多个进程之间的操作按照一定的顺序进行,需要进行进程同步。
常见的同步机制有:①互斥锁:只允许一个进程访问共享资源。
②信号量:用于进程之间的互斥与同步。
③条件变量:用于线程之间的等待与通知。
4.2 进程通信进程通信是指进程之间相互传递信息的过程。
常见的通信机制有:①管道:一种半双工的通信方式,可以在具有亲缘关系的进程之间进行通信。
②消息队列:进程可以通过读写消息队列来进行通信。
③共享内存:多个进程可以访问同一块共享内存区域,将其用作通信媒介。
计算机PV操作系统总结

计算机PV操作系统总结计算机PV操作系统总结一:概述1.1 引言在计算机系统中,操作系统是一种重要的软件组件,负责管理和协调计算机硬件与软件资源,提供用户和其他软件的接口,以实现计算机系统的正常运行和高效利用。
本文档总结了PV操作系统的基本原理、功能模块及其应用。
1.2 目的本文档旨在介绍PV操作系统的核心概念以及其在计算机系统中的作用,为开发人员和用户提供一个全面的参考。
二:PV操作系统的基本原理2.1 进程管理2.1.1 进程概念2.1.2 进程调度2.1.3 进程同步2.1.4 进程通信2.2 内存管理2.2.1 内存分配2.2.2 虚拟内存2.2.3 内存保护2.3 文件系统管理2.3.1 文件组织2.3.2 文件存储2.3.3 文件操作2.4 设备管理2.4.1 设备概念2.4.2 设备分配2.4.3 设备驱动三:PV操作系统的功能模块3.1 用户界面3.1.1 命令行界面3.1.2 图形用户界面3.2 系统调用接口3.2.1 系统调用类型3.2.2 系统调用的实现3.3 文件系统3.3.1 文件管理3.3.2 目录管理3.3.3 文件权限控制3.4 进程管理3.4.1 进程创建与撤销3.4.2 进程调度算法3.4.3 进程通信方式3.5 内存管理3.5.1 内存分配策略3.5.2 空间置换算法3.5.3 虚拟内存管理3.6 设备管理3.6.1 设备驱动程序3.6.2 设备分配策略3.6.3 设备中断处理四:PV操作系统的应用领域4.1 个人计算机4.2 服务器系统4.3 嵌入式系统4.4 移动设备附件:1. PV操作系统示例代码2. PV操作系统用户手册法律名词及注释:1. 版权:法律规定的对原创作品的独占权利。
2. 许可证:一种法律许可文件,允许使用者在符合某些条款和条件的情况下使用特定的软件或作品。
3. 用户协议:一种法律文件,规定了软件或服务的使用条款和条件,用户使用软件或服务前需要同意并接受这些条款和条件。
计算机操作系统原理 第二章 进程描述与控制
13
两个并发程序方案
设有一台标准输入设备(键盘),和一台标准 输出设备(显示器或打印机),输入程序负责 从标准设备中读取一个字符,送缓冲区中。输 出程序从缓冲区中取数据,送标准设备输出。
14
两个并发程序方案
f
标准输入 (键盘)
输入程序 缓冲区 输出程序
g
标准输出 (打印机)
15
两个并发程序方案
6
前趋图
前趋图(Precedence Graph)是一个有向无循环图,记 为DAG(Directed Acyclic Graph),用于描述进程之间执行 的前后关系。 结点:一个程序段或进程,乃至一条语句
有向边:偏序或前趋关系
把没有前趋的结点称为初始结点(Initial Node) 没有后继的结点称为终止结点(Final Node) 每个结点还具有一个重量(Weight),用于表示该结点 所含有的程序量或结点的执行时间。
38
进程状态模型
进程状态转换
原状态 创建 OS根据作业控制请求; 分时系统用户登录; 进程产生子进程而创 建进程 转换后状态 运行 × 就绪 × 阻塞 × 终止 ×
创建
×
×
OS准备运 行新的进 程
×
×
(转下表)
39
进程状态模型
原状态 创建 运行 × 运行 × 转换后状态 就绪 超时;OS服务 请求;OS响应 具有更高优先 级的进程;进 程释放控制 阻塞 OS服务 请求; 资源请 求;事 件请求 终止 进程完 成,进 程夭折
2.5 进程同步 2.6 经典进程的同步问题 2.7 管程机制 2.8 进程通信
3
2.1 进程描述
2.1.1 程序的顺序执行 2.1.2 程序的并发执行 2.1.3 进程的定义
深入linu内核x进程管理和调度
第2 章进程管理和调度2.1 进程优先级1、硬实时进程有严格的时间限制——系统必须保证不会超过某一时间范围。
2、软实时进程是硬实时进程的一种软化形式。
3、多数进程是没有特定时间约束的普通进程,可以根据重要性来分配优先级。
2.2 进程的生命期1、僵尸状态:资源已经释放,但是PCB表里还有对应的表项。
2、抢占式多任务处理(1)从用户状态切换到核心态有两种方式:系统调用、中断。
(2)判断如下进程可以被抢断:⏹普通进程总是可能被抢占,甚至有由其他进程抢占。
⏹系统处于核心态并正在处理系统调用,那么系统中的其他进程是无法夺取其CPU时间的。
⏹中断可以暂停处于用户状态和核心态的进程。
2.3 进程表示1、state指定进程的当前状态,可用以下值:⏹TASK_RUNNING——进程处于可运行。
⏹TASK_INTERRUPTIBLE——等待某事件或资源而睡眠的进程。
⏹TASK_STOPPED——进程停止运行。
..............2、Linux提供资源限制机制,该机制利用了task_struct中的rlim数组。
其中包括软限制(当前的资源限制),硬限制(该限制的最大容许值)。
2.3.1 进程类型典型的UNIX的进程包括:由二进制代码组成的应用程序、单线程、分配给应用程序的一组资源。
新进程是使用fork和exec系统调用产生的。
2.3.2 命名空间1、概念⏹只使用一个内核在一台物理计算机上运行,所有的全局资源都通过命名空间抽象起来。
这使得一组进程放置到容器中,各个容器彼此分离。
⏹新的命名空间可以用下面两种方法创建:(1)在用fork或clone系统调用创建新进程时,有特定的选项可以控制是与父进程共享命名空间,还是建立新的命名空间。
(2)unshare系统调用将进程的某些部分从父进程分离,其中也包括命名空间。
2、实现⏹命名空间的实现包括两个方面:每个子系统的命名空间结构,将此前所有的全局组件包装到命名空间中;⏹将给定进程关联到所属各个命名空间的机制。
操作系统原理第二章进程管理
2.1 前趋图和程序执行
例:有7个结点的前趋图。
P = { P1,P2,P3,P4,P5,P6,P7 } → = {(P1,P2),(P1,P3),(P1,P4), (P2,P5),
(P3,P5),(P4,P6),(P5,P7),(P6,P7)}
2
1 3
4
5
7 6
2.1 前趋图和程序执行
➢ 程序的顺序执行
打印三项操作。其程序段并发执行的前趋图:
I1 → I2 → I3 → I4 →
↘↘↘↘
C1 → C2 → C3 → C4 →
↘↘↘↘
P1 → P2 → P3 → P4 →
2.1 前趋图和程序执行
例2.Begin integer N:=0;
Cobegin
Program A : begin
Program B : begin
void popaddr (top) { top --; r=*top; return (r) }
void pushaddr(blk) { *top = blk; top++;
}
先执行 popaddr 的top--,接着执行pushaddr的*top=blk
2.1 前趋图和程序执行
➢ 程序并发执行过程及条件 (Bernstein条件)
果必相同。
2.1 前趋图和程序执行
➢ 程序的并发执行
➢ 程序执行环境
➢ 独立性,逻辑上是独立的。 ➢ 随机性:输入和执行开始时间都是随机的。 ➢ 资源共享:资源共享导致对进程执行速度
的制约。
2.1 前趋图和程序执行
➢ 程序的并发执行
并发执行是指两个程序执行时间上是重叠 的。凡是能由一组并发程序完成的任务,都 能由相应的单个程序完成。 例1:有一批程序,而每个程序需输入,计算,
《计算机操作系统》第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)空→新建:创建一个程序的新进程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
42
进程创建过程
• • • • 创建一个PCB 赋予一个统一进程标识符 为进程映象分配空间 初始化进程控制块
–许多默认值 (如: 状态为 New,无 I/O设备或文件...)
• 设置相应的链接
–如: 把新进程加到就绪队列的链表中
43
创建原语的实现过程
44
2) 进程的撤消原语
• 功能:撤消一个指定的进程 • 入口信息:被撤消的进程名 • 实现:收回进程所占有的资源, 撤消该进程的PCB
16
运行 1 2 4 3 等待
就绪
图2-4 进程的状态及其转换
17
进程状态(续)
•。
18
2)进程状态转换条件
在进程运行过程中,由于自身进展情况 及外界环境的变化,这三种基本状态可以依 据一定的条件相互转换: • 就绪 --> 运行 –调度程序选择一个新的进程运行 • 运行 --> 就绪 –运行进程用完了时间片 –运行进程被中断,因为一高优先级进程 处于就绪状态
5. 进程中止的原因
• • • • • • • • • • • • • 正常结束 给定时限到 缺少内存 存储器出界 保护性出错:例子: 写只读文件 算术错 超出时间:进程等待超过对某事件的最大值 I/O 失败 无效指令:如试图执行数据 特权指令 操作系统干预:如当死锁发生时 父进程请求中止某一子进程 父进程中止,所以子进程也中止
10
3.程序的并发执行的特征
• 不可再现性: 不可再现性: • 间断性: 间断性: • 通信性: 对于相互合作的程序,为 通信性 : 了更有效地协调运行,相互之间进 行通信。 • 独立性 : 并发程序在运行过程中, 独立性: 既然是作为一个独立的运行实体, 它也必然具有作为一个单位去获得 资源的独立性。
37
2.进程图
进程图是一棵有向树(如下图), 结点代表进程。一棵树表示一个家 族,根结点为该家族的祖先 (Ancestor)。
38
3.进程图和前趋图之间的差异
• 前趋图描述的是任务(或进程)之间 的前趋关系;只有在前趋进程完成 后,其后继进程才能运行; • 在进程图中,创建者和被创建者可 以并发执行,也可以父进程等待其 所有的子进程结束后再执行,这完 全取决于创建原语和创建者的需要。
2
2.程序的顺序执行
• 在计算机系统中只有一个程序在运行,这 个程序独占系统中所有资源,其执行不受 外界影响。通常一个程序可分成若干个程 外界影响。 序段,它们必须按照某种先后次序执行, 仅当前一操作执行后,才能执行后继操作。 例如:进行计算。I:输入操作 C: 计算操作 P:打印操作。在进行计算时, 总是先输入用户的程序和数据,然后进行 计算,最后将结果打印出来。
23
4)具有挂起操作的进程状态转换图
有的系统有时希望能人为地把进程挂起,使 之处于静止状态,以便研究其执行情况或对它进行 修改。下图示出了具有挂起状态的进程状态演变图。
图2-5 具有挂起状态的进程状态演变图
24
五状态进程模型
• 准备退出:父进程可中止子进程
25
七状态进程模型
挂起 活动
调度
释放
挂起 事件 发生 活动
3
3.语句的顺序执行
S1:a:=x+y S2:b:=a-5 S3:c:=b+1 如下图,语句S2必须在a被 赋值后才能执行;S3也只能在b 被赋值后才能执行。
4
4.程序的顺序执行的特征
• 顺序性: • 封闭性: • 可再现性:
5
2.1.2.前趋图
• 为了描述一个程序的各部分(程序段 或语句)间的依赖关系,或者是一个 大的计算的各个子任务间的因果关 系,我们常常采用前趋图方式。
(调节负载,对换,父进程, 操作系统,终端用户)
21
创建( 新new)状态
–OS 已完成为创建一进程所必要 的工作 •已构造了进程标识符 •已创建了管理进程所需的表格 –但还没有允许执行该进程 (尚未 同意) • 因为资源有限
22
终止(退出exit)状态
–中止后进程移入该状态 –它不再有执行资格 –表格和其它信息暂时由辅助程序保留 • 例子: 为处理用户帐单而累计资源 使用情况的财务程序 • 当数据不再需要后,进程(和它的表格) 被删除
40
5.进程控制
创建、撤消进程以及完成进 程各状态之间的转换。由具有特 定功能的原语完成。 进程创建原语 进程撤消原语 阻塞原语 唤醒原语 挂起原语 激活原语
41
1)创建原语
• 功能 功能:创建一个具有指定标识符 进程 • 入口信息 入口信息:进程标识符、优先级、 进程开始地址、初始CPU状态、 资源清单等。
超时 事件 发生
等待 事件
挂起
26
5)新状态转换 (中期调度)
• 阻塞 -->阻塞挂起 –当所有进程都阻塞,OS会安排空间让一 就绪进程进入内存 • 阻塞挂起 --> 就绪挂起 –当等待的事件发生时 (状态信息已在OS 中) • 就绪挂起-->就绪 –当内存中没有就绪进程时 • 就绪-->就绪挂起 (较少见) –当没有被阻塞的进程,而为了性能上的 考虑,必须释放一些内存时
27
7. 进程控制块(PCB)
• 系统为了管理进程设置的一个专 门的数据结构,存放了用于描述 该进程情况和控制进程运行所需 的全部信息。 • 系统利用PCB来控制和管理进程, 所以PCB是系统感知进程存在的唯 一标志 • 进程与PCB是一一对应的
28
1)进程控制块的内容
• 进程标识符:标识一个进程的编号,也称 为进程的内部名; • 现性状态:说明进程的当前状态; • 现场保留区:保存进程由执行状态变为其 它状态时的CPU现场信息; • 程序与数据地址:该进程的程序和数据所 在位置信息; • 互斥与同步机构:实现进程间互斥与同步 时所必须的机构;
12
2.1.4 进程的特征与状态
1.进程的概念
• 进程是具有独立功能的程序关于某个数 据集合上的一次运行活动,是系统进行资 源分配和调度的独立单位 • 进程是可与其他程序并发执行的程序, 在一个数据集合上的运行过程。它是系统 进行资源分配和调度的一个独立单位。
13
2. 进程的特征
• 动态性: 动态性: • 并发性:独立性: 并发性:独立性: • 异步性:结构特征: 异步性:结构特征:
14
4. 进程创建与中止
1)进程何时创建 ) • 提交一个批处理作业 • 用户登录 • 由OS创建,用以向一用户提供服务( 如:打 印文件) • 由已存在的一进程创建 一个用户程序可创建成多个进程 进程何时中止 • 批处理作业发出暂停(Halt)指令 • 用户退出登录 • 进程执行一中止服务请求 15 • 出错及失败因素
图2-1 九个结点的前趋图
6
前趋图(续)
• 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)}
29
进程控制块的内容(续)
• 进程通信机制:用于实现进程间的通信所 需的数据结构; • 优先级:表示进程使用CPU时优先级别的 一个整数; • 资源清单:列出进程拥有的资源的记录; • 连接字:给出本进程所在队列中的下一个 进程的PCB首址; • 家族联系:用于说明本进程与其它家族成 员间的关系。
30
2)进程映象 (进程要素)
• 用户程序 • 用户数据 • 栈 –用于过程调用和参数传递 • 进程控制块PCB (执行上下文) –控制进程所需的数据(进程属性), 包括: • 进程标识符信息 • 处理器状态信息 • 进程控制信息
31
32
3)进程控制块的组织方式
为了有效地对进程控制块进行管理, 应该采用适当的方式把它们组织起来。 目前常用的组织方式有以下两种: • 按链接方式组织PCB (队列) 不同状态进程分别组成队列 运行队列、就绪队列、等待队列 • 按索引方式组织PCB (表) 对具有相同状态的进程,分别设置各自 的PCB索引表,表明PCB在PCB表中的地址 (其他方式:线性表或链表)
33
按索引方式组织PCB
34
按链接方式组织PCB
空 PCB 运行态 就绪态 等待1 等待1 等待2 等待2 PCB1 PCB2 PCB3 PCB4 PCB5 PCB6 PCB7 5 6 7 10
......
PCBn 15
35
36
2.2 进程控制
1.进程控制的主要任务 进程控制是对系统中所有进程从产 生、存在到消亡的全过程实行有效的管 理和控制。进程控制一般是由操作系统 的内核来实现,内核在执行操作时,往 往是通过执行各种原语操作来实现的。
45
引起撤消的原因
• 正常结束 • 异常结束(越界错、保护错、特权 指令错、非法指令、运行超时、 I/O故障等) • 外界干预(操作员干预、父进程请 父进程终止)46Fra bibliotek消原语的实现过程
47
3) 进程阻塞
处于运行状态的进程,在其运行过 程中期待某一事件发生,如等待键盘输 入、等待磁盘数据传输完成、等待其它 进程发送消息,当被等待的事件未发生 时,由进程自己执行阻塞原语,使自己 由运行态变为阻塞态。
7
前趋图(续)
• 前趋图中的每个结点可以表示一条语句、 一个程序段或进程,结点间的有向边表示 两个结点之间存在的偏序(Partial_Order) 或 前 趋 关 系 (Precedence_Relation)“→” ={(Pi,Pj)|在Pj开始前Pi必须完成}如果 (Pi,Pj)∈→,可写成Pi→Pj,Pi是Pj的 直接前趋,Pj是Pi的直接后继。前趋图中 必须不存在循环,如下图不是前趋图。