进程管理

一、进程的引入和概念
  1. 程序的顺序执行

    最简单的程序设计方法是顺序的方法,这种方法有以下特点:

    ①. 程序在运行时独占资源,叫做封闭性;②. 程序执行时,只要初始条件相同,无论程序是连续执行还是断续执行,结果不变,叫做可再现性

  2. 程序的并行执行
  1. 进程的概念

    ①. 进程定义

    进程又叫做任务,是程序的一次执行过程,是程序在一个数据集合上顺序执行发生的活动,是系统资源分配的单位

    ②. 进程和程序的联系和区别

    进程是程序的一次执行过程,具有动态性,而程序是一种可以长期保存的软件资源;进程是系统进行资源分配和资源调度的一个独立单位,句有独立性,程序不是;进程可以与其他进程并行;

二、进程的描述
  1. 进程控制块

    为了描述进程的运行变化情况,操作系统为每个进程定义了一个数据结构叫做进程控制块(PCB),也叫进程描述符,是进程的唯一标志,包含了进程的描述信息和管理控制信息。

    PCB包含的信息:

    ①. 进程标志数

    ②. 进程的状态以及调度和存储器管理信息

    ③. 进程使用的资源信息,包括分配给进程的IO设备、正在执行的IO请求信息

    ④、CPU现场保护区

    ⑤、记账信息,包括CPU时间量等

    ⑥、进程之间的家族关系

    ⑦、进程的链接指针

  2. 进程的状态

    创建态、终止态、就绪态、运行态、阻塞等待态

    ①. 创建态,进程刚刚被创建

    ②. 终止态, 进程不再受处理及调度管理,可能是正常完成或者已经中断

    ③. 就绪态,已经获得了除cpu之外的所有资源,等待系统分配CPU

    ④. 运行态,正在CPU执行的进程

    ⑤. 阻塞等待态,等待某些资源

  3. 进程的组织

    进程控制块是系统对进程统一管理的依据,为了便于系统管理,通常对系统中的进程采用两种组织方式

    ①. 线性表

    把所有进程的PCB组成一个数组,系统通过数组下标访问每一个PCB。系统通过数组下标访问每一个PCB,优点是简单,节省存储空间,缺点是系统开销大

    ②. 链接表

    将同一状态下的进程链接成一个队列,系统会设置一个指针指向当前运行进程的PCB。

三、进程的控制

​ 所谓进程控制是指系统使用一些具有特定功能的程序段来创建、撤销进程以及完成进程各状态间转换的一系列有效管理。

​ 用于控制进程的原语如下:

  1. 创建原语

    创建原语的功能:创建一个进程主要是为进程创建一个PCB,扫描系统的PCB的集合表,找到一个空闲的PCB,并获得PCB的内部名称,作为进程的标识。若程序和数据不在主存,也应为其分配主存,并调入主存,把调用者的参数填入PCB中,将状态置为就绪,插入队列中。

  2. 撤销原语

    撤销,归还资源

  3. 阻塞原语

    处于运行态的进程中断CPU,将其运行现场保存在其PCB的CPU现场保护区;状态置为阻塞态,插入相应等待队列

  4. 唤醒原语
  5. 挂前期原语
  6. 激活原语
四、处理机的调度
  1. 处理机调度的级别

    作业调度、进程调度、交换调度

    作业调度是让作业有资格获得CPU,作业的运行需要通过进程调度实现,处理机的交换调度是为了使得资源分配更加合理

  2. 进程调度的方式

    非抢先方式

    抢先方式

  3. 处理机调度算法

    先来先到服务、最短作业优先、最短剩余时间优先、优先级调度,时间片轮转算法、多级反馈队列算法

五、 线程
  1. 进程和线程的区别
  2. 线程分类

    用户级线程、核心线程、两级结合