进程
定义
一个程序程序在一个数据集合上的动态执行过程
与程序区别
动静,暂时的过程和永久的存在,进程由程序、数据、进程控制块(PCB)组成
特性
- 动态
- 并发(进程)
- 独立(分页有力支持)
- 制约(访问共享数据或进程同步产生制约)
进程控制块(进程存在的唯一标志)
OS管理进程使用的信息集合
PCB组成
- 进程标识信息
- 处理及状态信息
- 进程控制信息
PCB组织方式
链表
进程的生命周期
- 创建
- 运行(ready->running)
- 等待(自己需要资源)
- 唤醒(别人满足等待时的需要)
- 结束(正常/错误退出,自己结束,致命错误,其他进程杀死)
状态
五状态
-
创建
-
就绪
-
运行
-
阻塞
-
结束
七状态
挂起是内存不够导致出现的状态
就绪挂起态
阻塞挂起态
OS通过队列维护表示各种状态
上下文切换
停止当前运行进程,并调度其他进程
要求
- 切换前存储上下文
- 切换后能恢复运行
- 切换迅速
创建进程
fork、exec、wait
父进程的等待是为了回收资源