当前位置:首页 > 体育 >

什么是操作系统(操作系统是一种什么软件)

来源:原点资讯(www.yd166.com)时间:2023-04-28 03:34:53作者:YD166手机阅读>>

这个算法的强大之处在于易于理解和编程,在这个算法中,一个单链表记录了所有就绪进程。要选取一个进程运行,只要从该队列的头部移走一个进程即可;要添加一个新的作业或者阻塞一个进程,只要把这个作业或进程附加在队列的末尾即可。这是很简单的一种实现。

不过,先来先服务也是有缺点的,那就是没有优先级的关系,试想一下,如果有 100 个 I/O 进程正在排队,第 101 个是一个 CPU 密集型进程,那岂不是需要等 100 个 I/O 进程运行完毕才会等到一个 CPU 密集型进程运行,这在实际情况下根本不可能,所以需要优先级或者抢占式进程的出现来优先选择重要的进程运行。

最短作业优先

批处理中,第二种调度算法是 最短作业优先(Shortest Job First),我们假设运行时间已知。例如,一家保险公司,因为每天要做类似的工作,所以人们可以相当精确地预测处理 1000 个索赔的一批作业需要多长时间。当输入队列中有若干个同等重要的作业被启动时,调度程序应使用最短优先作业算法

什么是操作系统,操作系统是一种什么软件(13)

如上图 a 所示,这里有 4 个作业 A、B、C、D ,运行时间分别为 8、4、4、4 分钟。若按图中的次序运行,则 A 的周转时间为 8 分钟,B 为 12 分钟,C 为 16 分钟,D 为 20 分钟,平均时间内为 14 分钟。

现在考虑使用最短作业优先算法运行 4 个作业,如上图 b 所示,目前的周转时间分别为 4、8、12、20,平均为 11 分钟,可以证明最短作业优先是最优的。考虑有 4 个作业的情况,其运行时间分别为 a、b、c、d。第一个作业在时间 a 结束,第二个在时间 a b 结束,以此类推。平均周转时间为 (4a 3b 2c d) / 4 。显然 a 对平均值的影响最大,所以 a 应该是最短优先作业,其次是 b,然后是 c ,最后是 d 它就只能影响自己的周转时间了。

需要注意的是,在所有的进程都可以运行的情况下,最短作业优先的算法才是最优的。

最短剩余时间优先

最短作业优先的抢占式版本被称作为 最短剩余时间优先(Shortest Remaining Time Next) 算法。使用这个算法,调度程序总是选择剩余运行时间最短的那个进程运行。当一个新作业到达时,其整个时间同当前进程的剩余时间做比较。如果新的进程比当前运行进程需要更少的时间,当前进程就被挂起,而运行新的进程。这种方式能够使短期作业获得良好的服务。

21.2 交互式系统中的调度

交互式系统中在个人计算机、服务器和其他系统中都是很常用的,所以有必要来探讨一下交互式调度

轮循调度

一种最古老、最简单、最公平并且最广泛使用的算法就是 轮循算法(round-robin)。每个进程都会被分配一个时间段,称为时间片(quantum),在这个时间片内允许进程运行。如果时间片结束时进程还在运行的话,则抢占一个 CPU 并将其分配给另一个进程。如果进程在时间片结束前阻塞或结束,则 CPU 立即进行切换。轮循算法比较容易实现。调度程序所做的就是维护一个可运行进程的列表,就像下图中的 a,当一个进程用完时间片后就被移到队列的末尾,就像下图的 b。

什么是操作系统,操作系统是一种什么软件(14)

优先级调度

事实情况是不是所有的进程都是优先级相等的。例如,在一所大学中的等级制度,首先是院长,然后是教授、秘书、后勤人员,最后是学生。这种将外部情况考虑在内就实现了优先级调度(priority scheduling)

什么是操作系统,操作系统是一种什么软件(15)

它的基本思想很明确,每个进程都被赋予一个优先级,优先级高的进程优先运行。

但是也不意味着高优先级的进程能够永远一直运行下去,调度程序会在每个时钟中断期间降低当前运行进程的优先级。如果此操作导致其优先级降低到下一个最高进程的优先级以下,则会发生进程切换。或者,可以为每个进程分配允许运行的最大时间间隔。当时间间隔用完后,下一个高优先级的进程会得到运行的机会。

最短进程优先

对于批处理系统而言,由于最短作业优先常常伴随着最短响应时间,一种方式是根据进程过去的行为进行推测,并执行估计运行时间最短的那一个。假设每个终端上每条命令的预估运行时间为 T0,现在假设测量到其下一次运行时间为 T1,可以用两个值的加权来改进估计时间,即aT0 (1- 1)T1。通过选择 a 的值,可以决定是尽快忘掉老的运行时间,还是在一段长时间内始终记住它们。当 a = 1/2 时,可以得到下面这个序列

什么是操作系统,操作系统是一种什么软件(16)

栏目热文

计算机系统主机由什么组成(计算机主机主要是由什么组成的)

计算机系统主机由什么组成(计算机主机主要是由什么组成的)

电脑主机通常包括 CPU、内存、硬盘、光驱、电源、以及其他输入输出控制器和接口。如 USB 控制器、显卡、网卡、声卡等等...

2023-04-28 02:58:31查看全文 >>

计算机五大组成部分(计算机五大基本组成)

计算机五大组成部分(计算机五大基本组成)

《计算机组成原理》总结 第一章 计算机系统概论1.1计算机的分类电子计算机分两大类:电子模拟计算机、电子数字计算机2.4...

2023-04-28 03:29:32查看全文 >>

计算机系统是由各种什么组成的(完整的计算机系统由什么组成)

计算机系统是由各种什么组成的(完整的计算机系统由什么组成)

计算机机系统是由硬件系统和软件系统两大部分组成一、硬件系统: 1)主机:微处理器 内存储器 系统总线 2)外围设备:输入...

2023-04-28 03:15:50查看全文 >>

六种计算机操作系统(计算机的操作系统有几种)

六种计算机操作系统(计算机的操作系统有几种)

操作系统已经存在了大半个世纪,在这段时期内,出现了各种类型的操作系统,但并不是所有的操作系统都很出名,下面就罗列一些比较...

2023-04-28 02:51:12查看全文 >>

计算机系统结构图大全(完整的计算机系统组成图片)

计算机系统结构图大全(完整的计算机系统组成图片)

计算机系统基本硬件结构图,...

2023-04-28 03:29:21查看全文 >>

计算机系统由哪四个组成(计算机系统由哪些组成)

计算机系统由哪四个组成(计算机系统由哪些组成)

1、 下面的文件格式哪个不是图形图像的存储格式____。A、.pdf   B、.jpg  C、.gif   D、.bmp...

2023-04-28 03:13:53查看全文 >>

计算机软件系统包括什么(计算机软件系统包括什么软件和什么软件)

计算机软件系统包括什么(计算机软件系统包括什么软件和什么软件)

先上一个软件开发的整体流程图,这就是大名鼎鼎的“瀑布模型(WaterfallModel)”。据说由温斯顿·罗伊斯(Win...

2023-04-28 03:09:16查看全文 >>

计算机是由哪四个部分组成的(计算机由五个部分组成分别是什么)

计算机是由哪四个部分组成的(计算机由五个部分组成分别是什么)

几年前一个月黑风高的晚上,我正在书房里写文章,只见逃爸悄悄咪咪走进来,窸窸窣窣地在房间里翻腾了一会,似乎找到了个什么方方...

2023-04-28 03:04:26查看全文 >>

计算机系统的五大部件(计算机的七大部件)

计算机系统的五大部件(计算机的七大部件)

在世界上第一台计算机埃尼阿克诞生后,计算机技术发展进入了快车道。被称为计算机之父的冯诺依曼,提出了存储程序和程序控制的计...

2023-04-28 03:03:53查看全文 >>

计算机主机内有哪些部件(计算机主机内部包括哪些硬件)

计算机主机内有哪些部件(计算机主机内部包括哪些硬件)

1、软件系统软件系统包括:操作系统、应用软件等。应用软件中电脑行业的管理软件,IT电脑行业的发展必备利器,电脑行业的er...

2023-04-28 02:52:51查看全文 >>

文档排行