Linux基础4-进程3(进程优先级,竞争,独立,并行,并发,进程切换)
上篇文章:Linux基础4-进程2(Linux中的进程状态,R,S,D,T,t,Z,X,僵尸进程,孤儿进程)_进程状态t-CSDN博客
本章重点:进程优先级
目录
一. 进程优先级
二. 进程的竞争,独立,并行,并发
三. 进程切换
一. 进程优先级
优先级的基本概念:
OS在管理进程的时候,会给进程分配资源,这个决定了哪个进程先执行,哪个进程后执行。进程拥有先后执行的能力称为进程的优先级。
OS通过配置进程的优先级可以改善系统的性能。
进程的优先级本质是进程控制块PCB中的一个内部属性,这个数字代表了进程的优先级。该数字的值越低,进程的优先级越高。
使用 ps -la 可以获取两个值 PRI 和 NI
PRI : 代表这个进程执行的优先级,该值越低,该进程优先级越高
NI: 代表这个进程的nice值
最终优先级 = PRI + NI
PRI是默认优先级,NI是修正数据。
我们可以通过修改NI值来更改进程的优先级
注意:NI不是优先级,它只会影响进程的优先级
我们可以通过top命令修改进程的优先级
输入top进入后,再输入r,输入进程PID,即可修改该进程的nice值
通过top+进程pid可以调整其nice值 nice调整的范围 [-20,19]
二. 进程的竞争,独立,并行,并发
竞争:进程过多,资源过少,为了高效完成任务,合理使用资源,所以有优先级。
独立:多个进程运行,需要独享各种资源,多进程运行的时候不会相互干扰。
并行:多个进程在多个cpu下同时运行。
并行:多个进程在同一个cpu下采用进程切换的方式,在一段时间内,让多个进程同时推进。
三. 进程切换
一个进程A在时间片完成后,cpu会保留和恢复进程的数据,cpu会把进程A的数据放到操作系统中,然后执行下一个进程B。这样一来,当我们要重新执行进程A的时候,就能用进程A的数据继续执行。
在进行进程切换的时候,需要进行上下文的保护
在进程恢复的时候,需要进行上下文的恢复
上下文:存储在寄存器中的数据
cpu中的寄存器被所有进程共享,但是某一个寄存器中的数据,只被某一个进程私有