操作系统:程序的顺序执行和并发执行、进程的概念、进程特性、进程状态转换、进程控制块、进程队列

程序的顺序执行和并发执行

顺序执行:按照顺序进行执行。

  • 顺序性:严格按照顺序执行,前一个结束后一个才能执行
  • 封闭性:程序运行时独占资源,只有程序本身才能改变机器各种资源的状态。
  • 可再现性:结果与执行速度无关,只与初始条件有关。给定相同的输入,输出结果一定相同。

顺序执行给程序员检测和纠正错误带来便利。

并发执行:多道程序系统执行环境的变化可以引起多道程序的并发执行。一组在逻辑上相互独立的程序或程序段在执行过程中其执行时间在客观上相互重叠,即一个程序尚未结束、另一个程序的执行已经开始的执行方式。
链接:多道程序系统的具体概念

  • 间断性:共享资源的使用使得在并发程序之间有相互制约。相互制约导致并发程序具有:执行-暂停-执行 这种间断性的活动规律。
  • 失去封闭性:多个程序共享资源,执行时必定会受到其他程序的影响。
  • 不可再现性:失去封闭性,也同时失去了不可再现性。资源的利用状况和环境有关,不能保证每次同一个输入有着相同的输出。

进程的概念

程序的概念:源代码是静态文本,通过编译软件对源代码进行编译之后得到程序。
进程的定义:程序是静态的,程序每一次执行的动态过程都不一样。只用程序这一概念,只能对并发程序进行静止的、孤立的研究,不能深刻地反映它们活动的规律和状态变化。所以有了进程这一说法。程序——静态,进程——动态,进程就是程序的执行过程

进程特性

动态性:由创建而产生、由调度而执行、因得不到资源而暂停执行、由撤销而消亡。进程具有一定的生命周期。

并发性:并发性是指多个进程实体同存与主存中,能在一段时间内同时运行,并发性是进程和操作系统的重要特征。引入并发执行的目的是使其程序能够和其他进程的程序并发执行,但是程序本身并不能并发执行。

独立性:进程实体是一个独立运行的基本单位,也是系统中独立获得资源和独立调度的基本单位。进程和程序并非一一对应,一个程序在不同的数据集上就能构成不同的进程。

异步性:进程按照各自独立的,不可预知得速度向前推进

结构特征:进程实体是由:程序段、数据段及程序控制快三部分组成

进程的基本状态和转换

进程具有异步性,所以有 执行-暂停-执行 的活动规律。
一个进程活动期间有三种基本状态:就绪状态、运行状态、等待状态。

1)就绪状态:进程已经分配到只差CPU以外的所有必要资源。在系统中,多个进程同时处于就绪状态排成的队列叫做就绪队列。

2)运行状态:运行状态是指进程已获得处理器,其程序正在执行。单处理器系统中只能有一个进程。

3)等待状态:进程因发生某些事件(比如请求输入输出、申请缓存空间等)而暂停执行的状态。多个进程同时处于等待状态的队列叫等待队列,多个等待原因可以排成多个队列。

在这里插入图片描述

  • (1)就绪→运行状态
    处于就绪状态的进程,当进程调度程序为之分配了处理器后,该进程便由就绪状态转换为运行状态。正在执行的进程也称为当前进程。
  • (2)运行→等待状态
    正在执行的进程因出现某事件而无法执行时,就释放处理器转换为等待状态。例如,进程请求访问临界资源,而该资源正被其它进程访问,则请求该资源的进程将由运行状态转变为等待状态。
  • (3)运行→就绪状态
    在分时系统中,正在执行的进程,如因时间片用完而被暂停执行,该进程便由运行状态转变为就绪状态。又如,在抢占调度方式中,一个优先权高的进程到来后,可以抢占一个正在执行的优先权低的进程的处理器,这时,该低优先权进程也将由运行状态转换为就绪状态。
  • (4)等待→就绪状态
    处于等待状态的进程在等待事件结束后就转换成就绪状态,等待处理器的分配。

有些操作系统中增加了两种基本状态:新状态和终止状态
在这里插入图片描述

  • 新状态指的是刚刚建立,还没有将它送入就绪队列时的状态。
  • 终止状态是指的是一个进程已经结束,但是还没有将它撤销时的状态。

进程控制块

每一个进程都有一个进程控制块(PCB)。进程控制块是操作系统用与记录和刻画进程状态及有关信息的数据结构,也是操作系统控制和管理的主要依据。

作用:使一个在多道程序下不能独立运行的程序(含数据),成为一个能独立运行的基本单位、一个能与其他进程并发执行的进程。

操作系统是根据PCB来对并发执行的进程进行控制和管理的

在这里插入图片描述
标识信息:每一个进程都有一个唯一的标识符。

说明信息:说明本进程的情况。

现场信息:当进程由于某种原因让出处理器的时候,把与处理器有关的各种现场信息保留下来,以便于后续该进程重新获得处理器之后能够把保留的现场信息重新置入处理器的想过寄存器之中继续执行。

管理信息:对进程进行管理和调度的信息。

进程队列

定义:把处于相同状态的进程链接在一起,形成的队列就叫做进程队列。处于就绪状态的叫就绪队列,等待状态的叫等待队列。

链接方式实现进程队列
进程控制块能够标识进程的存在,并动态刻画进程的特性,所以进程队列可以用进程控制块的链接来形成。

链接方式有:单向链接和双向链接。
在这里插入图片描述

  • 一个进程从所在的队列中退出称为“出队”
    一个进程能被选中占用处理器时,就从就绪队列中退出成为“执行态”

  • 一个进程进入到指定的队列中称“入队”
    进程要求读磁盘上的信息而成为等待磁盘传输信息的状态,便进入等待队列。

索引方式形成进程队列
建立索引表,表内填有各个PCB的地址
在这里插入图片描述

posted @ 2021-04-25 18:07  Zeker62  阅读(1046)  评论(0编辑  收藏  举报