操作系统:进程学习笔记

前言

程序顺序执行的三大特性:
1. 顺序性:指处理机严格按照程序所规定的的顺序执行。
2. 封闭性:指程序在封闭的环境运行即程序运行时独占全机资源,资源状态只能有本程序才能够改变它,程序一旦执行,其运行结果不受外界影响;
3. 可再现性:指只要程序执行顺序时的运行环境和初始条件相同,当程序重复执行时,都可以获得相同的结果。

在多道程序环境下,程序的执行属于并发执行,此时它们失去封闭性,并具有间断性,以及结果运行不可再现的特征。由此,决定了程序是不能参加并发执行的。为了能使程序并发执行,并且可以对并发执行的程序加以描述,这才引入了“进程”的概念。

进程实体

由进程控制块(Process Control Block,PCB)、数据段和程序段组成。

进程定义

进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。

进程特征

  • 动态性:进程的实质是进程实体的执行过程,因此,动态性就是进程的最基本的特征。动态性还表现在:“它由创建而产生,由调度而执行,由撤销而消亡”。
  • 并发性:是指多个进程实体同存于内存,且能在一段时间内同时运行(交替运行)。
  • 独立性:是指进程实体是一个能独立运行,独立获得资源和独立接受调度的基本单位。
  • 异步性:是指进程按异步方式运行的,即按照各自独立的、不可预知的速度向前推进。

进程基本状态

  • 就绪态:是指进程已处于准备好运行的状态,即进程已分配道除CPU以外的所有必要资源后,只要再获得CPU,便可立即执行。进程按一定策略存储在就绪队列里。
  • 执行状态:是指进程已获得CPU,其程序正在执行的状态。
  • 阻塞状态:是指正在执行的进程由于发生I/O请求、申请缓冲区等暂时无法继续执行时的状态,亦即进程的执行受到阻塞。

进程状态转换

操作系统:进程学习笔记_第1张图片

创建状态和终止状态

  1. 创建状态:进程是由创建而产生。创建进程一般通过多个步骤才能完成:首先由进程申请一个PCB,并向PCB中填写用于控制和管理进程的信息;然后为该进程分配运行时所必须的资源;最后,把该进程转入就绪状态并插入就绪队列之中。但如果进程所需的资源尚不能得到满足,此时创建工作尚未完成,进程不能被调度运行,于是把此时的进程所处的转台称为创建状态。
  2. 终止状态:首先,进程等待操作系统进行善后处理,最后将其PCB清零,并将PCB空间返还系统。当一个进程到达了自然结束点,或是出现了无法克服的错误,或是被操作系统所终结,或是被其他有终止权的进程所终结,它将进入终止状态。进入终止态的进程以后不能在执行,但操作系统中依然保留一个记录,其中保存状态码和一些计时统计数据,供其他进程收集。

挂起操作和进程状态转换

为了系统和用户观察和分析进程的需要,引入进程挂起操作。当操作作用于某个进程时,该进程将被挂起,意味着此时该进程处于静止状态。与挂起对应的操作是激活操作。

  1. 挂起操作的原因:
    • 终端用户的需要。
    • 父进程的请求。
    • 操作系统的需要。
    • 负荷调节的需要。
  2. 引入挂起原语操作后三个进程状态转换
    • 活动就绪->静止就绪:当进程处于未被挂起的就绪状态时,称此为活动就绪状态,此时合一接受调度。当用挂起原语Suspend将该进程挂起后,该进程便转为静止就绪状态。处于静止就绪状态的进程不再被调度执行。
    • 活动阻塞->静止阻塞:当进程处于未被挂起的阻塞状态时,称它是处于活动阻塞状态。当用Suspend原语将它挂起后,进程便转变为静止阻塞状态。处于该状态的进程在期待的事件出现后,它将从静止阻塞变为静止就绪状态。
    • 静止就绪->活动就绪:处于活动静止就绪状态的进程若用激活原语激活后,该进程转变为活动就绪状态。
    • 静止阻塞->活动阻塞:处于活动静止阻塞状态的进程若用激活原语激活后,该进程转变为活动阻塞状态。
  3. 引入挂起操作后五个进程状态转换

操作系统:进程学习笔记_第2张图片

你可能感兴趣的:(多进程)