计算机操作系统的各种算法汇——作业、进程、页面置换、磁盘调度等。

一、            作业调度算

处理器的调度包括作业调度和进程调度。

周转时间是评价批处理系统性能、选择作业调度方式与算法的额重要准则之一。

周转时间=作业后备队列等待时间+进程就绪队列等待时间+进程cpu上运行时间+进程I/O等待。

带权周转时间=周转时间/服务时间(cpu上运行时间)

概念:平均周转时间、平均等待时间,带权周转时间。

1、  FCFS 先来先服务。遵循先进入后备队列的作业,先调度。非抢占式算法。对长作业非常有利。短作业的等待时间和周转时间会很长。

2、  SJF 短作业优先。根据作业控制块中作业申请时指出的执行时间,选取执行时间最短的作业优先调度。

3、  HRRF响应比高者优先。抢占式调度。优于FCFS,低于SJF。考虑了作业的执行时间和等待时间。客观的对待长、短作业。

响应比=响应时间/处理时间=(等待时间+处理时间)/处理时间=1+等待时间/处理时间。

4、  HPF 优先权高者优先。根据作业的优先权调度。优先数越大,优先权越低。优先权分为静态优先权和动态优先权。前者进入系统后不变,后者随着运行和等待时间会变化。

二、            进程调度算法

进程调度算法是低级调度算法,进程是操作系统进行资源分配和调度的基本单位,是操作系统中发生频率最高的调度。

1、  FCFS 先来先服务。与作业调度相似,不利于有输入输出的进程与短进程。

2、  时间片轮转。从就绪-运行=就绪。按到达的先后顺序。属于抢占式调度算法,系统主要开销体现在进程切换上。

3、  优先级调度算法。与作业优先级相似,分为静态优先级和动态优先级。数值越大,表示优先级越高。

4、  多级队列调度算法。MQ

5、  多集反馈队列。MFQ

三、            存储器管理

1、  分页式存储管理 不可动态链接。不但大大小勺了内存额碎片,提高内存利用率,还使得内存以页面为单位进行分配,为虚拟存储管理打下基础。线性地址空间。

页面:分页,将进程按照逻辑地址空间划分为大小相等的页面。进程的逻辑地址可以用页面和页内偏移地址表示。虽然逻辑地址被划分为页面,从本质上将仍然是连续的。

逻辑地址=页号+页内偏移地址。(页号在高位,偏移地址低位)。

页框:即物理块。页框的大小与页面相等。页框的大小有计算机硬件决定,页面大小由页框决定。

页表:从逻辑地址到物理地址的转换,借助页表可以获得物理地址。

物理地址=块号*块长+块内偏移

快表:高速缓存中,其中的页表,称为快表。

通过逻辑地址存取内存的平均时间:

T1=访问内存时间,T2=访问快表时间 P1:进程可以在快表中查到物理块号的概率。

T=(T1+T2)*P1+2T1*(1-P1);

多级页表:页目录号+页表页号+页内偏移。

2、 分段式存储管理

提供动态链接、段可以动态增加,不超过最大值。支持多道。程序不必连续存放,不支持虚拟存储。

逻辑地址=段号+段内偏移。

段表:有段号、段长、段在内存的其实地址和存取控制字段等信息。

3、 具有分页的分段(段页式)

地址变换中需要给每个进程建立一张段表,为每个段建立一张页表。

四、            虚拟存储管理

地址变换机构:虚拟存储器不可能在程序执行前将所有的程序页面放入内存,在执行过程中逐步将程序页面调入内存,完成逻辑地址到无力地址的映射是动态重定位装入的。

页面置换算法

1、 FIFO先进先出:缺页率高。只适合线性顺序特性好的程序。没有考虑到进入内存较早而被访问率很高的页面。

2、 最佳(optimal)页面置换法

考虑将来最长时间不用的页面----淘汰。具有最低的缺页率。

3、 最近最久为使用(LRU)页面置换算法  --Least Recently Used

选择过去最长时间已经不被使用的页面首先淘汰。

4、 时钟置换算法

将内存中的页面链接成循环队列,形成一个类似于时钟表面的环形表,循环队列指针相当于钟的指针,指向被淘汰的页面。R初值为0,访问后为“1”,将R清0并跳过该页。当R=0,清除该页面。

五、            文件管理

磁盘调度算法:磁头总共移动的柱面距离。平均寻道长度。

1、 先来先服务FIFS

2、 最短寻道时间优先 SSTF(shortestseek time first)

按照磁头寻道距离最短的方式响应相应的请求。每次访问的刺刀总是与当前磁道的距离最近。

3、 扫描(SCAN):消除饥饿现象,体现一定公平性。

让磁头从头开始,按照当前移动方向像磁盘另一方移动,移动过程中,到达的煮面有进程请求,则提供访问服务。

4、 循环扫描(CSCAN)

总是从0柱面开始移动,直到柱面的另一端,再回到0柱面重新开始

5、 LOOK调度算法

LOOK在SCAN的基础上,没响应一个磁盘请求之后总是判断该请求是不是沿该方向的最后一个请求,如果没有则调转磁头方向;否则继续下去。

 

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值