进程管理之处理机调度

1.调度的基本概念:
(1)调度的基本概念:

在多道程序环境下,进程数目往往多于处理机数目,致使它们竞争使用处理机。这就要求系统能按某种算法,动态地把处理机分配给就绪队列中的一个进程,使之执行。分配处理机的任务是由进程调度程序完成的。它是操作系统设计的中心问题之一。

(2)处理机调度的层次

一个作业从提交开始,往往要经历三级调度:高级调度、中级调度、低级调度。

高级调度(长程/作业/宏观调度)

  • 从外存后备队列中选择作业进入内存就绪队列。
  • 在批处理系统中,大多配有作业调度。
  • 作业调度执行频率较低。

中级调度(交换调度)

  • 在内存和外存对换区之间按照给定的策略选择进程对换。
  • 解决内存紧张问题,提高内存的利用率和系统吞吐量。

低级调度(短程/CPU/进程/微观调度)

  • 任务是从就绪队列中选择一个进程来执行并由分派程序(Dispatcher)分配处理机。
  • 是 OS 中最基本的调度。
  • 时间尺度通常是毫秒级的,由于低级调度算法的频繁使用,要求在实现时做到高效。
  • 常采用非抢占(非剥夺)方式和抢占(剥夺)方式两种。

三级调度之间的联系:
三级调度之间的联系

2.调度的基本准则:
  • cpu利用率

CPU是计算机系统中最重要和昂贵的资源之一,所以应尽可能使CPU保持“忙”状态,使这一资源利用率最高。

  • 系统吞吐量

表示单位时间单位内CPU完成作业的数量

  • 周转时间

周转时间 = 作业完成时间 - 作业提交时间

  • 等待时间

是指进程处于等处理及状态的时间之和。

  • 响应时间

是指从用户提交到首次产生响应产生的时间。

3.典型的调度算法:
  • 先来先服务(FCFS)调度算法
  • 短作业优先(SJF)调度算法
  • 优先级调度算法
  • 高响应比优先调度算法
  • 时间片轮换调度算法
  • 多级反馈队列调度算法(集合了前几种算法的有点)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
编写一个单处理机下的进程调度程序,模拟操作系统对进程的调度。 要求: 1.能够创建指定数量的进程,每个进程由一个进程控制块表示。 2.实现先来先服务调度算法:进程到达时间可由进程创建时间表示。 3.实现短作业优先调度算法:可指定进程要求的运行时间。(说明:对不可剥夺的短作业优先算法,当作业运行时间相等时,优先调度进程号小的进程执行;对可剥夺式的短作业优先算法,即选最短剩余时间的进程进行运行,在剩余时间相同的情况下,选择到达时间早的进程进行运行) 4. 实现时间片轮转调度算法:可指定生成时间片大小。(说明:新进程到来时插入到就绪队列的队尾,当进程P运行完一个时间片时,若同时有进程Q到达,则先在就绪队列队尾插入新到达的进程Q,之后再插入进程P) 5.实现动态优先级调度算法:可指定进程的初始优先级(优先级与优先数成反比,优先级最高为0),优先级改变遵循下列原则:进程就绪队列每停留一个时间片,优先级加1,进程每运行一个时间片,优先级减3。(说明:本算法在优先级相同的情况下,选择到达时间早的进程进行运行) 测试用例格式如下: 输入:调度算法    进程号/到达时间/运行时间/优先级/时间片 输出:调度顺序/进程号/开始运行时间/结束运行时间/优先级 其调度算法选项为:1----先来先服务,2----短作业优先,3----最短剩余时间优先,4----时间片轮转,5----动态优先级
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值