Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
402 views
in Technique[技术] by (71.8m points)

为什么用户态和内核态切换的开销大呢?

一直以来我们都说用户态和内核态切换的开销大,但是为什么呢,它的主要开销在哪里呢?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

操作系统要保存和恢复一些寄存器、内存数据等进程上下文数据,至少一次的必然进程调度,内核切换的权限安全检查,系统调用和中断触发都可能有硬件驱动进行一些处理操作,综合下来开销挺大的,而且一秒钟内,由于多进程,会有很多次不同进程会频繁进入退出内核态,叠加起来,每一个进程进出内核态的开销时间和总体所有进程进出内核态的总开销时间就都会很大。


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share
...