操作系统中的调度问题

1、调度时机:创建新的进程后、运行进程退出时、进程因为I/o或其他原因阻塞时、发生I/o中断(完成了i/o的阻塞进程变为了就绪进程)

2、调度算法应用环境:

批处理系统,交互式系统,实时系统,

不同的系统有不同的调度策略

3、批处理系统:

先来先服务:非抢占式  当正在运行的进程被阻塞时,队列中的第一个进程就接着运行,在被阻塞的进程变为就绪时,像一个新来的作业一样,拍到队列的末尾。

优缺点:利于长作业,不利于短作业。造成处理机和I/O设备得不到充分利用。

最短作业优先:适用于运行时间可以预知的非抢占式批处理调度算法。

优缺点:有利于短作业,长作业因得不到资源饿死。

最短剩余时间优先:进程运行时间必须提前掌握,调度程序总是选择剩余运行时间最短的进程运行,抢占式调度算法。但是这种调度策略必须记录进程过去被服务的时间,增加了开销

优缺点:开销大,不利于长进程。

4、交互式系统中的调度:

时间片轮转算法:时间片设置过短,会导致过多的进程切换,降低cpu效率。如果设置太长有可能引起对短的交互请求的响应时间变长。时间片一般设置到20ms-50ms

优先级调度算法:进程的优先级与进程的紧迫度有关,分为动态优先级和静态优先级,为了防止高优先级无休止的运行下去,调度程序可以在每个时钟中断降低当前进程的优先级。如果这个动作导致该进程的优先级地狱次高优先级的进程,则进程切换。

多级队列调度算法:把就绪队列分成几个单独的队列根据进程的优先级、类型等固定的把进程加入不同的队列,每个队列有各自的调度算法。例如前台队列利用时间片轮转进程调度、后台进程利用FCFS调度。此外,各队列之间也要进行调度,通常采用固定优先级的抢占式调度。例如,前台进程优先级高于后台优先级,或者各队列分配不同的时间比例,前台80%(RR),后台20%(FCFS)。

最短进程优先: 交互式系统遵循:等待命令,执行命令,等待命令,执行命令。。。,我们将每条命令当做一个“作业”,根据以往进程行为,对运行时间进行评估。

时间: 2025-01-17 01:34:51

操作系统中的调度问题的相关文章

在windows操作系统中,查询端口占用和清除端口占用的程序

一.在windows操作系统中,查询端口占用和清除端口占用的程序 提升权限后用:netstat -b或用 1.查询端口占用的进程ID 点击"开始"-->"运行",输入"cmd"后点击确定按钮,进入DOS窗口,接下来分别运行以下命令:netstat -a -n  各个端口占用netstat -ano   各个端口占用和进程PID          netstat -aon | findstr "80"      C:\Us

操作系统中常见的调度算法

一.先来先服务调度算法 先来先服务的调度算法(FCFS)是一种最简单的调度算法,该算法既可以用于作业调度,也可以用于进程调度.当在作业调度中采用该算法时,每次都是从后备作业队列选择一个或多个最先进入该队列的作业,将他们调入内存,为他们分配内存,为他们分配资源,创建进程,然后放入就绪队列中.在进程中采用FCFS算法时,则每次调度室从就绪队列中选择一个最先进入该队列的进程,位置分配处理机,使之投入运行.该进程一直运行到完成或发生某事件而阻塞后才放弃处理机. FCFS调度算法有利于cpu繁忙型的作业,

hpux操作系统中从vg中划出lv,并将此lv做成文件系统,然后mount该文件系统

hpux操作系统中,从vg中划出lv,并将此lv做成文件系统,然后mount该文件系统 创建逻辑卷lvol5 #lvcreate -L 20480M -n lvol5 /dev/vg01 注意:lvol5是lv的名字 使用字符设备文件(带r)在 逻辑卷rlvol5中创建一个新的文件系统 #newfs /dev/vg01/rlvol5 或者 #newfs -f fstype /dev/vg01/rlvol5 挂接逻辑卷 # mount /dev/vg01/lvol5 /oracle_arch 注意

工信部:目前手机操作系统中 安卓遭病毒入侵风险最大

据中国之声<全国新闻联播>报道,在今天(28日)举行的国家网络安全宣传周——电信主题日活动上,工信部相关负责人披露,目前手机操作系统中,安卓操作系统遭遇病毒入侵风险最大,治理应对亟待进一步完善相关法律法规.    智能手机普及的同时,“垃圾短信.骚扰电话,恶意应用,个人信息泄露”这样的移动互联网安全问题也随之产生.中国联通产品创新部信息安全处副经理钱江洪说,面对网络安全威胁,运营商化盾为矛,主动防御:    钱江洪:我们在全国加大了技术的投入,管道端我们每个月拦截垃圾短信2亿条.在云端,每个月

Maven(一)——如何在Windows操作系统中安装配置Maven环境

今天难得的周末,借此难的机会总结一下关于maven的一些操作: 1.在安装maven之前要确认计算机已经安装并配置了JDK: 2.下载maven: maven-3.0.3:http://download.csdn.net/detail/wangshuxuncom/7367413 maven-3.0.5:http://download.csdn.net/detail/wangshuxuncom/7551799 说明:上述资源均免费下载 这里选择maven-3.0.3来演示安装.将maven-3.0

delphi程序向另一个可执行程序发消息(使用GetForegroundWindow; 找出当前操作系统中活动的第一个窗口)

function FindWindowThroughWindowText(WindowText: string): THandle;var  hCurrentWindow: THandle;  cnt: Integer;  WindowTitle: array [0 .. 254] of Char;begin  Result := INVALID_HANDLE_VALUE; // 返回值预设为无效的句柄  hCurrentWindow := GetForegroundWindow; // 找出当

操作系统中的进程/线程互斥

在操作系统中,不同的进程和线程之间涉及到一个重要的问题就是互斥,即保证对共享数据的正确修改. 基本的思想就是避免多余一个进程或线程(后面统一用进程来代替)同时读写共享数据. 为了解决这个问题,有很多的想法,为了方便说明各自的问题,按照<现代操作系统>中的思路来叙述. 首先是想到的控制进程的执行顺序,提出了两个方法:一个是严格轮转法,一个是Peterson算法. 严格轮转法就是让进程挨个按序执行,进程0做完了让给进程1,依次下去:缺点就是有忙等待,而且进程0可能会被不在临界区的进程1阻塞(因为两

Git—怎样Windows操作系统中安装Git

介绍一下怎样在Windows操作系统中安装Git: 一.下载Git安装压缩文件:http://download.csdn.net/detail/wangshuxuncom/8035045 二.解压该压缩文件,根据里面Word文档说明进行安装就可以.

Unix操作系统中UUCP知识详细讲解

导读 Unix操作系统有很多值得学习的地方,这里我们主要介绍Unix操作系统中的uucp,大家一起来学习下吧!UUCP系统是一组程序,完成文件传输,执行系统之间的命令,维护系统使用情况的统计,保护安全. UUCP是系统最广泛使用的网络实用系统,这其中在两个原因: * 第一,UUCP是各种Unix操作系统版本都可用的唯一的标准网络系统 * 第二,UUCP是最便宜的网络系统.只需要一根电缆连接两个系统,然后就可建立UUCP.如果需要在相距数百或数千公里远的两个系统间传输数据,需要两个具有拨号功能的调