操作系统(02323):概念与资源管理笔记 · 进程与调度至I/O 设备管理
进程与调度
1、进程描述
并发执行
- 操作系统本质是数据结构加算法
- 操作系统中最核心的概念是进程
- 程序的顺序执行特点:顺序性、封闭性、可再现性
- 程序的并发执行特点:间断性、失去封闭性、不可再现性
进程概念
- 进程是允许并发的程序在某个数据集合上的运行过程
- 进程是正文段、用户数据段和进程控制块(PCB)共同组成的执行环境
- 正文段:存放被执行的机器指令
- 用户数据段:存放进程在执行时要操作的用户数据
- 进程控制块:存放程序的执行环境
进程的特征
- 并发性
- 独立性
- 异步性
- 动态性
- 结构特征
进程和程序区别
- 程序静态,进程是动态
- 程序永久,进程暂时存在
- 程序和进程存在实体不同
- 程序:指令集合
- 进程:正文段、用户数据段、进程控制快组成
进程和程序的联系
- 进程是程序的一次执行
- 进程总是对应至少一个特定的程序,执行程序的代码
- 一个程序可以对应多个进程
进程控制块
进程实体存在的标志是操作系统管理进程所使用的数据结构—进程控制块
进程控制块(PCB)是进程实体的一部分,是操作系统中最重要的数据结构
进程控制块中记录了操作系统所需要的,用户描述进程情况以及控制进程运行所需要的全部信息
进程控制块是操作系统感知进程存在的唯一标志
包含信息有哪些
- 进程标识符信息:唯一标识一个进程
- 处理机状态信息:包括通用寄存器,指令计数器,程序状态字 PSW,用户栈指针
- 进程调度信息:包括进程状态信息,进程优先级和进程调度所需的其他信息
- 进程控制信息:包括程序和数据的地址,进程同步和通信机制资源清单以及链接指针
进程的状态
就绪态、执行态、阻塞态

2、进程的控制
进程的创建
进程创建--阻塞--唤醒--终止
创建条件
- 用户登录
- 作业调度
- 提供服务
- 应用请求
新进程执行情况
- 父子进程并发执行
- 父等待,知道某个子执行完毕
新进程地址空间情况
- 子共享父地址空间
- 子拥有独立地址空间
- 操作系统组织和管理进程是通过管理和组织进程控制块来实
调用创建新进程的系统调用来创建进程的一般步骤
- 申请空白 PCB
- 为新进程分配资源
- 初始化进程控制快
- 将新进程插入就绪队列
进程的阻塞
条件
- 请求系统服务
- 数据尚未到达
- 无工作可做
- 启动某种操作
完成进程阻塞简化过程
- 将进程的状态改为阻塞态
- 将进程插入相应的阻塞队列
- 转进程调度程序,从就绪进程中选择进程为其分配 CPU
进程的唤醒
- 将阻塞队列中移除
- 将进程状态阻塞态改为就绪态
- 将进程插入就绪态
进程的终止(撤销)
正常执行完毕,终止进程,删除该进程
一个进程调用适当的系统调用,终止另外一个进程
父终止子原因
- 子进程是了超过了分配的资源
- 分配给子进程任务不再需要
- 父进程退出
操作系统通过系统调用完成进程终止的一般过程如下
- 从进程 PCB 中读进程状态
- 若进程正在执行,则终止进程的执行
- 若进程有子孙进程,按平台和管理策略处理;父进程退出不必然终止所有子孙进程
- 释放资源
- 将终止进程的 PCB 移出
操作系统内核:负责受控入口与核心资源管理;系统调用与进程切换的区别见系统调用为什么切换。
进程调度与死锁
就绪表示除了CPU之外已经具备运行条件,阻塞表示仍在等事件。读磁盘时进程可以主动阻塞,I/O完成后回到就绪队列,只有被调度后才执行。轮转调度给就绪任务有限时间片;时间片越短,首次响应可能越快,但上下文切换比例也可能上升。
死锁需要同时具备互斥、占有等待、不可剥夺和循环等待。两线程分别持有L1与L2并互等时,可通过统一获取顺序破坏循环等待;预防直接约束条件,避免则依据未来资源需求判断安全状态,二者不能混称。
查看图表代码
内存管理
分页把虚拟地址拆为页号与页内偏移。以4KiB页、虚拟地址0x1234为例,页号1、偏移0x234;若映射到物理页框9,地址就是0x9234。不同进程的相同虚拟地址可映射不同物理页,共享内存则可显式映到同一页。
TLB缓存翻译,未命中只意味着要进一步查页表;缺页可能触发按需分配、文件读入,也可能因为非法访问而终止任务。工作集超出可用内存时频繁换页会造成抖动,虚拟地址空间大不代表所有访问都能获得物理资源。
查看图表代码
文件系统
路径解析逐级查目录项,把名字关联到文件元数据,再定位数据块。目录层级解决名字组织问题,读写权限控制访问;应用通常面对字节流,文件系统无需理解其中的业务记录。
读取可能命中页缓存;写入返回也可能只是数据进入内核缓存。崩溃一致性需考虑数据块、元数据和目录项的写入顺序,日志帮助恢复一致状态,但不能替代误删除恢复或独立备份。
查看图表代码
I/O 设备管理
驱动把通用读写请求转换为设备操作。轮询主动检查是否完成,中断让设备通知处理器;DMA可在配置后搬运设备与内存之间的数据,减少CPU逐字节复制。DMA完成不意味着应用已经处理了这些字节,还需完成通知与调度。
缓冲吸收速度差并支持批量处理,但会消耗内存和引入等待。SPOOLing先把打印任务放入磁盘队列,由后台服务顺序送给打印机,使多个应用可以提交任务;它不提升打印机本身的物理打印速度。
查看图表代码
继续阅读
- 调度与并发推演
- 调度与并发推演
- 调度与并发推演