美文网首页
进程的描述与控制

进程的描述与控制

作者: chengcongyue | 来源:发表于2019-04-13 15:25 被阅读0次

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

进程的定义

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

进程的特征

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

  • 动态性 记住一句话,进程是进程实体的执行过程,除此之外,它由创建而产生,由调度而执行,由撤销而消亡
  • 并发性 这个很好理解
  • 独立性 独立的运行,独立的获得资源,独立的接收调度
  • 异步性,进程是按照异步进行执行的,各自独立,速度是不可预知的.也就有了程序并发执行的结果不可再现性,但是进程有它相应的同步机制,仍可以保证运行的结果的可再现性

进程的状态以及转换

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

  • 就绪状态
    通俗的一点来讲,就绪状态就是只已经获得了所有执行需要的资源,只差分配到CPU的资源,也就是进程以及做好了运行的准备,这时候只要获得了CPU就可以运行了.如果系统中有多个处于就绪状态的进程,我们通常把它按照一定的策略排成一个队列,然后称这个队列为就绪队列.
  • 执行状态
    如果获得了CPU的调度权,就进入了执行状态.如果是单处理机,那么只有一个进程处在执行状态,如果有多个处理机,就会有多个进程处在执行状态
  • 阻塞状态
    当前正在运行的进程由于发生了某些事件(IO请求,申请缓冲区失败),而无法继续执行,进程的执行受到了阻塞.此时引起了进程的调度,将CPU分配给另一个就绪进程,让受阻的进程处于暂停的状态,一般把这种阻塞状态,成为等待状态或者是封锁状态.就上就绪状态中的,它会把多个阻塞进程排成一个队列.实际上,在较大的系统中,为了减少队列操作的开销,提高系统效率,会根据不同的阻塞原因,设置多个阻塞队列

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

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

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

创建状态和终止状态

  • 创建状态是一个比较复杂的状态,它发生在就绪状态之前,就像前面所说的,进程是由创建而产生.首先要先申请一个空白的PCB,并向PCB中填写用于控制和管理进程的信息,然后为进程分配运行时所必要的资源,最后再把进程转化为就绪状态然后插入到就绪队列之中.如果进程所需的资源不能得到满足,进行就不能够被调度运行,此时的线程被称为创建状态,在其获得了所需要的资源以及对PCB的初始化之后,就可以由创建状态转化为就绪状态
  • 终止状态 等待操作系统进行善后处理,最后将其PCB清零,并将PCB空间返还系统.
    到达了自然结束点,出现了无法克服的错误,被操作系统终结,或者被其他有终止权的进程终结,它将进入终止状态.进入终止状态的进程以后就不能再执行了,但是操作系统中仍保持了这样的一个记录.当这些记录被其他的线程提取之后,操作系统就会删除这些进程,PCB清理,占用的空间返回给系统.


    图片.png

    核心思想并没有发生变化,只是在边边角角进行了修改

挂起操作

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

  • 终端用户的需要,如果终端用户发现自己的程序在运行期间有可疑的问题,希望暂停自己程序的运行
  • 父进程的请求.对子进程进行考察和修改,然后协调各个子进程的活动
  • 负荷调节的需要.
  • 系统操作的需要.操作系统有时希望挂起某些进程,对资源的使用情况进行记录

挂起操作的转换

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


图片.png

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

相关文章

  • 进程的描述与控制

    进程的定义和特征 进程的特征 进程的基本状态及转换 进程的三种基本状态 三种基本状态的转换 创建状态和终止状态 挂...

  • 进程的描述与控制

    请解释一下,LINUX下的线程,GDI类 考察点:线程参考回答: LINUX实现的就是基于核心轻量级进程的”一对一...

  • 进程的描述与控制

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

  • 进程描述与控制(二)

    先引入问题:OS如何感知进程,控制进程及其所用的系统资源?OS内核如何提供这些功能,操作系统也是进程吗?进程创建过...

  • 进程描述与控制(一)

    进程概念 1.程序的执行过程,是系统进行资源分配和调度的独立单元;2.特性:动态,并发,独立,异步;3.进程结构:...

  • 进程的描述和控制

    前驱图和程序执行 程序顺序执行时的特征 (1)顺序性:按顺序执行 (2)封闭性:不受其他 程序影响 (3)可再现性...

  • Chapter2-进程的描述与控制

    资源分配和独立运行的基本单位 前趋图Pi->Pj 直接前趋,直接后继初始结点,终止结点结点的重量->执行时间 程序...

  • Section 2 - 进程的描述与控制 - PART - 2

    进程的描述与控制 6.进程的通信-高级通信进程通信是指进程之间的信息交换,根据交换信息量的多少分为:低级进程通信:...

  • 第二章 进程的描述与控制2

    2.2进程控制与同步 一、进程控制 1、进程控制的基本过程: 1)进程的创建 2)进程的终止 3)进程的阻塞与唤醒...

  • 第二章 进程管理

    为了描述个和控制进程的运行,系统为每个进程定义了一数据结构——进程控制块PCB(Process Control B...

网友评论

      本文标题:进程的描述与控制

      本文链接:https://www.haomeiwen.com/subject/kfolwqtx.html