电子科枚大学 软件技术基础 2.4处理机管理概述 主讲教师:刘民岷 A 航空航天学院 软件技术基础课程组 2019年5月
软件技术基础 2.4 处理机管理概述 主讲教师:刘民岷 航空航天学院 软件技术基础课程组 2019年5月
进程的概念 ▣进程的概念是在60年代初期由MT的ultics系统和 IBM的OS/360系统首先引用。从那以后人们对进程下 过各种定义 >进程是一个可以并发执行的计算部分: >进程是一抽象的实体,它在执行的过程中需要分配和释放各种 资源; >进程是一次可以进行调度的独立势执行活动。 口归纳各种定义的本质,给出进程的定义: 进程是可并发执行的程序在给定数据集合上的一次执行过 程;是系统进行资源分配和调度的一个独立的基本单位和 实体;是指执行一个映象程序的总环境。 电子科技大学刘民岷 处理机管理概述 2
电子科技大学 刘民岷 2 1、进程的概念 处理机管理概述 进程的概念是在60年代初期由MIT的Multics系统和 IBM的OS/360系统首先引用。从那以后人们对进程下 过各种定义 进程是一个可以并发执行的计算部分; 进程是一抽象的实体,它在执行的过程中需要分配和释放各种 资源; 进程是一次可以进行调度的独立势执行活动。 归纳各种定义的本质,给出进程的定义: 进程是可并发执行的程序在给定数据集合上的一次执行过 程;是系统进行资源分配和调度的一个独立的基本单位和 实体;是指执行一个映象程序的总环境
进程的概念(续) 进程的特征: 1.动态性 具有生命周期 2.并发性一 进程之间时间上可重叠,并可能发生相互之间的约束 3.独立性— 是程序和数据的集合,独立的分配CPU和其他资源 4.异步性 一进程按不可预知的速度独立、异步的向前推进 电子科技大学刘民岷 处理机管理概述 3
电子科技大学 刘民岷 3 1、进程的概念(续) 处理机管理概述 进程的特征: 1.动态性——具有生命周期 2.并发性——进程之间时间上可重叠,并可能发生相互之间的约束 3.独立性——是程序和数据的集合,独立的分配CPU和其他资源 4.异步性——进程按不可预知的速度独立、异步的向前推进
、 进程和程序 程序是一组有序的指令,是一种静态 OUILFLIRDAI 的概念。而进程是指一次运行的活动, 是动态的概念。若把程序比喻为动画 片的拷贝,则进程就是动画片的放映 过程 AHA POWERPNT.EXE 口一个进程可以执行一个或多个程序, 如编译C程序时,同时执行预处理、语 法、语义分析、代码生成和优化等几 个程序。反之,一个程序也可能被多 on. 0217090m763412101 个进程执行 ▣程序可以作为一种资源以文件的形式 长期保存,而进程只是一次执行过程, 进程和程序 具有生命期 电子科技大学刘民岷 处理机管理概述 4
电子科技大学 刘民岷 4 2、进程和程序 处理机管理概述 程序是一组有序的指令,是一种静态 的概念。而进程是指一次运行的活动, 是动态的概念。若把程序比喻为动画 片的拷贝,则进程就是动画片的放映 过程 一个进程可以执行一个或多个程序, 如编译C程序时,同时执行预处理、语 法、语义分析、代码生成和优化等几 个程序。反之,一个程序也可能被多 个进程执行 程序可以作为一种资源以文件的形式 长期保存,而进程只是一次执行过程, 具有生命期
3、如何耒述进程 进程控制峡 进程控制块PCB(Process Control Block)是操作系统为了反映 进程的动态特性,便于系统控制和描述进程的活动过程而专门 定义的一种数据结构。用于记录和描述进程执行情况和状态变 化。 进程标识号 唯一标识一个进程的标志(为一整数) 进程状态 指就绪、运行、阻塞等状态 进程特征 标志是系统还是用户进程,程序是在内存还是在外存 进程优先数 用以确定由就绪态转为运行态的优先程度 程序地址 指出该进程的程序存放在内存或外存的什么地方 现场保护区 在进程交替时保存其程序运行的CPU状态,以便恢复并继续执行 同步、互斥机构 主要是一些同步互斥信号量(信号灯) 系统栈 进程调用操作系统核心的子程序时,所保留参数和返回地址等 “家族”联系 进程间的隶属关系,如本进程由哪个进程建立、其子进程是谁 资源清单 本进程当前已占用的资源情况(外设种类、设备号、打开的文件等) 其它信息 随不同的系统而异 电子科技大学刘民岷 处理机管理概述 5
电子科技大学 刘民岷 5 3、如何表述进程——进程控制块 处理机管理概述 进程控制块PCB(Process Control Block)是操作系统为了反映 进程的动态特性,便于系统控制和描述进程的活动过程而专门 定义的一种数据结构。用于记录和描述进程执行情况和状态变 化。 进程标识号 唯一标识一个进程的标志(为一整数) 进程状态 指就绪、运行、阻塞等状态 进程特征 标志是系统还是用户进程,程序是在内存还是在外存 进程优先数 用以确定由就绪态转为运行态的优先程度 程序地址 指出该进程的程序存放在内存或外存的什么地方 现场保护区 在进程交替时保存其程序运行的 CPU 状态,以便恢复并继续执行 同步、互斥机构 主要是一些同步互斥信号量(信号灯) 系统栈 进程调用操作系统核心的子程序时,所保留参数和返回地址等 “家族”联系 进程间的隶属关系,如本进程由哪个进程建立、其子进程是谁 资源清单 本进程当前已占用的资源情况(外设种类、设备号、打开的文件等) 其它信息 随不同的系统而异
3、如何表述进程 进程控割块(续) Linux的进程控制块定义片段 include/linux/sched.h 2 struct task_struct 3 volatile long state; struct thread_info *thread_info; atomic_t usage; 6 unsigned long flags; 7 unsigned long ptrace; 8 9 int lock_depth; 10 11 int prio,static_prio; 12 struct list_head run_list; 13 prio_array_t *array; 14 15 unsigned long sleep_avg; 16 long interactive_credit; 17 unsigned long long timestamp; 18 int activated; 电子科技大学刘民岷 处理机管理概述 6
3、如何表述进程——进程控制块(续) • Linux的进程控制块定义片段 电子科技大学 刘民岷 处理机管理概述 6
4、进程的状态及其转换 1)进程状态 口就绪状态(Ready)--具备除CPU以外的所有资源 口执行状态(Executing)--获得所有资源,在CPU中执行 ▣等待状态Wait)--等待某个事件的发生 2)进程状态转换 执行 状态 等待事件发生 进程调度 时间片用完 等待 释放 就绪 状态 状态 事件发生 电子科技大学刘民岷 处理机管理概述 7
电子科技大学 刘民岷 7 4、进程的状态及其转换 处理机管理概述 1)进程状态 就绪状态(Ready)----具备除CPU以外的所有资源 执行状态(Executing)----获得所有资源,在CPU中执行 等待状态(Wait)----等待某个事件的发生 2)进程状态转换 执行 状态 等待 状态 就绪 状态 事件发生 释放 进程调度
5 进程的控制一进程控制原语 创建、撤消进程以及进程各状态之间的转换是由具有特定 功能的进程控制原语实现的 ▣原语Primitive):机器语言的延伸;原语操作执行过程不可中 断 口 进程控制原语 > 创建原语:建立PCB(申请PCB,信息填入PCB,插入就绪 队列),可由系统模块和父进程创建 >撤消原语:进程完成或异常中断时撤消;撤消进程及其所有 子进程,释放相应资源和PCB >阻塞原语:执行中需要/O或其它条件时阻塞;中断执行, 保存状态到PCB,设置为阻塞状态,PCB插入到阻塞队列中 唤醒原语:阻塞的进程获得所需资源时唤醒;置PCB当前 状态为就绪,将进程从阻塞队列中撤消,插入到就绪队列 中 电子科技大学刘民岷 处理机管理概述 8
电子科技大学 刘民岷 8 5、进程的控制-进程控制原语 处理机管理概述 创建、撤消进程以及进程各状态之间的转换是由具有特定 功能的进程控制原语实现的 原语(Primitive):机器语言的延伸;原语操作执行过程不可中 断 进程控制原语 创建原语:建立PCB(申请PCB,信息填入PCB,插入就绪 队列),可由系统模块和父进程创建 撤消原语:进程完成或异常中断时撤消;撤消进程及其所有 子进程,释放相应资源和PCB 阻塞原语:执行中需要I/O或其它条件时阻塞;中断执行, 保存状态到PCB,设置为阻塞状态,PCB插入到阻塞队列中 唤醒原语:阻塞的进程获得所需资源时唤醒;置PCB当前 状态为就绪,将进程从阻塞队列中撤消,插入到就绪队列 中