第三章 进程管理

来源:互联网 发布:皮革护理 知乎 编辑:程序博客网 时间:2024/05/29 07:38
                **3.1 进程的基本概念**

为什么会有进程?
现在操作系统的重要特点是在保证安全的前提下,程序并发执行,以及系统所拥有的资源被共享和系统用户随机使用。而要想使用户充分、有效的利用系统资源,需要采用一个进程的概念来描述计算机程序的执行过程和作为资源分配的基本单位。

3.1.1 程序的顺序执行及其特征

  1. 程序的顺序执行 例1:如下语句
    S1: a:=x+y;
    S2: b:=a-5;
    S3: c:=b+1;

    程序只有经过执行才能得到结果,而一个具有独立的程序独占处理机直至最终结束的过程,称程序的顺序执行

  2. 程序顺序执行时的特征
    (1) 顺序性程序和机器执行它的活动严格一一对应。
    (2) 封闭性只有程序本身的动作才能改变程序的运行环境。
    (3) 可再现性顺序执行的最终结果与程序运行的速度无关

3.1.2 程序的并发执行及其特征

  1. 程序并发执行
    并发执行
    程序并发执行:一组逻辑上相互独立的程序或程序段在执行过程中,其执行时间在客观上相互重叠,即一个程序段的执行,尚未结束,另一个程序段的执行已经开始的这种执行方式。

    例:对于具有下述四条语句的程序段:
    S1: a:=x+2
    S2: b:=y+4
    S3: c:=a+b
    S4: d:=c+b
    如:上述四条语句的前驱关系
    前驱关系

  2. 程序并发执行时的特征
    (1)间断性
    (2)失去封闭性–是多个程序共享系统中的各种资源,因而这些资源的状态将由多个程序来改变
    (3)不可再现性
    例如,有两个循环程序A和B,它们共享一个变量N。程序A每执行一次时,都要做n:=n+1操作;程序B每执行一次时,都要执行Print(n)操作,然后再将n置成“0”。程序A和B以不同的速度运行。这样,可能出现下述三种情况(假定某时刻变量n的值为v)。
    执行轨迹

3.1.3 进程的特征与状态

  1. 进程的特征和定义
    1) 动态性
    2) 并发性
    3) 独立性
    进程实体是一个能独立运行的基本单位,同时也是系统中独立获得资源和独立调度的基本单位。没有建立进程的程序,不能作为一个独立的单位参加运行。
    4) 异步性:指进程按各自独立的、 不可预知的速度向前推进,或说进程实体按异步方式运行。
    5) 结构特性
    从结构上看,进程由程序段、数据段及PCB三部分组成。

进程 可以定义如下:
  (1) 进程是程序的一次执行。
  (2) 进程是一个程序及其数据在处理机上顺序执行时所发生的活动。
  (3) 进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。

进程定义:是具有一定独立功能的程序关于某个数据集合上的一次运行活动(程序的一次执行),是系统进行资源分配和调度的一个独立单位。
(在这里,程序指一组操作序列,而数据集则是接受程序规定操作的一组存储单元的内容)

进程的种类: 从操作系统角度看,可将进程分为系统进程和用户进程两类。

  • 系统进程执行操作系统程序,完成操作系统的某些功能。
  • 用户进程执行用户程序,直接为用户服务。
    ★ 系统进程的优先级通常高于一般用户进程的优先级。

2.进程的三种基本状态  
进程执行时的间断性决定了进程可能具有多种状态。事实上,运行中的进程可能具有以下三种基本状态。
  
  1) 就绪(Ready)状态
  2) 执行状态: 指进程已获得处理机而执行的状态。当进程已经分配到除CPU以外的所有必要的资源后,只要能再获得处理机,就可以立即执行
  3) 阻塞状态:进程因为发生某个事件而暂停执行时的状态(如:请求I/O、申请缓冲空间等)。有时也称“等待”状态或“睡眠”状态。
  上传进程状态转换图

3.1.4 进程控制块
1.进程控制块的作用
进程控制块PCB(Process Control Block),它是进程实体的一部分,是操作系统中最重要的记录型数据结构。PCB中记录了操作系统所需的、用于描述进程的当前情况以及控制进程运行的全部信息。
注意:OS是根据PCB来对并发执行的进程进行控制和管理的。

在进程的整个生命期中,系统总是通过PCB对进程进行控制的,亦即,系统是根据进程的PCB而不是任何别的什么而感知到该进程的存在的。所以说,PCB是进程存在的惟一标志。

2、进程控制块中的信息
(1)进程标识符信息
进程标识符用于唯一的标识一个进程。
外部标识符。由创建者提供,通常是由字母、数字组成,往往是用户(进程)访问该进程使用。外部标识符便于记忆,如:计算进程、打印进程、发送进程、接收进程等。
内部标识符:为了方便系统使用而设置的。在所有的OS中,都为每一个进程赋予一个唯一的整数,作为内部标识符。
(2)处理机状态信息(现场信息)
主要是由处理机各种寄存器中的内容所组成。
通用寄存器:又称为用户可视寄存器,可被用户程
序访问,用于暂存信息。
指令寄存器PC:存放要访问的下一条指令的地址。
程序状态字PSW:其中含有状态信息。(条件码、
执行方式、中断屏蔽标志等)
用户栈指针:每个用户进程有一个或若干个与之相关
的用户栈,用于存放过程和系统调用参
数及调用地址。栈指针指向该栈的栈顶。
(3)进程调度信息
在PCB中还存放了一些与进程调度有关的信息。
进程状态:指明进程当前的状态,作为进程调度和对换时的依据。
进程优先级:用于描述进程使用处理机的优先级别的一个整数,优先级高的进程优先获得处理机。
进程调度所需要的其他信息:(进程已等待CPU的时间总和、进程已执行的时间总和)
阻塞原因:这是进程由执行状态转变为阻塞状态所等待发生的事件。
(4) 进程控制信息
  进程控制信息包括:① 程序和数据的地址,指进程的程序和数据所在的内存或外存地(首)址,以便再调度到该进程执行时,能从PCB中找到其程序和数据;② 进程同步和通信机制,指实现进程同步和进程通信时必需的机制,如消息队列指针、信号量等,它们可能全部或部分地放在PCB中;③ 资源清单,即一张列出了除CPU以外的、进程所需的全部资源及已经分配到该进程的资源的清单;④ 链接指针,它给出了本进程(PCB)所在队列中的下一个进程的PCB的首地址

3.2 进程控制
3.3 进程同步
3.4 经典进程的同步问题

原创粉丝点击