获取Linux进程调度次数,【5.linux操作系统】-内核进程/线程/系统调用/调度

本文详细探讨了Linux操作系统中的进程调度,包括抢占式和非抢占式调度、调度器CFS、实时调度策略以及调度器如何选择进程。还介绍了系统调用、进程状态转换、内存管理和上下文切换的过程,阐述了内核线程、进程间通信和信号处理等方面的知识,为理解Linux内核工作原理提供了深入见解。
摘要由CSDN通过智能技术生成

linux调度

本质:虚拟处理器,虚拟内存

分类:抢占,非抢占。IO/处理器型

调度

优先级nice 与其他系统不同是时间片比例,-20~19(越小越高)

实时优先级 0-99 越大越高 高于普通的nice

调度器

1.CFS

时间记账:task_struct的se vruntime(这个时间是经过了所有可运行进程总数的标准化,理想下相同优先级有相同vruntime)

选择最小vruntime 红黑树 可运行队列,最左侧节点缓存

2.实时调度FIFO,RR,IDLE

FIFO:一直运行直到阻塞/更高优先级的抢占

RR:有时间片,耗尽后,同优先级轮流

IDLE 比nice19优先级还低

cpu高速缓冲器(1行 32-128字节)

getruasge

getrlimit

内核系统调用 帮助进程通信,访问硬件,申请资源

软中断 0x80=》system_call eaax寄存器中断号 参数:寄存器中,若多于6个,用单独寄存器存放指向所有参数在用户空间地址的指针 返回值:eax寄存器

进程状态runing(sleep也是run)

可中断睡眠(系统调用等软中断)

不可中断(硬中断)忽略信号

等待队列简单链表wait_queue_head_t=》队列相关事件发生时wake_up=>try_to_wake_up 加入红黑树 设置need_resched

进程上下文切换:switch_mm 把虚拟内存从上一个进程映射

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值