当前位置: 首页 > news >正文

7.进程概念(三)

一、进程优先级

是什么?

进程得到CPU资源的先后顺序。

为什么要有进程优先级?

目标资源稀缺,导致要通过优先级确定谁先谁后。

如何比较和分配?

进程优先级也是一种数字,int,task_struct

值越低,优先级越高,反之,越低。

基于时间片的分时操作系统,考虑公平性,优先级可能变化,但变化的幅度不能太大。

知识点:

PRI:进程优先级,默认80

NI:进程优先级的修正数据,nice值(默认为0)

进程优先级=PRI(默认)+NI

设计原因:优先级设计不合理,会导致优先级低的进程,长时间得不到CPU资源,进而导致进程饥饿。

查看进程优先级的命令
用top命令更改已存在进程的nice:
进入top后按“r”‒>输入进程PID‒>输入nice值

nice和renice命令:

nice [选项] <命令> [参数]

renice -n 优先级值 -p 进程编号PID

系统调用:getpriority,setpriority

补充概念-竞争、独立、并行、并发
竞争性:系统进程数目众多,CPU资源只有少量,甚至一个。
独立性:多进程运行,需共享各种资源,多进程运行期间互不干扰。
并行:多个进程在多个CPU下分别同时运行。(查看cpu信息,cat /proc/cpuinfo)
并发:多个进程在一个CPU下采用进程切换的方式,在一段时间内,让多个进程都得以推进。(重点)

二、 进程切换(重点)

1.死循环进程如何运行?

a.一个进程一旦运行,会把自己的代码跑完吗?

不会,有时间片,运行时间片时间就切换。

时间片:当代计算机都是分时操作系统,没有进程都有它合适的时间片(其实就是一个计数
器)。时间片到达,进程就被操作系统从CPU中剥离下来。

b.死循环程序,不会使系统卡死,不会一直占有CPU

结论:

1)寄存器就是CPU内部的临时空间

2)寄存器!=寄存器里面的数据

3.如何切换?

进程切换:最核心的就是 保存和恢复当前进程的硬件上下文的数据 ,即CPU内寄存器的内容。

切换时,进程要把自己的进程硬件上下文保存起来,保存到task_struct中,TSS:任务状态段。

补充:
实时操作系统:应用场景---新能源汽车的刹车

分时操作系统:内核优先级抢占,进程切换。

Linux进程调度真实算法:

相关文章:

  • 01_微服务常见问题
  • k8s术语pod
  • 解决vue3 路由query传参刷新后数据丢失的问题
  • Webug4.0通关笔记04- 第6关宽字节注入
  • FPGA中级项目7———TFT显示与驱动
  • gitmodule怎么维护
  • LeetCode:55.跳跃游戏——局部最优并非全局最优!
  • 如何个人HA服务器地址和长期密钥
  • 分享一个移动端项目模板:React-Umi4-mobile
  • 从厨房到云端:从预制菜到云原生
  • 浏览器打印日志方法与技巧
  • java连接redis服务器
  • vue 优化策略,大白话版本
  • Spring Security 的 CSRF 防护机制
  • [Android]导航栏中插入电源菜单
  • 【深度学习新浪潮】ISP芯片算法技术简介及关键技术分析
  • 强化学习之基于无模型的算法之蒙特卡洛方法
  • 【题解-Acwing】871. 约数之和
  • LeetCode 2962.统计最大元素出现至少 K 次的子数组:滑动窗口
  • QT控件 参考Qt的PIMPL设计模式实现使用QWidget控件绘制3D饼状图表和3D柱状图表,使用QChartView绘制圆柱体图表
  • 上海市十六届人大常委会第二十一次会议表决通过有关人事任免事项
  • 中国人寿一季度净利润288亿增39.5%,营收降8.9%
  • 总书记考察的上海“模速空间”,要打造什么样的“全球最大”?
  • 15世纪以来中国文化如何向欧洲传播?《东学西传文献集成初编》发布
  • 西湖大学独家回应本科招生走出浙江:经过三年试点,条件成熟
  • 西湖大学本科招生新增三省两市,首次面向上海招生