Linux进程优先级与环境变量初识

🧸🧸🧸各位大佬大家好,我是猪皮兄弟🧸🧸🧸
在这里插入图片描述

一、进程优先级

优先级就是用来确认谁先莫得某种资源,谁后获得(由调度器通过调度算法调度)
因为CPU是有限的,进程太多,需要通过某种方式竞争资源,所以有优先级

二、Linux具体的优先级做法

优先级 = 老的优先级 + nice值

ps -al   //查看登录的这个会话当中相关的进程

ps -al 才看得到优先级和nice值
在这里插入图片描述

PRI 和 NI

PRI 就是priority 优先级
就是被CPU执行的先后顺序,值越小,优先级越高,越先被执行
NI 就是 nice值
NI表示进程可被执行的优先级的修正数值
PRI(new)=PRI(old)+nice
当nice的值为负值的时候,程序的优先级值将会变小,优先级变高

调整进程优先级,在Linux下,就是调整进程的NI(nice值)
nice的取值范围是-20~19,一共40个级别
进程的NI不是进程的优先级,他们并不是一个概念,但是进程nice值会影响到进程的优先级变化,也就是说NI是进程优先级的修正数据

优先级的调整操作

打开Linux任务管理器top
输入r就可以重新修改NI值来对优先级进行修改
在这里插入图片描述
首先输入PID,然后回车后会提示对某进程重新赋值
在这里插入图片描述
如果系统不让把优先级调高(PRI变低)
sudo top以管理员的身份打开
一个进程的老的PRI是不会被改变的,都只是用NI去修正新来获得新的PRI,因为要调度平衡,不能一直先调用某一进程的不公平问题,所以优秀的OS,NI的改变都不会很大

三、其他概念

1.竞争性:系统进程数目中哪个多,而CPU资源只有少量,甚至一个,所以进程之间是具有竞争性的,为了高效完成任务,更合理竞争相关资源,便有了优先级

2.独立性:进程具有独立性,多进程开发,需要独享各种资源,多进程运行期间互不干扰,就算一个进程崩掉了,而且需要和其他进程共享资源,也几乎不会影响,包括父子进程,就是因为互不影响,才回去创建子进程

3.并行:多个进程在多个CPU下分别,同时进行,这就叫做并行(普通的电脑上只有一个CPU,像服务器那些就有多个CPU)

4.并发:多个进程在一个CPU下采用进程切换的方式(特别快),在一段时间内,让多个进程都得以推进,称之为并发

CPU去调度进程并不是说一个进程执行完之后才去执行下一个进程,不然的话写一个死循环就可以黑掉这台计算机,所以有进程切换,而这个过程特别快,比如开了 多个软件,并不是说他在同时运行,而是在 一个时间段内都在向前推进,这就可以看出CPU的进程切换是很快很快的

1.时间片:给一个进程固定执行的时间,执行得了多少是随机的,执行不完先去排队,等会儿再来,先让其他进程执行。
2.抢占与退让:有可能这个时间片没到我就执行完了,所以出让,优先级更高的进程进行抢占,所以可以在一个时间段内较为均衡的占用CPU的资源

切换:CPU内有非常多的寄存器
如进程A、B
如果进程A正在被运行,CPU内的寄存器里面,一定保存的时进程A的临时数据,临时数据存在的时候,这个数据就叫做进程A的上下文数据,上下文数据是绝对不可以丢弃的。如果上下文数据丢弃,进程也就无法运行了(因为CPU内的寄存器只有一份(多个),当时间片到了,或者被抢占(暂时切换下来),进程A就要带着自己的上下文数据走,带走暂时保存的目的就是为了下次回来的时候能恢复上去,就能按照之前的逻辑继续向后推进,就如同没有中断过一样)

四、环境变量

环境变量(environment variables)
一般是指在操作系统中用来指定操作系统运行环境的一些参数

比如:在编写C/C++代码,链接的时候,从来不知道我们所链接的静态库在哪里,但是还是照样链接成功,生成可执行程序,原因就是有相关环境变量帮助编译器进行查找。
环境变量通常具有某些特殊用途,还有在系统当中通常具有的全局属性

配置临时环境变量

运行系统命令时就可以不带路径,而执行我自己写的程序时就必须带路径,如果不想带,那么我们就可以给他配置环境变量

PATH就是一个环境变量名,环境变量不止PATH
取变量名需要带上$ 比如 echo $PATH
在这里插入图片描述
可以看出,配置的PATH环境变量是以 : 冒号分割的

pwd   //获得路径
export PATH=$PATH:路径   //就配置好了临时的环境变量

这样就可以修改PATH并且重新赋值给PATH,这样配置下一次登录就失效了
Linux的export用于设置环境变量

如果想永久的配置,那么只能改系统当中的配置文件

查看环境变量

env(environment)查看环境变量
在这里插入图片描述

查看家目录的环境变量echo $HOME
查看SHELL外壳程序的环境变量echo $SHELL

在这里插入图片描述

  • 9
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猪皮兄弟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值