关于操作系统的进程调度问题
2013-12-04 23:54
288 查看
[b] 进程调度分为高级、中级、低级调度:[/b]
高级调度通常也称作业调度,用于决定把外存上处于后备队列中的哪些作业调入内存,准备执行;
中级调度大多针对于分时系统,是按一定的算法在内存和外存之间进行进程对换,目的在于缓和内存的紧张;
低级调度用于将内存中就绪队列中的作业分配处理机,使其执行。
[b]进程调度通常有以下两种方式:[/b]
(1)非剥夺方式:分派程序一旦把处理机分配给某进程后便让它一直运行下去,直到进程完成或发生某事件而阻塞时,才把处理机分配给另一个进程。
(2)剥夺方式:当一个进程正在运行时,系统可以基于某种原则,剥夺已分配给它的处理机,将之分配给其它进程。剥夺原则有:优先权原则、短进程优先原则、时间片原则。
[b]进程调度分功能:[/b]
(1)记录系统中所有进程的执行情况;
(2)选择占有处理机的进程;
(3)进行进程上下文切换。
[b] 那么什么时候会需要进行进程调度呢?[/b]
1.时间片到,即每个进程所分配的时间片用完后,要跳转到调度程序;
2.占用CPU的当前运行进程提出I/O操作,发起对内核的系统调用时,在系统调用结束后,跳转到调度程序;
3.当前运行进程对所有内核系统调用的结束时都要跳转到调度程序,根据当前的调度信息来决定下一个可以占用CPU的进程.
[b] 进程调度算法:[/b]
1.先来先服务调度算法:选择一个最先进入队列的进程,把处理机分配给它,让它进入执行状态。
2.短进程优先调度算法:从就绪队列中选择一个CPU执行时间预期最短的进程,将处理器分配给它是指对执行时间短的进程优先调度的算法。
3.高优先级优先调度算法:分配给就绪进程队列中优先级最高的进程。
4.时间片轮转法:将CPU的处理时间分成固定大小的时间片,让每个进程在就绪队列中的等待时间与享受服务的时间成比例。
5.多级反馈队列调度算法:系统按优先级设置N个就绪进程队列,第一级队列的优先级最高,其余队列的优先级逐个降低,第N级队列的优先级最低。
高级调度通常也称作业调度,用于决定把外存上处于后备队列中的哪些作业调入内存,准备执行;
中级调度大多针对于分时系统,是按一定的算法在内存和外存之间进行进程对换,目的在于缓和内存的紧张;
低级调度用于将内存中就绪队列中的作业分配处理机,使其执行。
[b]进程调度通常有以下两种方式:[/b]
(1)非剥夺方式:分派程序一旦把处理机分配给某进程后便让它一直运行下去,直到进程完成或发生某事件而阻塞时,才把处理机分配给另一个进程。
(2)剥夺方式:当一个进程正在运行时,系统可以基于某种原则,剥夺已分配给它的处理机,将之分配给其它进程。剥夺原则有:优先权原则、短进程优先原则、时间片原则。
[b]进程调度分功能:[/b]
(1)记录系统中所有进程的执行情况;
(2)选择占有处理机的进程;
(3)进行进程上下文切换。
[b] 那么什么时候会需要进行进程调度呢?[/b]
1.时间片到,即每个进程所分配的时间片用完后,要跳转到调度程序;
2.占用CPU的当前运行进程提出I/O操作,发起对内核的系统调用时,在系统调用结束后,跳转到调度程序;
3.当前运行进程对所有内核系统调用的结束时都要跳转到调度程序,根据当前的调度信息来决定下一个可以占用CPU的进程.
[b] 进程调度算法:[/b]
1.先来先服务调度算法:选择一个最先进入队列的进程,把处理机分配给它,让它进入执行状态。
2.短进程优先调度算法:从就绪队列中选择一个CPU执行时间预期最短的进程,将处理器分配给它是指对执行时间短的进程优先调度的算法。
3.高优先级优先调度算法:分配给就绪进程队列中优先级最高的进程。
4.时间片轮转法:将CPU的处理时间分成固定大小的时间片,让每个进程在就绪队列中的等待时间与享受服务的时间成比例。
5.多级反馈队列调度算法:系统按优先级设置N个就绪进程队列,第一级队列的优先级最高,其余队列的优先级逐个降低,第N级队列的优先级最低。
相关文章推荐
- C++ 0x 使用condition_variable 与 Mutex 同步两个线程
- oracle字符集深入研究
- 【黑马程序员】2013年12月3日学习笔记
- Asp.net如何操作Word文档
- Objective-c官方文档 怎么使用对象
- PHP 多文件上传的三种方法
- Delphi_捕获TWebBrowser的Close事件
- void和void*
- 常用的6种排序C语言实现
- ASP.NET路径解惑
- [Unity3d]调用自己封装的dll
- [Unity3d]调用自己封装的dll,假装让自己也牛B一把吧
- 数据收集感悟
- [Unity3d]调用自己封装的dll
- linux 程序管理
- memcached,redis程序用法
- 方向比努力重要
- JAVA面试题解惑系列(二)——到底创建了几个String对象?
- STL归并排序
- GMM与EM算法(一)