系统性能之CPU上下文切换

本文详细解释了CPU上下文切换的概念,包括进程、线程和中断上下文切换的区别,以及系统调用过程中发生的两次上下文切换。此外,还介绍了触发CPU调度的多种场景,如时间片耗尽、系统资源不足、进程主动挂起、高优先级进程抢占和硬件中断。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CPU上下文切换:

就是先把前一个任务的CPU上下文(CPU寄存器和程序计数器)保存起来,然后加载任务的上下文到这些寄存器和程序计数器,最后再跳转到程序计数器所指的新位置,运行新任务。

切换根据任务的不同分为:

进程上下文切换,线程上下文切换,中断上下文切换。

系统调用和上下文切换:

一次系统调用过程发生两次CPU上下文切换。进程上下文切换是指从一个进程切换到另一个进程运行。而系统调用过程中一直是同一个进程在运行。

触发CPU调度的场景:

1.CPU为每个进程划分时间片,当时间片耗尽,进程会被挂起,同时切换到其它进程。

2.系统资源不足(如内存),进程会被暂时挂起,等资源满足时再运行。

3.进程执行睡眠函数sleep类方法,主动将自己挂起。

4.优先级高的进程运行时。

5.硬件发生中断时。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值