一、进程分类
1、处理器消耗类型:
*渴望获取更多的CPU时间,并消耗掉调度器分配的全部时间片
*常见例子:无限死循环、科学计算、影视特效渲染
2、I/O消耗型:
*由于等待某种资源通常处于阻塞状态,不需要较长的时间片
*常见例子:等待用户输入、GUI程序、文件读写I/O程序
二、、Linux调度策略
1、对不同进程采取不同调度策略,实现多个调度器
*完全公平调度CFS
*实时进程调度RT
*最终期限调度DL
*IDLE类调度器、STOP类调度器
2、不同进程由不同的调度器管理,彼此之间互不干扰
*处理器消耗型进程:减少优先级,分配尽可能长的时间片
*I/O消耗进程:增加优先级、增加实时性、增强用户体验
*两者混合型
三、、查看进程状态: $ ps ax
S:进程呈睡眠态,通常等待某个事件,如一个信号
R:就绪/可运行状态
D:深度睡眠,即不可中断的睡眠,通常指等待输入或输出完成
T:进程被暂停执行,如进程被shell的ctrl+z暂停,或处于调试中
Z:僵尸进程
N:低优先级进程
s:进程是会话首进程
+:进程属于前台进程组
l:进程是多线程的(注:小写的L)
L:has pages locked into memory ( fo r real-time and custom IO)
<:高优先级进程