进程
进程
进程五状态模型
- 创建
- 就绪
- 阻塞
- 执行
- 终止
进程就绪状态
当进程被分配到除CPU以外所有必要的资源后,只要再获得CPU的使用权,就可以立即执行,即其他资源都准备好,只差CPU资源的状态称为就绪状态
,在一个系统中多个处于就绪状态的进程通常排成一个队列,称为就绪队列
进程执行状态
进程获得CPU,其程序正在执行称为执行状态,在单处理机中,某个时刻只能有一个进程是处于执行状态
进程阻塞状态
进程因某种原因,如其他设备未就绪而无法继续执行,从而放弃CPU的状态称为阻塞状态,在一个系统中多个处于阻塞状态的进程通常排成一个队列,称为阻塞队列
进程创建状态
创建进程时拥有PCB但其他资源尚未就绪的状态称为创建状态
进程终止状态
系统清理,归还PCB的状态称为终止状态
进程同步
对竞争资源在多进程间进行使用次序的协调,使得并发执行的多个进程之间可以有效使用资源和相互合作
临界资源指的是一些虽作为共享资源却又无法同时被多个线程共同访问的共享资源。当有进程在使用临界资源时,其他进程必须依据操作系统的同步机制等待占用进程释放该共享资源才可重新竞争使用共享资源
- 空闲让进:资源无占用,允许使用
- 忙则等待:资源有占用,请求进程等待
- 有限等待:保证有限等待时间能够使用资源
- 有权等待:等待时,进程需要让出CPU
Linux的进程管理
进程的类型
- 前台进程,具有终端,可以和用户交互的进程
- 后台进程,没有占用终端的就是后台进程,后台进程基本上不和用户交互,优先级比前台进程低,将需要执行的命令以”&”符号结束
- 守护进程,是特殊的后台进程,很多守护进程在系统引导的时候启动,一直运行直到系统关闭,在linux中,进程名字以d结尾的一般都是守护进程
进程的标记
- 进程ID,是进程的唯一标记,每个进程拥有不通的ID,进程ID表现为一个非负数,最大值由操作系统限定
- 进程的状态标记
状态符号 | 状态说明 |
---|---|
R | (TASK_RUNNING)进程正处于运行状态 |
S | (TASK_INTERRUPTIBLE),进程正处于睡眠状态 |
D | (TASK_UNINTERRUPTIBLE),进程正处于IO等待的睡眠状态 |
T | (TASK_STOPPED),进程正处于暂停状态 |
Z | (TASK_DEAD or Exit_ZOMBIE),进程正处于退出状态,或僵尸进程 |