半期复习——第二章:进程管理(2.1 2.2)

发布时间 2023-04-16 10:53:14作者: 一只朋克小狗

2.1 前趋图和程序执行

一、前趋图

图(a)所示的前趋图,

关系: P1→P2,P1→P3,P1→P4,P2→P5,P3→P5,P4→P6,P4→P7,P5→P8,P6 →P8,P7→P9,P8→P9

或表示为二元关系< P, → >

P={P1,P2,P3,P4,P5,P6,P7,P8,P9 }

→= { (P1,P2), (P1,P3), (P1,P4 ), (P2,P5 ), (P3,P5 ), (P4,P6 ), (P4,P7 ), (P5,Ps ), (P6,P8 ), (P7,P9 ), (P8,P9 )}  

二、程序的顺序执行

      1.顺序性:处理机的操作严格按照程序所规定的顺序执行

      2.封闭性:程序运行时独占全机资源,程序一旦开始执行,其执行结果不受外界因素影响

      3.可再现性:只要程序执行时的环境和初始条件相同,都将获得相同的结果

三、程序的并发执行

       1.间断性:相互制约将导致并发程序具有“执行——暂停——执行”这种间断性的活动规律

      2.失去封闭性:资源的状态将由多个程序来改变,致使程序的运行已失去了封闭性

      3.不可再现性:程序在并发执行时,由于失去了封闭性,导致不可再现性。虽然它们执行时的环境和初始条件相同,但得到的结果却各不相同

 

2.2 进程的描述

一、定义

      进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位

二、特征

      1.结构特征——PCB

      程序段、相关的数据段和PCB三部分构成了进程实体。

      所谓创建进程,实质上是创建进程实体中的PCB;而撤消进程,实质上是撤消进程的PCB。

      2.动态性(最基本):进程由创建而产生,由调度而执行,由撤消而消亡;而序是一组有序指令的集合,其本身并不具有运动的含义,因而是静态的。

      3.并发性:指多个进程实体同存于内存中,且能在一段时间内同时运行。而程序没有建立PCB,不能参与并发运行。

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

      5.异步性:指进程按各自独立的、不可预知的速度向前推进。

三、进程的基本状态及转换

      1.三种基本状态

          ①就绪状态(Ready):当进程已分配到除CPU以外的所有必要资源后,只要再获得CPU,便可立即执行。

          ②执行状态(Running):进程已获得CPU,其程序正在执行。

         ③阻塞状态(Blocked):正在执行的进程由于发生某事件而暂时无法继续执行时,便放弃处理机而处于暂停状态。

      2.转换

      3.进程五种状态

          ①New:进程已经创建,但未被OS接纳为可执行进程,并且程序还在辅存PCB在内存 

          ②Exit:执行状态的进程执行完毕,或出现诸如访问地址越界、非法指令等错误,而被异常结束,则进程从执行状态转换为终止状态,被OS从执行状态释放

四、进程的挂起与唤醒

    1.挂起:将内存中暂时不能运行的进程,或暂时不用的数据和程序,换出到外存。进程被交换到外存,状态变为挂起状态 。

    2.引入挂起状态的原因

        ①终端用户的请求

        ②父进程请求

        ③负荷调节的需要。当实时系统中的工作负荷较重,把一些不重要的进程挂起,以保证系统能正常运行。

        ④操作系统的需要。操作系统有时希望挂起某些进程,以便检查运行中的资源使用情况或进行记账。

    3.挂起进程的特征

        ①不能立即执行 

        ②可能是等待某事件发生,若是,则阻塞条件独立于挂起条件,即使阻塞事件发生,该进程也不能执行。

        ③使之挂起的进程为:自身、其父进程、OS

        ④只有挂起它的进程才能使之由挂起状态转换为其他状态 

    4.状态转换

    *Ready Suspend静止就绪

     Blocked Suspend静止阻塞

五、进程管理中的数据结构

    1.进程控制块PCB的作用

        ①作为独立运行基本单位的标志,是进程存在的唯一标志,常驻内存 

        ②能实现间断性运行方式

        ③提供进程管理需要的信息

        ④提供进程调度需要的信息

        ⑤实现与其他进程的同步和通信   

    2.PCB中的信息(pid,处理机状态,进程调度信息,进程控制信息)

    3.PCB的组织方式

        ①线性方式:将系统中的所有PCB组织在一张线性表中,将该表的首地址存放在一个专用区域中

        ②链接方式:把具有同一状态的PCB,用其中的链接字链接成一个队列,排成就绪队列,若干个阻塞队列以及空白队列。

        ③索引方式:系统根据所有进程的状态建立几张索引表

六、Linux进程控制块