### 1. 协作方式：等待系统调用或非法操作

- 操作系统相信进程会合理运行
- 运行时间长的进程被假定为会定期释放CPU，以便操作系统可以运行其他进程
- 大多数进程通过系统调用，将CPU还给操作系统，例如打开文件，创建一个新的进程
- 如果进程尝试非法操作，也会将CPU还给操作系统，比如除0或者尝试访问无法访问的内存



### 2. 非协作方式：时钟中断

> 时钟中断
>
> TODO

- 在操作系统启动时，时钟也会跟随启动
- 可以理解为每隔一段时间产生一次时钟中断
- 运行的进程在接收到中断信号时会停止
- 操作系统预先配置好的中断程序会运行



### 3. 保存和恢复上下文

- 保存当前进程的通用寄存器，程序计数器，以及进程的内核栈指针
- 恢复或准备即将执行的进程的寄存器

