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

相关推荐
2401_891957315 分钟前
简单了解多路转接select
运维·服务器
2302_1118 分钟前
java依赖小结
java·运维·数据库
blueSatchel13 分钟前
ros-humble仿真-建图-导航
linux·ros2
Lucis__16 分钟前
基于责任链模式的消息队列—异步处理流水线的最佳实践
linux·c++·消息队列·责任链模式·ipc
程序员-Benothing38 分钟前
Shell 脚本条件判断与流程控制:if for while case 详解
linux·运维·服务器
captain37640 分钟前
网络原理(3)-TCP核心机制连接管理▲▲▲
java·服务器·网络·ide·网络协议·tcp/ip·java-ee
mounter62540 分钟前
统一安全域:KVM Planes 如何驾驭硬件特权级
linux·安全·linux kernel·kernel
君生我老1 小时前
Linux动静态库
linux·服务器
troy1281 小时前
Python 基础语法(一):变量、数据类型与运算符
java·服务器·python
IT摆渡者1 小时前
基于 Docker 部署 Nextcloud 私有云盘(外挂 Windows 共享)项目实践
运维·docker·容器