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