文章目录
前言
作为资源分配和独立运行的基本单位都是进程。操作系统所具有的四大特征也是基于进程而形成的。
一、进程的定义及特征?
1.进程的定义
(1)进程是程序的一次执行。
(2)进程是一个程序及其数据在处理机上顺序执行时所发生的活动。
(3)进程是具有独立功能的程序在一个数据集合上运行的过程 ,它是系统进行资源分配和调度的一个独立单位。
为了是参与并发执行的每个程序都能独立地运行,在操作系统中必须为之配置一个专门的数据结构——“进程控制块(Process Control Block,PCB)”。系统利用PCB来描述进程的基本情况和活动过程,进而控制和管理进程。程序段、相关数据段、PCB三部分构成了进程实体(又称进程映像)。所谓创建进程,实质上是创建进程实体中的PCB;而撤销进程,实质上是撤销进程的PCB。
(4)进程是进程实体的运行过程,它是系统进行资源分配和调度的一个独立单位。
2.进程的特征
(1)动态性
(2)并发性
(3)独立性
(4)异步性
3.进程和程序的区别
可以从以上四个特性进行区分:
(1)进程由创建而产生,由调度而执行,有撤销而消亡,可见程序实体有一定的生命周期,具有动态性;
程序是一组有序指令集合,其本身不具有活动的含义,具有静态性。
(2)进程具有并发性(在一段时间内,进程实体可以并发执行);
程序(没有建立PCB)不能参与并发执行。
(3)进程实体是一个能独立运行、独立获得资源和独立接受调度的基本单位;
凡是没有建立PCB的程序都不能作为一个独立的单位参与运行。
二、进程的基本状态及转换
1.进程的三种基本状态
-
就绪状态ready:进程已经分配除CPU以外的所有必要资源,只要在获得CPU就可立刻执行。
-
执行状态running:进程已获得CPU,其程序正在执行的状态。
-
阻塞状态block:正在执行的进程由于发生某事件(如IO请求、申请缓冲区失败等)暂时无法继续执行的状态。
2.三种基本状态的转换
3.五种基本状态及转换
(1)创建状态:①进程申请一个空白PCB;②向PCB中填写用于控制和管理进程的信息;③为该进程分配运行所需要的的资源;④将该进程转入就绪状态并插入就绪队列中
(2)终止状态:①等待操作系统进行善后处理(操作系统保留该进程的信息供其他的进程提取);②将该进程的PCB清零,北京将PCB控件返还系统
4.挂起操作、激活操作和进程状态的转换
4.1.挂起和阻塞的区别
-
对系统资源占用不同:虽然都释放了CPU,但阻塞的进程仍处于内存中,而挂起的进程通过“对换”技术被换出到外存(磁盘)中。
-
发生时机不同:阻塞一般在进程等待资源(IO资源、信号量等)时发生;而挂起是由于用户和系统的需要,例如,终端用户需要暂停程序研究其执行情况或对其进行修改、OS为了提高内存利用率需要将暂时不能运行的进程(处于就绪或阻塞队列的进程)调出到磁盘
-
恢复时机不同:阻塞要在等待的资源得到满足(例如获得了锁)后,才会进入就绪状态,等待被调度而执行;被挂起的进程由将其挂起的对象(如用户、系统)在时机符合时(调试结束、被调度进程选中需要重新执行)将其主动激活
4.2.挂起操作的目的
-
终端用户的需要: 修改、检查进程
-
父进程的需要:修改、协调子进程
-
对换的需要:缓和内存
-
负荷调节的需要:保证实时任务的执行