OS_操作系统第二章:进程管理

一、进程与线程

1.1进程的概念

在未配置 OS 的系统中,程序的执行方式是顺序执行,即必须在一个程序执行完后,才
允许另一个程序执行;在多道程序环境下,则允许多个程序并发执行。程序的这两种执行
方式间有着显著的不同。也正是程序并发执行时的这种特征,才导致了在操作系统中引入
进程的概念。

在多道程序环境下,程序的执行属于并发执行,此时它们将失去其封闭性,并具有间
断性及不可再现性的特征。这决定了通常的程序是不能参与并发执行的,因为程序执行的
结果是不可再现的。这样,程序的运行也就失去了意义。为使程序能并发执行,且为了对
并发执行的程序加以描述和控制,人们引入了“进程”的概念。

  1. 结构特征
    通常的程序是不能并发执行的。为使程序(含数据)能独立运行,应为之配置一进程控制
    块,即 PCB(Process Control Block);而由程序段、相关的数据段和 PCB 三部分便构成了进程实体。在早期的 UNIX 版本中,把这三部分总称为“进程映像”。值得指出的是,在许多情况下所说的进程,实际上是指进程实体,例如,所谓创建进程,实质上是创建进程实体中的 PCB;而撤消进程,实质上是撤消进程的 PCB。

  2. 动态性
    进程的实质是进程实体的一次执行过程,因此,动态性是进程的最基本的特征。动态性还表现在:“它由创建而产生,由调度而执行,由撤消而消亡”。可见,进程实体有一定的生命期,而程序则只是一组有序指令的集合,并存放于某种介质上,其本身并不具有运动的含义,因而是静态的。

  3. 并发性
    这是指多个进程实体同存于内存中,且能在一段时间内同时运行。并发性是进程的重
    要特征,同时也成为 OS 的重要特征。引入进程的目的也正是为了使其进程实体能和其它计算机操作系统程实体并发执行;而程序(没有建立 PCB)是不能并发执行的。

  4. 独立性
    在传统的 OS 中,独立性是指进程实体是一个能独立运行、独立分配资源和独立接受调
    度的基本单位。凡未建立 PCB 的程序都不能作为一个独立的单位参与运行。

  5. 异步性
    这是指进程按各自独立的、 不可预知的速度向前推进,或说进程实体按异步方式运行。现在我们再来讨论进程的定义。曾有许多人从不同的角度对进程下过定义,其中较典型的进程定义有:

  • (1) 进程是程序的一次执行。
  • (2) 进程是一个程序及其数据在处理机上顺序执行时所发生的活动。
  • (3) 进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独
    立单位。
    在引入了进程实体的概念后,我们可以把传统 OS 中的进程定义为:“进程是进程实体
    的运行过程,是系统进行资源分配和调度的一个独立单位”。

1.2进程的状态与转换

进程执行时的间断性决定了进程可能具有多种状态。事实上,运行中的进程可能具有以下三种基本状态:

  1. 就绪(Ready)状态
    当进程已分配到除 CPU 以外的所有必要资源后,只要再获得 CPU,便可立即执行,进
    程这时的状态称为就绪状态。在一个系统中处于就绪状态的进程可能有多个,通常将它们排成一个队列,称为就绪队列。
  2. 执行状态
    进程已获得 CPU,其程序正在执行。在单处理机系统中,只有一个进程处于执行状态;在多处理机系统中,则有多个进程处于执行状态。
  3. 阻塞状态
    正在执行的进程由于发生某事件而暂时无法继续执行时,便放弃处理机而处于暂停状态,亦即进程的执行受到阻塞,把这种暂停状态称为阻塞状态,有时也称为等待状态或封锁状态。

1.3进程的控制与组织

进程控制块:
调度队列和调度器:
进程的创建和终止:

二、CPU调度

2.1调度的基本概念

2.2调度的时机、切换与过程

2.3调度的基本准则

2.4调度方式

2.5 典型的调度算法

先来先服务调度算法:
短作业优先调度算法:
时间片轮转调度算法:
优先级调度算法:
多级反馈队列调度算法:

三、同步与互斥

3.1进程同步和临界区的基本概念

3.2信号量

3.3使用信号量描述和解决经典同步问题

四、死锁

4.1死锁的概念

4.2死锁处理策略

4.3 死锁预防

4.4死锁避免

系统安全状态:
银行家算法:

死锁的检测和解除

猜你喜欢

转载自blog.csdn.net/PecoHe/article/details/99693822