## 进程切换开销

1. 直接开销•
   - 切换页表全局目录（PGD）
   - 切换内核态堆栈
   - 切换硬件上下文（进程恢复前，必须装入寄存器的数据统称为硬件上下文）
   - 刷新TLB
   - 系统调度器的代码执行
2. 间接开销
   - CPU 缓存失效导致的进程需要到内存直接访问的IO 操作变多

## 线程切换开销

- 线程本质上只是一批共享资源的进程，线程切换本质上依然需要内核进行进程切换
- 一组线程因为共享内存资源，因此一个进程的所有线程共享虚拟地址空间
- 线程切换相比进程切换，主要节省了虚拟地址空间的切换

## 协程切换开销

用户线程无需内核帮助，应用程序在用户空间创建的可执行单元，创建销毁完全在用户态完成
