【Linux】进程优先级 | 环境变量

目录

Ⅰ. 进程优先级(Process Priority)

1. 什么是进程优先级?

2. 查看系统进程

3. 修改进程优先级

4.优先级调度原理 

Ⅱ. 进程的切换(Process Switch)

1. 竞争与独立

2. 并行与并发

3. 进程抢占

4.实现切换

Ⅲ. 环境变量(Environment Variables)

1. 什么是环境变量?

2. 常见的环境变量

3. 设置环境变量

​编辑

文章手稿


文章手稿可见文末

Ⅰ. 进程优先级(Process Priority)

1. 什么是进程优先级?

  • cpu资源分配的先后顺序,就是指进程的优先级(priority)。
  • 优先权高的进程有优先执行权利。配置进程优先权对多任务环境的linux很有用,可以改善系统性能。
  • 还可以把进程运行到指定的CPU上,这样一来,把不重要的进程安排到某个CPU,可以大大改善系统整体性能。

2. 查看系统进程

在Linux或Unix系统中,可以使用ps -l命令查看系统进程的相关信息,包括UID、PID、PPID、PRI和NI等。PRI代表进程的优先级,NI代表进程的nice值。PRI值越小,进程的优先级越高。

查看一下:

3. 修改进程优先级

修改进程优先级主要是通过修改nice值实现的,nice值范围为-20至19,数值越小,优先级越高。可以使用nicerenice命令或通过top命令进行修改。

$ sudo top
# 在top命令界面按“r”键,输入进程PID和新的nice值

 就可以发现修改成功啦

4.优先级调度原理 

底层原理:

Ⅱ. 进程的切换(Process Switch)

1. 竞争与独立

  • 进程之间存在竞争性,因为系统资源有限。
  • 多进程运行期间,每个进程需要独享资源,不会互相干扰,这体现了进程的独立性。

2. 并行与并发

  • 并行是指多个进程在多个CPU下同时运行;
  • 并发是指多个进程在单个CPU下通过进程切换的方式,在一段时间内推进多个进程的执行

3. 进程抢占

抢占式内核允许优先级高的进程抢占CPU资源。当一个低优先级进程正在运行时,如果来了一个高优先级的进程,调度器会将低优先级进程剥离CPU,切换到高优先级进程。

4.实现切换

当进程在被执行的过程中,一定会存在大量的临时数据,会暂存在 CPU 内的寄存器中。

我们把进程在运行中产生的各种寄存器数据,我们叫进程的硬件上下文数据。

  • 当进程被剥离:需要保存上下文数据
  • 当进程恢复时:需要将曾经保存的上下文数据恢复到寄存器中。

调度器根据保存的进程上下文,就可以实现进程切换啦

上下文在哪里保存?task_struct !


Ⅲ. 环境变量(Environment Variables)

1. 什么是环境变量?

环境变量是操作系统中用来指定运行环境的一些参数。它们通常具有全局特性,可以影响系统和应用程序的行为。

❓ 思考:为什么我们的代码运行要带路径,而系统的指令不用带路径?

系统中是存在相关的 环境变量,保存了程序的搜索路径的!

为什么我们的代码运行要带路径,而系统的指令不用带?其本质是由环境变量 PATH 引起的!

2. 常见的环境变量

我们可以通过 env 指令查看环境变量

  • PATH: 指定命令的搜索路径

 如何查看环境变量的内容?我们可以使用 echo  去显示:

环境变量 PATH 中会承载多种路径,中间用冒号 ( : ) 作为分隔符。

  • HOME: 指定用户的主工作目录
  • SHELL: 当前Shell的位置

3. 设置环境变量

可以使用echo命令查看环境变量的值,使用export命令设置新的环境变量。

$ echo $PATH
$ export PATH=$PATH:/my/custom/path

为了使自定义的可执行程序不带路径也能执行,可以将程序所在路径加入到PATH环境变量中。

$ export PATH=$PATH:/path/to/your/program

创建与删除: 

$ export MYENV="hello world"
$ unset MYENV

一些常见环境变量的查看:


文章手稿

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/35391.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

鸿蒙期末项目(完结)

两天仅睡3个小时的努力奋斗之下,终于写完了这个无比拉跨的项目,最后一篇博客总体展示一下本项目运行效果兼测试,随后就是答辩被同学乱沙(悲 刚打开软件,会看到如下欢迎界面,介绍本app的功能和优点 随后我们…

在线开发、实时交互 | 三维天地低代码开发平台助力提高项目交付速度

1.什么是低代码开发平台? 低代码开发平台基于北京三维天地科技股份有限公司自研原生技术架构研发。三维天地作为国内知名的检验检测信息化领域软件开发服务商,拥有多项自主知识产权及自主研发核心技术,致力于为客户提供信息化整体解决方案及相关软件产品与服务。 三维天地低…

【包邮送书】深度学习与信号处理

欢迎关注博主 Mindtechnist 或加入【智能科技社区】一起学习和分享Linux、C、C、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和技术。关…

视觉震撼背后:带宽对渲染农场的重要性

在这个注重视觉体验的时代,无论是电影、电子游戏还是虚拟现实(VR),令人印象深刻的视觉效果都依赖于渲染农场的强大能力。而带宽,则是确保这些画面能够迅速且以高清晰度传递给我们的核心要素。 一、核心概念&#xff1a…

1.2章节input输入函数语法使用和示例

在Python中,input() 函数用于从用户获取输入。这个函数会等待用户输入一行文本,然后按回车键,最后将输入的文本作为字符串返回。 一、基本语法 当你运行上面的代码时,它会打印出 "请输入一些文字: ",然后等…

工商银行:低息差下的挣扎

时隔四年,市值再度超越贵州茅台成为A股“股王”。 今天要说的就是“宇宙行”——中国工商银行 虽然茅台的信仰开始崩塌,但各大银行股巨头们今年也不好过。2024年一季度六大行业绩集体受挫,息差普遍收窄超过20个基点。其中,包括工…

航天航空零部件装配制造MES系统解决方案详解

航天航空零部件制造行业是一个技术密集、工艺复杂且对精度和可靠性要求极高的行业。为了提升生产效率、保证产品质量并满足严格的行业标准,越来越多的航天航空零部件制造企业引入了MES系统。本文将详细介绍MES系统在航天航空零部件制造行业的应用方法及其价值。 一…

卸载vmware时2503,2502报错的解决办法

1.背景 windows 卸载vmware时,显示2503报错,无法完全卸载 2. 解决方案 2.1 参考安装报错2502,2503的处理方式 文献:https://blog.csdn.net/zhangvalue/article/details/80309828 2.1 步骤: 2.1.1 cmd 管理员打开…

《2023-2024安服安全技术研究白皮书(正式版)》

2023年5月,我们再次更新了《2022-2023安服安全技术研究白皮书》,这次我们进行了内容丰富,并特别介绍了我们围绕反APT技术栈的一些研究和想法,通过该技术栈的积累扩展了更多的安全能力,包括对攻击生命周期本身的认知、攻…

Arduino - 继电器

Arduino - 继电器 In a previous tutorial, we have learned how to turn on/off an LED. In this tutorial, we are going to learn how to turn on/off some kind of devices that use the high voltage power supply(such as a light bulb, fan, electromagnetic lock, lin…

亚马逊卖家的ERP代理贴牌与独立部署策略

贴牌,就是将亚马逊ERP进行个性化定制,包括更换成自己公司的logo、域名、收款账户,同时支持与自己的物流渠道进行对接,以满足自建仓库的需求。 对于独立部署,这需要有自己的服务器、数据库和存储空间等基础设施。在贴牌…

AI时代的风口,中小企业也不能错过

文|白 鸽 编|周效敬 这些场景,对你来说或许并不陌生: 在医院的大屏上,一个医生模样的数字人在做医疗知识科普;在抖音的直播间里,一个真人模样的数字人在线上直播带货,24小时无休无…

音频剪辑技巧:音频降噪在线怎么降噪?分享7种录音去除杂音方法

相信很多小伙伴们都有这种苦恼:在编辑音频时,你可能发现即使你使用了价格昂贵的隔音麦克风,在录音中仍然存在呼吸声和咳嗽声。因此,如果要传达清晰干净的声音以表达你的信息,你该如何从录音去除杂音呢?别心…

小程序消息定时任务(定时触发器)发送总结

文章目录 小程序消息定时任务(定时触发器)发送总结1.开发思路2.实现办法3.查看定时触发器是否正常运作4.总结小程序消息定时任务(定时触发器)发送总结 1.开发思路 在使用小程序的时候总是会遇到消息任务发送的情况,但是很多时候是预约发送,这个时候我们就要使用小程序里…

Android高级面试_2_IPC相关

Android 高级面试-3:语言相关 1、Java 相关 1.1 缓存相关 问题:LruCache 的原理? 问题:DiskLruCache 的原理? LruCache 用来实现基于内存的缓存,LRU 就是最近最少使用的意思,LruCache 基于L…

OverTheWire Bandit 靶场通关解析(上)

介绍 OverTheWire Bandit 是一个针对初学者设计的网络安全挑战平台,旨在帮助用户掌握基本的命令行操作和网络安全技能。Bandit 游戏包含一系列的关卡,每个关卡都需要解决特定的任务来获取进入下一关的凭证。通过逐步挑战更复杂的问题,用户可…

Interview preparation--elasticSearch倒排索引原理

搜索引擎应该具备哪些要求 查询速度快 优秀的索引结构设计高效率的压缩算法快速的编码和解码速度 结果准确 ElasiticSearch 中7.0 版本之后默认使用BM25 评分算法ElasticSearch 中 7.0 版本之前使用 TP-IDF算法 倒排索引原理 当我们有如下列表数据信息,并且系统…

【字符串】【双指针】1、仅仅反转字母+2、回文子串+ 3、最长回文子串+4、验证回文串+5、反转字符串中的单词

今天依旧是字符串!2道简单+3道中等 1、仅仅反转字母(难度:简单) 该题对应力扣网址 错误做法 一开始是“原始”思路,交了之后果然不对,错误的思路我也就不解释了。 class Solution { public:…

高考未上本科线,大专不是唯一归宿

高考,作为人生中的一次重要考试,其结果往往牵动着无数家庭的心。然而,当高考成绩未能达到本科线时,是否就意味着大专是唯一的选择呢?其实不然,现代教育体系的多样化为我们提供了更多的可能性,其…

openinstall拥抱鸿蒙生态,SDK全面适配HarmonyOS NEXT

作为国内领先的App渠道统计与深度链接服务商,openinstall持续推动鸿蒙生态建设,近日正式发布openinstall HarmonyOS SDK,并成功入驻鸿蒙生态伙伴SDK专区,成为华为鸿蒙生态的合作伙伴,为鸿蒙应用开发者带来安全合规、高…