CS-Notes 学习笔记
Java 后端 · 操作系统

上下文切换有哪些开销?

先自己想一想,再看参考要点

参考要点

  • 保存当前线程的寄存器、程序计数器、栈指针,恢复另一个线程的值
  • 切换到另一个进程还要切换页表,TLB 和 CPU 缓存中原来的映射和数据大多用不上、要重新加载(有 PCID 时 TLB 不必全部清空),这部分间接开销通常更大,工作集很小时两者几乎没有差别
  • 实测一次切换约 1.1 微秒(其中还包含一次 write 和一次 read)
在学习站中自测这道题看这道题所在的一天

学习站:先用面试题自评定级,按水平和面试日期排出每天的计划,自评过的题按间隔复习。免费、无需注册,记录只保存在自己的浏览器中。