中断、进程管理及处理器调度
指令执行步骤:取指,解码,执行
中断
狭义的中断:来源于处理器之外的中断事件,即与当前指令无关的中断时间,如I/O中断、时钟中断、外部信号中断等。
广义的中断包括异常,系统异常。
中断源:
处理器硬件故障中断时间;
程序性中断时间;
自愿性中断事件;
I/O中断事件;
外部中断事件;
中断系统
中断处理程序:主要任务是处理中断事件和恢复正常操作。
多中断的响应与处理:
中断屏蔽
终端优先级:有优先度的响应中断
中断的嵌套处理:当计算机响应中断后,在中断处理过程中,可以再响应其他中断。
进程管理
进程:
进程的三状态模型:运行态,就绪态,等待态
进程挂起:与进程等待有本质区别,进程挂起无资源,进程等待有资源
运行资源不足表现为:性能低,死锁;
进程控制块:PCB
进程切换与模式切换:实质上是被中断运行进程与待运行进程的上下文切换。
处理过程:
保存被中断进程的上下文;
转向进程调度;
恢复待运行进程的上下文。
PS:CPU现场保护结构:寄存器值(通用、程序计数器PC、状态PSW,地址包括栈指针)
进程切换的工作过程:
多线程技术概述:
单线程结构进程在并发程序设计上存在问题;
进程中有一个管理者,但是有多个执行序列;
在多线程环境中,进程是 操作系统中进行保护和资源分配的独立单位。
线程是进程的一条执行路径,是调度的基本单位。
线程状态:运行,就绪,睡眠
内核级多线程KLT和用户级多线程ULT
用户级多线程ULT的特点:线程的切换不需要内核模式;允许进程按应用特定需要选择调度算法;能运行在任何OS上;但不能利用多处理器的优点;一个ULT的阻塞就意味着整个进程的阻塞。
jacketing技术:把阻塞式系统调用改造成非阻塞式的;
ULT解决逻辑并行性问题
KLT解决物理并行性问题
多线程实现的混合策略@
KLT三态:
ULT三态:
多线程实现的混合策略:
处理器调度
处理器调度的层次@:
处理器调度算法@:
选择原则:资源利用率;响应时间;周转时间;吞吐量TPS;公平性。
先来先服务调度算法:
时间片轮转调度算法:时间片中断;
时间片的确定:过长则退化为先来先服务算法,过短则调度开销大
优先数调度算法:1.抢占式
2.非抢占式
确定原则:紧迫程度
交互性
与进入系统时间相关的优先数:计算时间短
剩余计算时间短
响应比高者优先:响应比=等待时间/估计计算时间
先来先服务:多用于高级调度
分级调度算法:又称多队列策略;
彩票调度算法: