第二章 进程管理
本章要点
基础: 进程描述及控制
策略: 进程调度
实现: 互斥与同步
避免: 死锁和饥饿
解决: 几个经典问题
关于: 进程通信
进程引入
程序顺序执行
- 程序:源代码程序、目标程序和可执行程序;
- 程序执行:编辑、编译、链接、执行
- 程序的结构:顺序结构、分支结构和循环结构
- 程序顺序执行的特征:顺序性、封闭性、可再现性
程序并发执行
- 多道程序设计技术:多个程序并发执行
- 程序并发执行时的特征:间断性、非封闭性、不可再现性
- 协调各程序的执行顺序
例如,当输入的数据还没全部输入内存时,计算必须等待。 - 多个执行程序共享资源,程序之间可能会影响,互相影响输出结果
- 选择哪些、多少个程序进入内存执行
- 内存中的执行程序水仙执行,
- 内存如何有效分配
进程的概念
- 定义:可并发执行的程序,在一个数据集合上的运行过程
- 申请/拥有资源 - 调度(线程)
- 程序:静态概念,是指令和数据的集合,可长期存储
- 进程和程序对应的关系
- 一个程序可以对应一个进程和多个进程
- 一个进程可以对应一个程序,或者一段程序
进程的特征
- 动态性
- 并发性
- 独立性
- 异步性
引入进程带来的问题
- 增加了空间开销:为进程简历数据结构
- 额外的时间开销:管理和协调、跟踪、填写和更新有关的数据结构、切换进程、保护现场
- 更难控制:
- 协调多个进程竞争和共享资源如何预防
- 解放多个进程因为竞争资源而出现的故障
- 处理机的竞争尤为突出
进程的结构
- 组成(进程映像):程序、数据集合、进程控制卡(PCB(process Control Block))
- PCB是进程存在的唯一标志。创建进程时,创建PCB;进程结束时,系统将撤销其PCB。
PCB
- 进程标识信息:进程的内部和外部标识符
- 处理机状态信息:通用寄存器值、指令计数器值、程序状态字PSW值、用户栈指针值
- 进程调度信息:进程状态、进程优先权、进程调度的其他信息
- 其他信息:程序及数据地址、进程同步和通讯机制、资源清单、链接指针
本作品采用《CC 协议》,转载必须注明作者和本文链接