28 lines
897 B
Markdown
28 lines
897 B
Markdown
### 1. 协作方式:等待系统调用或非法操作
|
||
|
||
- 操作系统相信进程会合理运行
|
||
- 运行时间长的进程被假定为会定期释放CPU,以便操作系统可以运行其他进程
|
||
- 大多数进程通过系统调用,将CPU还给操作系统,例如打开文件,创建一个新的进程
|
||
- 如果进程尝试非法操作,也会将CPU还给操作系统,比如除0或者尝试访问无法访问的内存
|
||
|
||
|
||
|
||
### 2. 非协作方式:时钟中断
|
||
|
||
> 时钟中断
|
||
>
|
||
> TODO
|
||
|
||
- 在操作系统启动时,时钟也会跟随启动
|
||
- 可以理解为每隔一段时间产生一次时钟中断
|
||
- 运行的进程在接收到中断信号时会停止
|
||
- 操作系统预先配置好的中断程序会运行
|
||
|
||
|
||
|
||
### 3. 保存和恢复上下文
|
||
|
||
- 保存当前进程的通用寄存器,程序计数器,以及进程的内核栈指针
|
||
- 恢复或准备即将执行的进程的寄存器
|
||
|