一、进程的引入和概念
程序的顺序执行
最简单的程序设计方法是顺序的方法,这种方法有以下特点:
①. 程序在运行时独占资源,叫做封闭性;②. 程序执行时,只要初始条件相同,无论程序是连续执行还是断续执行,结果不变,叫做可再现性
程序的并行执行
进程的概念
①. 进程定义
进程又叫做任务,是程序的一次执行过程,是程序在一个数据集合上顺序执行发生的活动,是系统资源分配的单位
②. 进程和程序的联系和区别
进程是程序的一次执行过程,具有动态性,而程序是一种可以长期保存的软件资源;进程是系统进行资源分配和资源调度的一个独立单位,句有独立性,程序不是;进程可以与其他进程并行;
二、进程的描述
进程控制块
为了描述进程的运行变化情况,操作系统为每个进程定义了一个数据结构叫做进程控制块(PCB),也叫进程描述符,是进程的唯一标志,包含了进程的描述信息和管理控制信息。
PCB包含的信息:
①. 进程标志数
②. 进程的状态以及调度和存储器管理信息
③. 进程使用的资源信息,包括分配给进程的IO设备、正在执行的IO请求信息
④、CPU现场保护区
⑤、记账信息,包括CPU时间量等
⑥、进程之间的家族关系
⑦、进程的链接指针
进程的状态
创建态、终止态、就绪态、运行态、阻塞等待态
①. 创建态,进程刚刚被创建
②. 终止态, 进程不再受处理及调度管理,可能是正常完成或者已经中断
③. 就绪态,已经获得了除cpu之外的所有资源,等待系统分配CPU
④. 运行态,正在CPU执行的进程
⑤. 阻塞等待态,等待某些资源
进程的组织
进程控制块是系统对进程统一管理的依据,为了便于系统管理,通常对系统中的进程采用两种组织方式
①. 线性表
把所有进程的PCB组成一个数组,系统通过数组下标访问每一个PCB。系统通过数组下标访问每一个PCB,优点是简单,节省存储空间,缺点是系统开销大
②. 链接表
将同一状态下的进程链接成一个队列,系统会设置一个指针指向当前运行进程的PCB。
三、进程的控制
所谓进程控制是指系统使用一些具有特定功能的程序段来创建、撤销进程以及完成进程各状态间转换的一系列有效管理。
用于控制进程的原语如下:
创建原语
创建原语的功能:创建一个进程主要是为进程创建一个PCB,扫描系统的PCB的集合表,找到一个空闲的PCB,并获得PCB的内部名称,作为进程的标识。若程序和数据不在主存,也应为其分配主存,并调入主存,把调用者的参数填入PCB中,将状态置为就绪,插入队列中。
撤销原语
撤销,归还资源
阻塞原语
处于运行态的进程中断CPU,将其运行现场保存在其PCB的CPU现场保护区;状态置为阻塞态,插入相应等待队列
唤醒原语
挂前期原语
激活原语
四、处理机的调度
处理机调度的级别
作业调度、进程调度、交换调度
作业调度是让作业有资格获得CPU,作业的运行需要通过进程调度实现,处理机的交换调度是为了使得资源分配更加合理
进程调度的方式
非抢先方式
抢先方式
处理机调度算法
先来先到服务、最短作业优先、最短剩余时间优先、优先级调度,时间片轮转算法、多级反馈队列算法
五、 线程