进程的描述与控制


进程的定义和特征

    在多道程序环境下,程序的执行属于并发执行,此时它们将失去其封闭性,并具
    有间断性,以及运行结果不可再现的特性。为了使参与并发执行的每个程序都能
    独立地运行,在操作系统中有一个与之相配的数据结构,称为进程控制块.
    (Process Control Block,PCB).操作系统利用PCB来描述进程的基本情况和活动
    过程,进而控制和管理进程。这样,由程序段、相关的数据段和PCB三部分便
    构成了进程实体(又称进程映像)。一般情况下,我们把进程实体就简称为进程
    例如,所谓创建进程就是创建进程中的PCB;而撤销进程就是撤销进程的PCB
进程的定义:
    1.进程是程序的一次执行
    2.进程是一个程序及其数据在处理机上顺序执行时所发生的活动。
    3.进程是具有独立功能的程序在一个数据集合上运行的过程,它是系统进行资源
       分配和调度的一个独立单位。
    传统os的进程定义为:进程是进程实体的运行过程,是系统进行资源分配和调度的
    一个独立单位。

进程的特征

1.动态性。进程的实质是进程实体的执行过程。由创建而生,调度而执行,撤销而消亡。
2.并发性。是指多个进程实体同存于内存中,且能在一段时间内同时运行。
3.独立性。是指进程实体是一个能独立运行、独立获得资源和独立接受调度的基本单位。未建立PCB的程序都不能作为一个独立的单位参与运行。
4.异步性。即进程按各自独立的、不可预知的速度向前推进。

进程的基本状态及转换

进程的三种基本状态
1.就绪状态。万事俱备,只欠CPU。
2.执行状态。进程已获cpu,程序正在执行。
3.阻塞状态。若处于执行状态的进程发生如IO,申请缓冲区失败,暂时无法继续执
   行的状态。此时引起进程调度,OS把处理机分配给另一个就绪进程,让受阻进
   程处于暂停状态。
三种基本状态的转换
进程的描述与控制_第1张图片
Paste_Image.png

创建状态和终止状态
1.创建状态:进程是由创建而生
    首先由进程申请一个空白PCB,并向PCB中填写用于控制和管理进程的信息;
    然后为该进程分配运行时所必须的资源;最后,把该进程转入就绪状态并插入
    就绪队列中。
    若进程所需资源不住,此时创建工作尚未完成,进程不能被调度运行,于是把
    此时进程所处的状态称为创建状态。
 2.终止状态
    首先,等待操作系统进行善后处理,最后将其PCB清零,并将PCB空间返回系统。

挂起操作和进程状态的转换

挂起操作的引入
1.终端用户的需要
2.父进程请求
3.负荷调节的需要
4.操作系统的需要
引入挂起操作后五个进程状态的转换
1.NULL -> 创建:一个新进程产生时,该进程处于创建状态
2.创建 -> 活动就绪:在系统的资源允许的情况下,完成对进程创建的必要操作后,
                  相应的系统进程将进程的状态转换为活动就绪状态
3.创建 -> 静止就绪:在系统资源不足的情况下,系统将其转为静止就绪态,安置在
                  外存,不参与调度,此时进程创建工作尚未完成
4.执行 -> 终止

进程管理中的数据结构

 便于对计算机中的各类资源的使用和管理,os将它们抽象为相应的各种数据结构
操作系统中用于管理控制的数据结构
内存表,设备表,文件表和进程表
进程控制块PCB的作用
1.作为独立运行基本单位的标志
2.能实现间断性运行方式
3.提供进程管理所需要的信息
4.提供进程调度所需要的信息
5.实现与其他进程的同步与通信

进程控制

进程控制一般是由os的内核中的原语来实现的。
操作系统内核
包括一些与硬件紧密相关的模块(如中断处理程序)、各种常用设备的驱动程序以及
运行频率较高的模块(如时钟管理、进程调度和许多模块所公用的一些基本操作) 
将它们常驻内存。这种安排的目的有:1.便于对这些软件进行保护,防止遭受其他
应用程序的破坏;2.可以提高os的运行效率
支撑功能
1.中断处理
2.时钟管理
3.原语操作
资源管理功能
1.进程管理
2.存储器管理
3.设备管理
进程的创建
引起进程创建的事件
1.用户登录
2.作业调度
3.提供服务
4.应用请求
进程的创建
1.申请空白PCB
2.为新进程分配其运行所需的资源
3.初始化进程控制块
    a.初始化标识信息,将系统分配的标识符和父进程标识符填入新pcb中
    b.初始化处理机控制信息,使程序计数器指向程序的入口地址,使栈顶
       指针指向栈顶
    c.初始化处理机控制信息,将其设为就绪或静止就绪状态
4.若进程就绪队列能够接纳新进程则将其插入就绪队列
进程的终止
引起进程终止的事件
1.正常结束
2.异常结束
    a.越界错
    b.保护错
    c.非法指令
    d.特权指令错
    e.运行超时
    f.等待超时
    g.I/O故障
3.外界干预
进程的阻塞与唤醒
引起进程阻塞和唤醒的事件
1.向系统请求共享资源失败
2.等待某种操作的完成
3.新数据尚未到达
4.等待新任务的到达 

你可能感兴趣的:(进程的描述与控制)