处理器管理
约 914 字大约 3 分钟
2025-02-10
1 进程及其实现
- 进程
- 动态的、有生命周期、需要处理器
- 是程序的一次执行过程
- 由程序、数据、进程控制块描述
- 系统进行资源分配和调度的独立单位
- 不是指令的集合
- 不能自己申请CPU,由CPU调度程序为进程分配
- 动态、并发、独立、异步
- 进程控制块
- 不能由进程在运行中修改,由操作系统通过相关原语实施管理
- 不是用户进程的私有数据结构
- 进程标示号、进程状态(执行/就绪/等待)、进程优先数、程序地址、现场保护区、通信机构、其他
- 现场保护区->程序计数器、程序状态字、各个工作寄存器、断点
- 并发进程:可同时执行的进程
- 运行->阻塞:是进程本身决定的
- 运行->就绪:进程主动调用调度程序
- 就绪->运行 进程被动由调度程序决定
- 阻塞->就绪 协作进程决定(唤醒原语)
- 对进程管理和控制的功能是通过执行各种 原语 来实现的
- 设备分配:可能引起进程状态的转变,不会创建新进程
- 父进程和子进程:可以同时并发执行、子进程可以继承父进程的代码和数据段,但是栈区是自己的
- 中断是进程切换的必要条件:进程切换时肯定发生中断,中断发生时未必进程切换
2 线程及其实现
- 线程
- 特殊的进程
- CPU分配的基本单位
- 线程的切换可能会导致进程的切换
- 可以并发执行
- 内核支持线程的切换需要内核的支持
- 包含CPU执行线程和执行栈,独立执行程序
- 多线程 提高CPU的利用率
3 处理器调度
- 操作系统三级调度
- 高级调度(作业调度) 从外存上处于后备队列的作业中选择一个或者多个给它们分配内存、I/O设备,建立相应的进程排在就绪队列中,准备执行
- 中级调度 将进程的程序和数据在外存和内存间进行交换,为了使内存中同时存放的进程数目不至于太多
- 低级调度(进程调度,CPU调度) 为进程分配CPU
- 作业:用户任务为单位、用户提交的,进程 操作系统控制的单位、系统自动生成
- 周转时间:等待时间+I/O时间+运行时间(CPU时间)
- 带权周转时间:周转时间/运行时间(实际运行中计算,调度算法确定后,每个月做的带权周转时间已经确定)
- 响应比:(等待时间+运行时间)/运行时间(如果I/O时间不计,则与带权周转时间一致,每个作业完成后都要重新计算剩余作业的响应比,以确定下一个需要调度的作业)
- 短作业优先:与作业的运行时间有关、平均周转时间最小的作业调度算法(仅当所有作业同时到达时)
- 分时操作系统采用:时间片轮转
- 先来先服务:有利于长作业和CPU繁忙型
- 作业进入系统到运行结束,经历 后备状态,执行状态,完成状态