本文主要参考《计算机操作系统(第四版)》(西安电子科技大学出版社)以及清华大学操作系统公开课(向勇、陈渝),整理操作系统的基本概念,供自己复习查阅。
在多道程序环境下,程序的执行是并发的,因此程序也失去了封闭性,执行具有间断性且执行结果具有不可再现性。这也就决定了程序是不能参与并发执行的。为此,引入了“进程”的概念。
进程是一个具有一定独立功能的程序在一个数据集合上的一次动态执行过程。进程包含代码段、数据段、以及进程控制块(Process Control Block,PCB)。进程的创建和撤销实质上是创建和撤销进程实体中的PCB。
进程在并发时共享系统资源,因此它们在运行时呈现间断性,即进程在生命周期中可能具有多种状态。一般来说进程处于三种基本状态之一,同时为了保证描述的完整性,引入了创建状态和终止状态。
前面提到进程的创建主要是指创建PCB。创建PCB一般需要如下步骤:申请一个空白PCB,并向其中填写用于控制管理进程的信息;为该进程分配运行所必须的资源。完成上述步骤之后,进程就处于就绪状态并被送入就绪队列。
指进程已经处于准备好运行的状态(即进程已经获取到除了CPU以外所有所需的资源,只要再获得CPU即可执行)。通常把所有就绪态的进程按一定的策略排序,存放到就绪队列中。
即程序已经获得CPU,正在执行。
阻塞是指正在执行的进程由于发生某事件而暂时无法继续执行的状态。
进程终止一般需要如下步骤:等待操作系统处理善后;将PCB清零然后归还给操作系统。
为了系统和用户观察和分析进程的需要,引入一个对进程的重要操作——挂起操作。进程被挂起意味着该进程处于静止状态,即若进程在执行,它将暂停执行;若进程已就绪,它将暂时不接受调度。对应地,解除挂起状态的操作是激活操作。
操作系统管理的数据结构一般分为四类:内存表、设备表、文件表、进程表,其中进程表即进程控制块,它是一种记录型数据结构。
使一个在多道程序环境下不能独立运行的程序(包含数据)成为应该能独立运行的基本单位,具体作用如下:
进程控制块中主要包含如下信息:
常用的PCB组织方式有三种:
原文:https://www.cnblogs.com/Li-F/p/11870312.html