进程概念、状态、特性
一、进程的概念
进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。
在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。
(1)狭义定义:进程是正在运行的程序的实例(an instance of a computer program that is being executed)。
(2)广义定义:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。
(3)操作系统引入进程的概念的原因:
①从理论角度看,是对正在运行的程序过程的抽象;
②从实现角度看,是一种数据结构,目的在于清晰地刻画动态系统的内在规律,有效管理和调度进入计算机系统主存储器运行的程序。
二、进程的状态
(1)就绪态:排队(可以插队)
(2)睡眠态/挂起态:重新唤醒之后需要去排队
(3)暂停态:继续运行也要去排队
(4)执行态:正在运行的进程
(5)僵尸态:灵魂死了,尸体还在,还占用着内存
(6)死亡态:灰飞烟灭
三、进程的特性
(1)动态性:动态产生、动态消亡。
(2)并发性:任何进程都可以和其他进程一起并发运行。
(3)独立性:进程是一个独立运作的单位,同时也是系统分配资源和调度的基本单位。
(4)异步性:由于进程间的相互制约,是进程具有执行的间断性,即进程按照各自独立的,不可预知的速度向前推进。