OS调度算法常用摘要
一、常见的批处理作业调度
1.先来先服务调度算法(FCFS):就是依照各个作业进入系统的自然次序来调度作业。这样的调度算法的长处是实现简单,公平。
其缺点是没有考虑到系统中各种资源的综合使用情况,往往使短作业的用户不惬意,由于短作业等待处理的时间可能比实际执行时间长得多。
2.短作业优先调度算法(SPF): 就是优先调度并处理短作业。所谓短是指作业的执行时间短。
而在作业未投入执行时。并不能知道它实际的执行时间的长短。因此须要用户在提交作业时同一时候提交作业执行时间的预计值。
3.最高响应比优先算法(HRN):FCFS可能造成短作业用户不满,SPF可能使得长作业用户不满。于是提出HRN,选择响应比最高的作业执行。响应比=1+作业等待时间/作业处理时间。
4. 基于优先数调度算法(HPF):每个作业规定一个表示该作业优先级别的整数,当须要将新的作业由输入井调入内存处理时,优先选择优先数最高的作业。
5.均衡调度算法,即多级队列调度算法
基本概念:
作业周转时间(Ti)=完毕时间(Tei)-提交时间(Tsi)
作业平均周转时间(T)=周转时间/作业个数
作业带权周转时间(Wi)=周转时间/执行时间
响应比=(等待时间+执行时间)/执行时间
二、进程调度算法
1.先进先出算法(FIFO):依照进程进入就绪队列的先后次序来选择。
即每当进入进程调度,总是把就绪队列的队首进程投入执行。
2. 时间片轮转算法(RR):分时系统的一种调度算法。
轮转的基本思想是。将CPU的处理时间划分成一个个的时间片,就绪队列中的进程轮流执行一个时间片。
当时间片结束时,就强迫进程让出CPU,该进程进入就绪队列,等待下一次调度。同一时候。进程调度又去选择就绪队列中的一个进程。分配给它一个时间片,以投入执行。
3. 最高优先级算法(HPF):进程调度每次将处理机分配给具有最高优先级的就绪进程。最高优先级算法可与不同的CPU方式结合形成可抢占式最高优先级算法和不可抢占式最高优先级算法。
4. 多级队列反馈法:几种调度算法的结合形式多级队列方式。
三、空暇分区分配算法
1. 首先适应算法:当接到内存申请时。查找分区说明表,找到第一个满足申请长度的空暇区,将其切割并分配。此算法简单,能够高速做出分配决定。
2. 最佳适应算法:当接到内存申请时,查找分区说明表,找到第一个能满足申请长度的最小空暇区,将其进行切割并分配。此算法最节约空间,由于它尽量不切割到大的空暇区。其缺点是可能会形成非常多非常小的空暇分区,称为“碎片”。
3. 最坏适应算法:当接到内存申请时,查找分区说明表。找到能满足申请要求的最大的空暇区。该算法的长处是避免形成碎片,而缺点是切割了大的空暇区后,在遇到较大的程序申请内存时,无法满足的可能性较大。
四、虚拟页式存储管理中的页面置换算法
1.理想页面置换算法(OPT):这是一种理想的算法。在实际中不可能实现。该算法的思想是:发生缺页时,选择以后永不使用或在最长时间内不再被訪问的内存页面予以淘汰。
2.先进先出页面置换算法(FIFO):选择最先进入内存的页面予以淘汰。
3. 近期最久未使用算法(LRU):选择在近期一段时间内最久没有使用过的页,把它淘汰。
4.最少使用算法(LFU):选择到当前时间为止被訪问次数最少的页转换。
五、磁盘调度
1.先来先服务(FCFS):是按请求訪问者的先后次序启动磁盘驱动器。而不考虑它们要訪问的物理位置
2.最短寻道时间优先(SSTF):让离当前磁道近期的请求訪问者启动磁盘驱动器,即是让查找时间最短的那个作业先运行,而不考虑请求訪问者到来的先后次序。这样就克服了先来先服务调度算法中磁臂移动过大的问题
3.扫描算法(SCAN)或电梯调度算法:总是从磁臂当前位置開始。沿磁臂的移动方向去选择离当前磁臂近期的那个柱面的訪问者。
假设沿磁臂的方向无请求訪问时,就改变磁臂的移动方向。在这样的调度方法下磁臂的移动类似于电梯的调度。所以它也称为电梯调度算法。
4.循环扫描算法(CSCAN):循环扫描调度算法是在扫描算法的基础上改进的。磁臂改为单项移动,由外向里。当前位置開始沿磁臂的移动方向去选择离当前磁臂近期的哪个柱面的訪问者。假设沿磁臂的方当用于访问没有请求,然后再返回到最外,的气缸工作存取请求的最小数目。
版权声明:本文博主原创文章。博客,未经同意不得转载。
OS调度算法常用摘要的更多相关文章
- iOS - Mac OS X 常用快捷键
Mac OS X 常用快捷键 1)快捷键图标: Escape 为 esc 键 无 Eject 键时用电源键代替 Space Bar 为空格键 2)基本快捷键: command + x 剪切文字 com ...
- OS中常用的调度算法总结 (转)
http://blog.chinaunix.net/uid-25132162-id-361291.html 一.常见的批处理作业调度算法 1.先来先服务调度算法(FCFS):就是按照各个作业进入系统的 ...
- Mac OS 终端常用命令【搜藏】
基础概念 OS X 采用的Unix文件系统,所有文件都挂在跟目录“ /” 下面,所以不在要有Windows 下的盘符概念.比如什么“C:”你在桌面上看到的硬盘都挂在 /Volumes 下.比如接上个叫 ...
- Mac OS 终端常用命令基础
基础概念 OS X 采用的Unix文件系统,所有文件都挂在跟目录" /" 下面,所以不在要有Windows 下的盘符概念.比如什么"C:"你在桌面上看到的硬盘都 ...
- python os模块 常用命令
python编程时,经常和文件.目录打交道,这是就离不了os模块.os模块包含普遍的操作系统功能,与具体的平台无关.以下列举常用的命令 1. os.name()——判断现在正在实用的平台,Window ...
- Python OS模块常用功能 中文图文详解
一.Python OS模块介绍 OS模块简单的来说它是一个Python的系统编程的操作模块,可以处理文件和目录这些我们日常手动需要做的操作. 可以查看OS模块的帮助文档: >>> i ...
- 【python】os模块常用命令
python编程时,经常和文件.目录打交道,这是就离不了os模块.os模块包含普遍的操作系统功能,与具体的平台无关.以下列举常用的命令 1. os.name()——判断现在正在实用的平台,Window ...
- python os模块常用命令
python编程时,经常和文件.目录打交道,这是就离不了os模块.os模块包含普遍的操作系统功能,与具体的平台无关.以下列举常用的命令 1. os.name()——判断现在正在实用的平台,Window ...
- [转]python os模块 常用命令
python编程时,经常和文件.目录打交道,这是就离不了os模块.os模块包含普遍的操作系统功能,与具体的平台无关.以下列举常用的命令 1. os.name()——判断现在正在实用的平台,Window ...
随机推荐
- 如何理解java回电话
同android中间Button的setOnClickListener这个回调案例: Button button = (Button)this.findViewById(R.id.button); b ...
- POJ2528 Mayor's posters 【线段树】+【成段更新】+【离散化】
Mayor's posters Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 39795 Accepted: 11552 ...
- ORALCE 之LRU链与脏LRU链【转载】
今天是2013-09-09,时别n久的一篇经典文章,有被我在google发现了,再次转载一下.学习一下. 一.LRU链: 任何缓存的大小都是有限制的,并且总不如被缓存的数据多.就像Buffer cac ...
- MySql 链接url 参数详解
最近 整理了一下网上关于MySql 链接url 参数的设置,有不正确的地方希望大家多多指教: mysql JDBC URL格式如下: jdbc:mysql://[host:port],[host:po ...
- 动态分析maillog日志,把恶意链接直接用防火墙禁止
近期用 postfix + dovecot 搭建了一个邮件server, 被人当做垃圾邮件转发器,经过配置postfix 的黑白名单, postfix 提示成功的 REJECT 了垃圾邮件, 只是还是 ...
- VMware vSphere 服务器虚拟化之二十八 桌面虚拟化之安装View传输服务器
VMware vSphere 服务器虚拟化之二十八 桌面虚拟化之安装View传输服务器 View 传输服务器用于管理和简化数据中心与在最终用户本地系统上检出使用的 View 桌面之间的数据传输.必须安 ...
- OCA读书笔记(14) - 备份和恢复基本概念
备份恢复概念 如何判断数据库的一致性 在mount状态下,oracle如何判断数据库的一致性 scn:system change number,它是数据库时钟 如何查询当前系统的scn: select ...
- 【Bug Fix】Error : Can't create table 'moshop_1.#sql-534_185' (errno: 150)
运行alter操作, alter table xx_shop_info add index FK9050F5D83304CDDC (shop_area), add constraint FK9050F ...
- SurfaceView的一个小应用:开发示波器
SurfaceView与普通View还有一个重要区别:View的绘图必须在UI线程中进行,但SurfaceView不存在这个问题,因为它是由SurfaceHolder来完成的.所以对于View组件,如 ...
- MyReport演示下载连接和相关文章索引
演示地址 Flex集成方式 (旧版2.6) HTML集成方式 MyReport产品站点 NEW 相关文章 ------------------------2.6下面版本号--------------- ...