个人用书:操作系统教程 第五版 费翔林
学习视频: 王道计算机考研 操作系统.
目录
进程的概念 组成 特征
概念
程序: 静态的,存放在磁盘里面的可执行文件
进程: 动态的,程序的一次执行过程
操作系统为了分辨进程,给每一个进程PID(身份证号)。还记录分配了哪些资源,进程的运行情况。这些信息都被保存在一个数据结构PCB中。
组成
进程的组成——PCB,程序段,数据段组成。
- PCB:进程描述,控制和管理信息,资源分配清单,处理机相关信息
- 程序段:代码
- 数据断:运行过程中产生的数据
!PCB是进程存在的唯一标识
特征
- 动态性:动态产生,消亡
- 并发性:内存中多个进程实体,各个进程并发执行
- 独立性:进程能独立运行,独立接收调度
- 异步性:各个进程按各自独立的,不可预知的速度推进
- 结构性:每个进程的组成相同(PCB,程序段,数据段)
进程的状态,状态的转换,组织方式
状态
PCB中有一个state记录状态。
- 创建态:进程被创建的时候,OS会分配资源,初始化PCB。
- !! 就绪态:当进程创建完成后就处于就绪态,等待运行。(无CPU,有资源)
- !!运行态:当进程在cpu上运行,就是运行态。(有CPU,有资源)
- !!阻塞态:进程运行的时候可能请求某个事件,CPU会让其进入阻塞等待事件的发生。等待事件发生后变为就绪态。(无CPU,无资源)
- 终止态:进程运行结束后,执行exit系统调用,进程从内存中消失。
补充:(见下方的处理机调度)
- 就绪挂起
- 阻塞挂起,挂起状态都在外存中。
运行态——阻塞态:系统调用,进程的主动行为。
阻塞态——就绪态:被动行为。
运行态——就绪态:时间片被用完的时候强制转换。
(书P94)
组织方式
链式方式(队列)和索引方式(表)。(类似数据结构)
进程控制
进程控制就是要实现进程状态转换。
基本概念
用“原语”实现进程转换。(原语:执行中不能中断的特殊程序)
实现原语的原子性:可以用“关中断”和“开中断”两个特权指令实现原子性。CPU执行了关中断之后,只有下一次执行了开中断之后,才能检查外部中断信号。(这两个指令只能内核程序使用)
原语:进程创建
申请空白PCB,为新进程分配资源,初始化PCB,PCB插入就绪队列。
原语:进程撤销
从PCB中找到终止进程的PCB,立即剥夺CPU,终止子进程,资源全部还给父进程或OS,删除PCB。
原语:进程阻塞和唤醒
阻塞:找到PCB,保护运行现场,state设置为阻塞,插入等待序列
唤醒:从等待运行队列找到PCB,state设置为就绪,等待被调度
###原语:切换原语
进程1:运行态——就绪态 AND 进程2:就绪态——运行态
运行环境存入PCB