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 ...
随机推荐
- EndNote是一款着名的参考文献管理软件
EndNote是一款着名的参考文献管理软件,我们可以通过该软件创建个人参考文献库,此外对公司DCC.法务和专 利部门十分的有用,甚至对我们写SOP 也有些帮忙,并且该软件可以在其中加入文本.图像.表格 ...
- Windbg抓取程序崩溃的dmp文件的方法
Windbg抓取程序崩溃的dmp文件的方法 一. 简介 windbg是在windows平台下,强大的用户态和内核态调试工具.相比较于Visual Studio,它是一个轻量级的调试工具, ...
- Github上四种Lisp方言的流行度 | 肉山博客 (Wenshan's Blog)
Github上四种Lisp方言的流行度 | 肉山博客 (Wenshan's Blog) Github上四种Lisp方言的流行度
- Java线程状态及Thread类中的主要方法
要想实现多线程,就必须在主线程中创建新的线程对象. 不论什么线程一般具有5种状态,即创建,就绪,执行,堵塞,终止. 创建状态: 在程序中用构造方法创建了一个线程对象后,新的线程对象便处于新建状态,此时 ...
- Opencv各个版本的万能头文件
每次下载opencv的新版本时,都需要重新写头文件,更改链接库配置,很麻烦有木有?下面这个头文件是我在别人的代码中淘出来的,很不错,与大家分享~(具体作者忘记了,不好意思啊) 作者很巧妙地利用Open ...
- Selenium来抓取动态加载的页面
一般的爬虫都是直接使用http协议,下载指定url的html内容,并对内容进行分析和抽取.在我写的爬虫框架webmagic里也使用了HttpClient来完成这样的任务. 但是有些页面是通过js以及a ...
- Java学习笔记——File类之文件管理和读写操作、下载图片
Java学习笔记——File类之文件管理和读写操作.下载图片 File类的总结: 1.文件和文件夹的创建 2.文件的读取 3.文件的写入 4.文件的复制(字符流.字节流.处理流) 5.以图片地址下载图 ...
- Maven聚合
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2 ...
- Java并发编程--Fork/Join框架使用
上篇博客我们介绍了通过CyclicBarrier使线程同步,可是上述方法存在一个问题,那就是假设一个大任务跑了2个线程去完毕.假设线程2耗时比线程1多2倍.线程1完毕后必须等待线程2完毕.等待的过程线 ...
- counting objects in class
參考文献:pgno=1">http://www.drdobbs.com/cpp/counting-objects-in-c/184403484? pgno=1