计算机操作系统(进程的描述与控制)

前言

进程


一、前趋图和程序执行

1.前趋图

一个有向无环图,它用于描述进程之间执行的先后顺序。(前趋图中不允许有循环,这种关系是不可能实现的)
在这里插入图片描述


2.进程的顺序执行

2.1 进程的顺序执行:

程序由若干程序段组成,按某种顺序运行,当前一个程序段完成,才会运行下一个片段。

2.2特征:
(1)顺序性:

处理机会严格按照程序规定的顺序语句执行语句,既每个操作都是下一个操作之前结束;

(2)封闭性

程序在封闭环境下运行,即程序运行时独占全机资源,只有本程序才能改变资源的状态(初始状态除外),程序一旦执行,其结果便不受外界因素影响;

(3)可在现性

只要程序执行时的环境和初始条件相同,当重复执行程序时,都将得到同样的结果;


2.进程并发执行

顺序执行系统资源利用率低,在系统中引入多道程序技术,事程序或程序段间能并发执行。(不是所有程序都能并发执行,(只有存在前趋关系的程序才有可能并发执行))。

由于S1和S2不是相互依赖的没有前趋关系,所以可以并发执行;而S3和S4互相制约,存在前趋关系只能顺序执行。
S1:a:=x+2;
S2:b:=y+4;
S3:c:=a+2b;
S4:d:=c+b;

在这里插入图片描述

2.2特征:
(1)间断性:

并发执行程序共享系统资源,相互合作,之间存在互相制约关系;

(2)失去封闭性

因为资源事共享的,导致其中一个程序执行时,其执行环境会受到其它程序的影响,资源状态也会由这些程序改变;

(3)不可在现性

程序在并发执行,失去了封闭性必然失去可在现性;


二、进程的描述

1.进程定义

(1)进程时程序的一次执行
(2)进程时一个程序及其数据在处理机上顺序执行时所发生的过程
(3)进程时具有独立功能的程序在一个数据集上执行的过程,它时系统进行资源分配和调度的一个独立单位

2.特征

(1)动态性
(2)并发性
(3)独立性
(3)异步性

3.进程基本状态与转换

(1)就绪(Ready)状态

进程已处于准备好运行状态,即已分配到除CPU以外的所有必要资源后,只要再获得CPU,便可立即执行。多个就绪状态的进程按一定的策略排成就绪队列。

(2)执行(Running)状态

进程已获得CPU,其程序正在执行的状态。任意时刻,单处理机系统只有一个进程处于执行状态,多处理机系统有多个执行状态的进程。

(3)阻塞(Block)状态

正在执行的进程由于发生某事件(如I/O请求、申请缓冲区失败等)暂时无法继续执行时的状态,即进程的执行收到阻塞。引起进程调度,将处理机分配给另一个就绪进程,而让受阻进程出去暂停状态,即阻塞状态或等待状态或封锁状态。处于阻塞状态的进程排成一个队列,即阻塞队列。
在这里插入图片描述

创建状态和终止状态

引入创建和终止状态变为五基态转换

在这里插入图片描述


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

2.1 引入挂起主要是满足下列需求
(1)终端用户需要
(1)父进程的需要
(1)负荷调节的需要
(1)OS的需要
2.2 引入挂起三基态转换

在这里插入图片描述

2.3 引入挂起五基态转换

在这里插入图片描述


4.进程管理中的数据结构

1. OS中用于管理资源和控制进程的数据结构

计算机系统中,对每一个资源和每个进程都设置了一个数据结构,用于表征其实体,称为资源信息表或进程信息表,其中包含了资源或进程的标识、描述、状态等信息及一批指针。将数据结构分为四类:内存表、设备表、文件表、进程表(PCB)
在这里插入图片描述

2. PCB(进程表)

PCB记录操作系统所需的,用于描述进程的当前情况以及管理进程运行的全部信息,是操作系统中最重要的记录型数据结构。使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能与其它进程并发执行的进程。或者说,OS是根据PCB来对并发执行的进程进行控制和管理的。

作用:
(1)作为独立运行基本单位的标志

系统通过PCB感知进程的存在;PCB已成为进程存在于系统的唯一标志

(2)能实现间断性运行方式

系统将CPU现场信息保存在被中断进程的PCB中,供该进程再次调度执行时恢复CPU现场时使用
传统意义上的静态程序,不具有保护或保存自己运行现场的手段,无法保证其运行结果的可再现

(3)提供进程管理所需要的信息
(4)提供进程调度所需要的信息
(5)实现与其他进程的同步与通信

采用信号量机制,要求在每个进程都设置有相应的用于同步的信号量。


2. PCB中的信息

(1)进程标识符:唯一标识一个进程(外部标识符、内部标识符)
(2)处理机状态:由处理机的各种存储器中的内容组成

① 通用寄存器,又称为用户可视寄存器,它们是用户程序可以访问的,用于暂存信息, 在大多数处理机中,有 8~32 个通用寄存器,在RISC结构的计算机中可超过 100 个;
② 指令计数器,其中存放了要访问的下一条指令的地址;
③ 程序状态字PSW,其中含有状态信息,如条件码、执行方式、 中断屏蔽标志等;
④ 用户栈指针, 指每个用户进程都有一个或若干个与之相关的系统栈,用于存放过程和系统调用参数及调用地址。

(3)进程调度信息

① 进程状态,指明进程的当前状态, 作为进程调度和对换时的依据;
② 进程优先级,用于描述进程使用处理机的优先级别的一个整数, 优先级高的进程应优先获得处理机;
③ 进程调度所需的其它信息,它们与所采用的进程调度算法有关,比如,进程已等待CPU的时间总和、 进程已执行的时间总和等;
④ 事件,是指进程由执行状态转变为阻塞状态所等待发生的事件,即阻塞原因。

(4)进程控制信息

① 程序和数据的地址, 是指进程的程序和数据所在的内存或外存地(首)址,以便再调度到该进程执行时,能从PCB中找到其程序和数据;
② 进程同步和通信机制,指实现进程同步和进程通信时必需的机制, 如消息队列指针、信号量等,它们可能全部或部分地放在PCB中;
③ 资源清单,是一张列出了除CPU以外的、进程所需的全部资源及已经分配到该进程的资源的清单;
④ 链接指针, 它给出了本进程(PCB)所在队列中的下一个进程的PCB的首地址。


3. PCB组织方式

(1)线性方式

在这里插入图片描述

(2)链接方式

在这里插入图片描述

(3)索引方式

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天将降大任于我

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值