操作系统学习笔记——第二章 进程的描述与控制(一)

第二章 进程的描述与控制

  • 2.1 前趋图与程序执行
  • 2.2 进程控制
  • 2.3 进程同步
  • 2.4 经典进程的同步问题
  • 2.5 进程通信
  • 2.6 线程

目的与要求

  • 领会程序顺序执行和并发执行的特征
  • 掌握进程的概念和特征、进程的基本状态及转换
  • 理解进程控制块PCB的作用、包含信息和组织方式

一、程序的顺序执行及其特征

程序的顺序执行

一个程序由若干个程序段组成,而这些程序段的执行必须是顺序的,这种程序执行的方式就称为程序的顺序执行。
S1: a:=x+y;
S2: b:=a-5;
S3: c:=b+1;
操作系统学习笔记——第二章 进程的描述与控制(一)_第1张图片

程序顺序执行时的特征

  • 顺序性
    处理机的操作严格按照程序所规定的顺序执行
  • 封闭性
    程序一旦开始执行,其计算结果不受外界因素的影响
  • 可再现性
    程序执行的结果与它的执行速度无关(即与时间无关),而只与初始条件有关

二、前趋图

操作系统学习笔记——第二章 进程的描述与控制(一)_第2张图片

重量指的是程序的执行时间

操作系统学习笔记——第二章 进程的描述与控制(一)_第3张图片
操作系统学习笔记——第二章 进程的描述与控制(一)_第4张图片

三、程序的并发执行及其特征

  • 程序的并发执行
    例:在系统中有n个作业,每个作业都有三个处理步骤:
    输入数据、处理、输出结果,即Ii,Ci,Pi(i = 1,2,3,……,n)
    操作系统学习笔记——第二章 进程的描述与控制(一)_第5张图片

操作系统学习笔记——第二章 进程的描述与控制(一)_第6张图片

程序并发执行时的特征

  • 间断性
    在多道程序设计的环境下,程序的并发执行,以及为完成一项任务而相互合作,这些程序之间要共享系统的资源,形成了相互制约的关系。
    相互制约导致并发程序具有“执行-暂停-执行”这种间断性的活动规律。
    操作系统学习笔记——第二章 进程的描述与控制(一)_第7张图片

操作系统学习笔记——第二章 进程的描述与控制(一)_第8张图片

四、进程的特征与状态

在多道程序设计的环境下,为了描述程序在计算机系统内的执行情况,必须引入新的概念——进程。

2.2 进程的描述

1、进程的定义

进程:程序关于某个数据集合的一次执行过程。

  • 行为的一个规则叫做程序,程序在处理机上执行时所发生的的活动称为进程。(Dijkstra)
  • 进程(有时称为任务)是一个程序与其数据一道通过处理机的执行所发生的活动。(Alan.C.Shaw)
  • 进程是执行中的程序。(Ken Thompson and Dennis Ritchie)

2、进程的特征

  • 结构特征
    进程控制块(PCB)+程序+数据=进程实体
  • 动态性–最基本特征
    • 进程:进程实体的一次执行过程,有生命周期
    • 程序:程序是一组有序指令的集合,是静态的概念
  • 并发性
  • 独立性
  • 异步性 进程按各自独立的、不可预知的速度向前推进

3、进程的三种基本状态

  • 就绪状态
    进程已获得除CPU之外的所有必需的资源,一旦得到CPU控制权,立即可以运行。
  • 运行状态
    进程已获得运行所需的的资源,它正在处理机上执行。
  • 阻塞状态
    正在执行的进程由于发生某事件而暂时无法执行时,便放弃处理机而处于暂停状态,称该进程处于阻塞状态或等待状态。

进程的三种状态以及各状态之间的转换

操作系统学习笔记——第二章 进程的描述与控制(一)_第9张图片

处于就绪状态的进程,在调度程序为之分配了处理机之后便可执行,其状态就由就绪态变为执行态;

正在执行的进程(当前进程)如果因分配给它的时间片已完而被剥夺处理机而暂停执行时,其状态便由执行转为就绪;

如果因发生某事件导致当前的进程执行受阻(例如进程访问某临界资源,而该资源正在被占用),使之无法继续执行,则该进程状态由执行转变为阻塞。

  • 挂起状态(把程序从内存移到外存的状态)

引起挂起状态的原因:

  • 终端用户的请求
  • 父进程请求
  • 负荷调节的需要
  • 操作系统的需要

2、进程状态的转换

操作系统学习笔记——第二章 进程的描述与控制(一)_第10张图片

注:活动指的是进程还在内存中,静止指的是进程在外存。

操作系统学习笔记——第二章 进程的描述与控制(一)_第11张图片

五、进程控制块(PCB)

  • 进程控制块的作用
  • 进程控制块中的信息
  • 进程控制块的组织方式

1. 进程控制块的作用

存放进程管理和控制信息的数据结构称为进程控制块。它是进程管理和控制的最重要的数据结构,在创建时,建立PCB,并伴随进程运行的全过程,直到进程撤销而撤销。
PCB就像我们的户口。
PCB是进程存在的唯一标志。

系统的所有PCB组织成链表或队列,常驻内存的PCB区。

PCB的作用是使一个在多道程序环境下不能独立运行的程序(含数据)成为一个能独立运行的基本单位,一个能与其他进程并发执行的进程。关于PCB的具体作用有以下几点:

  • 作为独立运行基本单位的标志。当一个程序(含数据)配置了PCB后,就表示它已经是一个能在多道程序环境下独立运行的、合法的基本单位,也就是具有取得OS服务的权利。
  • 能实现间断性运行方式。在多道程序环境下,程序是采用走走停停间断性运行的方式来执行的。当进程因阻塞儿暂停运行时,它必须保留自己运行时的CPU现场信息,再次被调度运行时,还需要恢复其CPU现场信息。
  • 提供进程管理所需要的信息。当调度程序调度到某进程运行时,只能根据该进程PCB中记录的程序和数据在内存或外存中的起始地址的指针,找到相应的程序和数据;在进程运行过程中,当需要访问系统文件中的文件或I/O设备时,也都需要借助于PCB中的信息。
  • 提供进程调度所需要的信息。只有处于就绪状态的进程才能被调度执行,而在PCB中就提供了进程处于何种状态的信息。如果进程处于就绪状态,系统便将它插入到进程就绪队列中,等待着调度程序的调度;另外在进行调度时往往还需要了解进程的其他信息,如在优先级调度算法中,就需要知道进程的优先级。在有些较为公平的调度算法中,还需要知道进程的等待时间和已执行的时间等。
  • 实现与其他进程的同步与通信。进程同步机制是用于实现诸进程的协调运行的,在采用信号量机制时,它要求在每个进程中都设置有相应的用于同步的信号量。在PCB中还具有用于实现进程通信的区域或通信队列指针等。

2. 进程控制块中的信息

进程标示符
处理机状态
进程调度信息
进程控制信息

进程标示符

每个进程都必须有一个唯一的标识符
   内部标识符
   外部标识符

处理机状态

主要由处理机的各种寄存器中的内容组成。处理机运行时的信息存放在寄存器中,当被中断时这些信息要存放在PCB中。

进程调度信息

   进程状态
   进程优先级
   进程调度所需的其他信息
   事件

进程控制信息

   程序和数据的地址
   进程通信和同步机制
   资源清单
   链接指针

3. 进程控制块的组织方式

链接方式
把具有同一状态的PCB用其中的链接字链接成一个队列。
就绪队列;
若干个阻塞队列;

操作系统学习笔记——第二章 进程的描述与控制(一)_第12张图片

索引方式
系统根据所有进程的状态建立几张索引表,把各表的内存首地址记录在内存的专用单元中。
索引表的表目中记录了相应状态的某个PCB在PCB表中的地址。

操作系统学习笔记——第二章 进程的描述与控制(一)_第13张图片

以上就是进程控制与描述前两小节的内容!

你可能感兴趣的:(计算机操作系统,操作系统,计算机,进程描述与控制,程序并发)