15.进程优先级切换调度

Ctrl C杀不掉后台进程,但仍可以向前台打印消息。

另一个窗口kill -9 进程pid

查看所有进程信息,

ps-a

带优先级

ps -al

查每个名字用户ID

ls -ln

名字我们看,操作系统里面用的是数字

进程UID就是谁启动的进程

UID和拥有者或者所属组的数字进行比较,相等就是可以访问

改优先级

top

r

pid值

有可能权限受限,su-

cpu处理时候是代码和数据,和pcb没关系,是一条一条执行代码数据,CPU内有很多寄存器,临时保存正在运行进程的各种类型数据,

寄存器工作

进程A走之前,要把寄存器拷贝一份,进程可能去运行队列的末尾,然后寄存器存进程B内容,A回来时候,要把相关内容再拷贝回寄存器。就可以继续执行进程A

当前进程指针

用得少实时,所以不考虑,优先级是多少就把这个进程链入到这个tast struct*,调度时候就是从上往下找不是空的然后调用,宏观上从前往后便利,局部上是先进先出,就是哈希表,如果遍历效率还是不高,所以调度器查看位图,0,1.。。拍着查看32位比特位,比如查到3号下标不为0,再去比特位内看具体是哪个。nr是整个队列一共有多少个进程,所以先查nr大于0 再查bitmap

运行完毕下次还要运行,切换到这个60号下标最后,这就必须等所有前面进程都跑完才能到第二个,如果前面死循环99就别想运行了,进程ji e,所以这个runqueue内部有个数组,这个数组乘两个结构体蓝色和红色,所以有两个指针active和expire指向红蓝两个开始,active钓完移到expire,对应位置,先把active调用一遍 ,调用完swap,不断。。

新进程进来

插入到过active队列,有些支持进程抢占,插入到活跃队列。

如果有多个队列,选择cpu负载最低的 ,这就是多cpu并行时保证cpu负载均衡。

相关推荐
梦想很大很大5 小时前
拒绝“盲猜式”调优:在 Go Gin 项目中落地 OpenTelemetry 链路追踪
运维·后端·go
Sinclair6 小时前
内网服务器离线安装 Nginx+PHP+MySQL 的方法
运维
叶落阁主7 小时前
Tailscale 完全指南:从入门到私有 DERP 部署
运维·安全·远程工作
0xDevNull14 小时前
Linux切换JDK版本详细教程
linux
进击的丸子14 小时前
虹软人脸服务器版SDK(Linux/ARM Pro)多线程调用及性能优化
linux·数据库·后端
茶杯梦轩14 小时前
从零起步学习RabbitMQ || 第二章:RabbitMQ 深入理解概念 Producer、Consumer、Exchange、Queue 与企业实战案例
服务器·后端·消息队列
甲鱼9291 天前
MySQL 实战手记:日志管理与主从复制搭建全指南
运维
Johny_Zhao2 天前
OpenClaw安装部署教程
linux·人工智能·ai·云计算·系统运维·openclaw
YuMiao3 天前
gstatic连接问题导致Google Gemini / Studio页面乱码或图标缺失问题
服务器·网络协议
chlk1234 天前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统