进程
进程的概念
传统操作系统中进程被定义为:“进程是进程实体的运行过程,是系统进行资源分配和调度的基本单位。”
所谓的进程实体是由:程序段、相关的数据段以及PCB(进程控制块)构成。
系统使用PCB来描述进程的基本情况和活动过程,进而控制和管理进程。
每个进程都有自己的地址空间,即进程空间,在网络或多用户换机下,一个服务器通常需要接收大量不确定数量用户的并发请求,为每一个请求都创建一个进程显然行不通(系统开销大响应用户请求效率低),因此操作系统中线程概念被引进。
进程的特征
1、动态性:
进程的实质是进程实体的执行过程,因此动态性就是进程最近本的特征。动态性表现在:“它由创建而产生,由调度而执行,由撤销而消亡”。
2、并发性:
并发性是指多个进程共存于内存中,且能在一段时间内同时运行。
3、独立性:
独立性是指进程是一个能独立运行、独立获得资源和独立接受调度的基本单位。
4、异步性:
异步性是指进程按异步方式运行的,即按照各自独立的,不可预知的速度向前推进。正式源于此因,才导致了传统意义上的程序并发执行,会产生其结果不可再现性。
进程的基本状态及其转换
1、进程的三种状态
(1)就绪态。指进程已经准备好运行的状态,即进程已经分配到除CPU之外的所有必要资源,只要活得CPU可立即执行。
(2)执行态。指进程已经活得CPU正在执行。任意时刻而言,在单处理机系统中只有一个进程在执行。
(3)阻塞态。指正在执行的进程由于发生某些事件(如I/O申请,申请缓冲区失败等),暂时无法继续执行的状态。此时引起进程调度,OS把处理机分配给另一个就绪进程。
2、进程基本状态的转换
3、创建状态和终止状态
(1)创建状态。进程是由创建而产生的。创建进程是一个很复杂的过程,一般要通过多个步骤才能完成:首先申请一个空白的PCB,并向PCB写入用于进程管理和控制的信息;然后为该进程分配运行时必须的资源;最后把该进程转入就绪状态,并插入到就绪队列里面。
但如果进程运行的必需资源没有得到满足,此时进程创建尚未完成,不能被调度执行,于是把此时进程所处的状态称为创建状态。
(2)终止状态。进程的终止也需要两个步骤:首先等待OS进行善后处理;最后将其PCB清零,并将PCB空间返还系统