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负载均衡。

相关推荐
剑神一笑1 小时前
Linux pgrep 命令详解:按名称查找进程 PID 的高效方法
linux·运维·chrome
Lumbrologist1 小时前
【零基础部署】Docker 部署 CrewAI 多 Agent 编排框架保姆级教程
运维·docker·容器
yyuuuzz1 小时前
独立站的技术基础与常见运维问题
大数据·运维·服务器·网络·数据库·aws
剑神一笑1 小时前
Linux killall 命令详解:按进程名批量终止进程的原理与实践
linux·运维·chrome
雅菲奥朗2 小时前
企业级 AI 自动化|OpenClaw 龙虾实战与认证
运维·人工智能·自动化·openclaw
江华森3 小时前
Ansible 自动化运维:从入门到实战
运维·自动化·ansible
宋浮檀s5 小时前
应急响应——Web漏洞:命令执行+SSRF+弱口令
运维·数据库·sql·网络安全·oracle·应急响应
日取其半万世不竭6 小时前
iftop、nethogs 和 nload:Linux 服务器网络流量实时监控工具介绍
linux·运维·服务器
mounter6256 小时前
Linux 内核资源管理:控制组(cgroup)的演进与“策略组”新提案
linux·运维·服务器·cgroup·kernel
bksczm6 小时前
文件在磁盘中的存储方式
linux·运维·服务器