探秘 Linux 进程:优先级、调度与切换的精妙机制

  🌟 快来参与讨论💬,点赞👍、收藏⭐、分享📤,共创活力社区。🌟  

🚩用通俗易懂且不失专业性的文字,讲解计算机领域那些看似枯燥的知识点🚩 


        在 Linux 操作系统的复杂体系中,进程管理犹如一座精密运转的时钟,进程优先级、调度算法以及进程切换等关键机制协同工作,确保系统高效、稳定地运行。下面,让我们一同深入探索这些机制的奥秘。


目录

一、进程优先级:资源分配的关键指针 🎯

(一)优先级的本质 🤔

(二)优先级存在的意义 🌟

(三)优先级的设置方法 🔧

二、Linux 内核调度算法:资源分配的智慧引擎 🧠

(一)双队列架构:进程有序流动的通道 🚶‍♂️🚶‍♀️

(二)位图定位机制:精准查找进程的导航系统 🔍

(三)双指针切换策略:队列间的无缝衔接桥梁 🏗️

三、进程关键概念解读:深入理解系统运行的微观视角 🔎

(一)竞争性:资源竞争的激烈战场 ⚔️

(二)独立性:进程的专属隔离空间 🏰

(三)并行与并发:多任务处理的不同策略 🚀

四、Linux 内核进程切换:数据流转的幕后守护者 ⏱️

(一)CPU 寄存器与进程数据交互:数据传输的高速通道 🚄

(二)进程切换的本质:数据的保存与恢复艺术 🎨


一、进程优先级:资源分配的关键指针 🎯

(一)优先级的本质 🤔

基本概念

  • 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 ,

评论 42
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值