抽象-进程
最后更新于:2022-04-02 04:08:39
[TOC]
## 进程
- 操作系统对一个正在运行程序的抽象;是操作系统调度资源的最小单位
- 早期的计算机中cPU核心只有一个,程序在共享时间片段,操作系统需要提供一个模型去管理所有的程序,于是诞生了操作系统中最核心的概念—进程。
### 进程拥有的状态
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/5c/db/5cdb4bb28a897f93658c589cdd5b0673_800x374.png)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/4c/a5/4ca56b39b876a5e9e82ee1c5cd087604_800x534.png)
### 进程的状态
1. 运行:正在执行的程序
2. 就绪:表示一个可以正常运行的程序,但是CPU需切换给另一个程序运行,此时就处于就绪状态,另一个程序跑完后,可以在切回当前程序
3. 阻塞:等待的资源没有到位,可以暂时先阻塞(如打印完成、读取磁盘完成)
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/05/13/0513db07a40112e6eb283321ab021a6d_616x416.png)
### 进程如果响应中断
1. 进程保存当前状态:中断程序第一时间保存当前状态(如SP指针(堆栈指针),PC指针)
2. 跳转OS中断响应程序: JUMP 中断向量==> PC跳转到OS 处理终端的通用程序
3. 保存当前寄存器:必须保存当前的寄存器确保不受污染
保存寄存器->中断相应程序->恢复寄存器
4. 设置心的栈指针: 保证栈不受污染
5. 执行中断程序:读取中断关联的数据(如:形成换成区)
6. 执行中断程序服务,决定下一个进程
';