进程的描述与控制

2019-04-13  本文已影响0人  chengcongyue

从今天开始我们复习一下操作系统面试相关的内容,也就是对大二下学期的重点知识进行以下回顾.
面试常问的就是进程和线程这一系列的知识.我们通过这篇文章来回顾以下.

进程的定义

我们首先看一下进程的定义
程序并发执行的三个特征
失去了封闭性(资源的共享),间断性,结果的不可再现性,通常的程序是不能够参与并发执行的.因此,我们就引入了进程的概念
引入线程的目的那,就是为了程序能够独立的运行,这样就能做到并发执行,然后我们来思考一下,它是如何存在内存中的那,我们需要为它分配一个特定的数据结构,所以我们引入了进程控制块(PCB).通过这种数据结构,描述了进程的基本状况和活动的过程,进而控制和管理进程.
有了PCB,在算上要用到的程序段和数据段就构成了一个进程的实体(进程映像).
重点:我们把进程实体就称作是进程,创建一个进程就是创建进程实体中的PCB,因为程序也是有数据段和代码段的,PCB相当于是区分程序和进程的重要依据.以此类推,撤销进程呢,就是撤销进程的PCB.
了解了上面的,我们来对进程做一个定义吧:
进程是具有独立功能的程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位
进程是进程实体的运行过程,是系统进行资源分配和管理的基本单位

进程的特征

我们通过PCB区分进程和程序,进程呢也有程序不具备的特征,大概下面几个方面

进程的状态以及转换

我们先来看一下进程的三个基本状态:就绪状态(Ready),执行(Running),阻塞(block)状态,然后还有其他的状态,我们一会在来看.
我们先分析一下这三种基本的状态

三个进程的基本状态说完了,我们在来看看三种基本状态的转换,其实根据上面的描述,我们已经大概知道了,什么时候进入就绪,什么时候进入阻塞,还有什么时候执行,我先来画一张图片:

图片.png
注意:就绪状态只会和执行状态进行相互转换,就绪状态是不会变成阻塞状态的,阻塞状态也不会直接变成执行状态的
当一个执行状态的进程变成了阻塞状态,它只有可能在i/o完成之后变成就绪状态,不会变成其他的状态的

我们了解完了进程最基本的三种状态,我们进一步了解一下,进程还有什么其他的状态

创建状态和终止状态

挂起操作

系统和用户观察和分析进程的需要,还引入对进程的重要操作-----挂起操作.当这个操作被执行作用于某个进程时,这个进程就会被挂起,然后进入静止状态.如果当前的线程在执行,那就停止执行.如果他处于就绪状态,此进程就不接受调度.与挂起操作对应的是激活操作.
挂起操作的引入
我们为什么要引入挂起操作呢?是基于系统和用户的需要

挂起操作的转换

活动就绪------>静止就绪.当进程处于未被挂起的就绪状态,这时候称为活动就绪状态,此时进程可以接收调度.当被挂起之后,该进程就转变为就绪状态,这个时候的进程就不再调度执行
活动阻塞----->静止阻塞.当进程处于未被挂起的阻塞状态之后,称作它是处于活动阻塞状态,如果这个时候被挂起之后,进程就变成了静止阻塞状态,当处于静止阻塞状态的时候,这个时候期待的事情发生之后,就会进入静止就绪状态
静止就绪----->活动就绪.当执行激活原语时,就由静止就绪变成了活动就绪.
静止阻塞----->活动阻塞.激活原语之后,变成了活动阻塞.


图片.png

注意:当执行的时候执行挂起操作,没有与之对应的活动执行状态,而是直接进入静止就绪

上一篇 下一篇

猜你喜欢

热点阅读