进程调度

从敲键盘执行任务到产生结果,有哪些过程?
怎么区分计算型,I/O型?
中断程序流程?Linux系统宣称实时系统,他是怎么优化中断处理的?

调度指标

周转时间
吞吐量
公平性

调度类型

长程调度,中程调度,短程调度

需要调度的地方:在外存叫做作业队列,调入内存为进程,产生内存队列;再选择处理。
长程调度:
作业调度(从外存调度到内存),创建了进程后,可能等待短程调度和中程调度。
两个问题:
1。选择多少个作业进入内存(取决于多道程序的度)
2。选择哪些作业(取决于长程调度算法)
短程调度:进程调度
中程调度:挂起状态进程的调度,目的是提高内存利用率和系统吞吐量

调度目标

面向用户
响应时间:提交命令到产生结果(评价分时系统)
周转时间:从作业提交到系统开始,到作业完成这段时间间隔(评价批处理)
截至时间
面向系统
资源平衡:适于长程调度和中程调度
公平性:产生进程饥饿

调度算法

剥夺与非剥夺
剥夺会造成频繁系统中断,造成开销很大,影响响应时间,优点是及时处理优先级高的进程,适于实时性高的分时系统和批处理系统
非剥夺主要用于批处理系统,

先来先服务算法(类超市结账)
对短进程,I/O不公平
轮转调度算法
虚拟轮转算法(开另外一个队列)
短进程优化算法
速率调度算法

实时系统与实时任务

实时系统特点
中断程序:1 分析中断类型(Linux有32个),2 处理中断例程
windows屏蔽中断处理过程,Linux只屏蔽第一阶段。
实时调度算法
截止时间调度

你可能感兴趣的:(进程调度)