🌟 快来参与讨论💬,点赞👍、收藏⭐、分享📤,共创活力社区。🌟
🚩用通俗易懂且不失专业性的文字,讲解计算机领域那些看似枯燥的知识点🚩
在 Linux 操作系统的复杂体系中,进程管理犹如一座精密运转的时钟,进程优先级、调度算法以及进程切换等关键机制协同工作,确保系统高效、稳定地运行。下面,让我们一同深入探索这些机制的奥秘。
目录
一、进程优先级:资源分配的关键指针 🎯
(一)优先级的本质 🤔
基本概念
- cpu资源分配的先后顺序,就是指进程的优先权(priority)。
进程优先级如同比赛的起跑顺序,决定进程获取 CPU 资源的先后。在 Linux 里,每个进程都有优先级数值,数值越小,越易优先获得 CPU 青睐,快速执行任务。就像百米赛跑,起跑靠前的选手更易领先 🏃♂️。
优先级 VS 权限
- 权限决定能否可执行,优先级是已经有权限,只是先后问题。
(二)优先级存在的意义 🌟
系统资源犹如稀缺的宝藏,而众多进程都渴望从中获取足够份额以完成自身任务(进程之间是有竞争性的)。
操作系统保证进程的良性竞争,依据进程的重要程度和紧急程度,有条不紊地分配资源。
以日常使用场景为例:
- 视频播放场景:当我们观看高清视频时,视频解码与播放进程需要大量的系统资源以保证画面的流畅性和实时性,因此被赋予较高优先级。这确保了视频能流畅播放,避免卡顿,为我们带来良好的观看体验。
- 后台更新场景:后台的自动更新进程,由于其对及时性要求相对较低,优先级也就相应调低。它会在系统资源相对充裕时才会执行,避免干扰前台重要任务,如视频播放、文档编辑等。
解决粉丝的问题:如何进行批量化注释?🤔
在命令模式下输入:
ctrl + v
通过键盘上的 H J K L (左下上右 )地调整
再按 shift + i ( I )
最后按 Esc
我们来看下面的进程
查看
PRI就是优先级的 priority,NI:nice
我们很容易注意到其中的几个重要信息,有下:
- UID : 代表执行者的身份
- PID : 代表这个进程的代号
- PPID :代表这个进程是由哪个进程发展衍生而来的,亦即父进程的代号
- PRI :代表这个进程可被执行的优先级,其值越小越早被执行
- NI :代表这个进程的nice值
(三)优先级的设置方法 🔧
PRI and NI
- PRI也还是比较好理解的,即进程的优先级,或者通俗点说就是程序被CPU执行的先后顺序,此值越小进程的优先级别越高
- 那NI呢?就是我们所要说的nice值了,其表示进程可被执行的优先级的修正数值
- PRI值越小越快被执行,那么加入nice值后,将会使得PRI变为:PRI(new)=PRI(old)+nice
- 这样,当nice值为负值的时候,那么该程序将会优先级值将变小,即其优先级会变高,则其越快被执行
- 所以,调整进程优先级,在Linux下,就是调整进程nice值
- nice其取值范围是-20至19,一共40个级别。
在 Linux 系统中,调整进程优先级主要通过修改进程的 nice 值来实现。nice 值的取值范围为 -20 到 19 ,