操作系统学习笔记(六)---CPU调度

目录

一、例题

二、调度准则

三、调度算法(Scheduling algorithm)

附:线程调度


一、例题

1.Explain the difference between preemptive and nonpreemptive scheduling.

Answer:

如果调度方案是非抢占的(nonpreemptive),一旦CPU分配给一个进程,那么该进程会一直使用CPU直到进程终止或切换到等待状态。而抢占的调度方案会在进程未达到终止或等待状态就切换进程(比如出现中断或 等待状态的进程的I/O完成而切换到就绪状态)。

简而言之就是CPU是否允许当前进程未结束或到达等待状态就进行进程切换。

 

2.Discuss how the following pairs of scheduling criteria conflict in certain settings.

a. CPU utilization and response time (CPU利用率和响应时间)

CPU利用率一定程度上取决于进程上下文切换的频繁程度,比如我们采用FCFS的调度方案那么CPU利用率也许会比较大但是不可避免的是响应时间会增加(显然这种方式进程等待时间会很不理想)。

 

b. Average turnaround time and maximum waiting time (平均周转时间和最大等待时间)

为使平均周转时间少,需要优先处理所需时间少的任务,然后这样时间长度长的进程的等待时间无疑会被加长。

 

c. I/O device utilization and CPU utilization(I/O设备利用率和CPU利用率)

CPU利用率的提高需要减少上下文切换的次数,而I/O设备利用率的提高需要让I/O设备一准备就绪就能马上运行—这需要上下文切换来实现,所以两者是矛盾的。

 

3.Consider the following set of processes,with the length of the CPU burst given in milliseconds:

The processes are assumed to have arrived in the order P1, P2, P3, P4, P5, all at time 0.

a. Draw four Gantt charts that illustrate the execution of these processes using the following scheduling algorithms: FCFS, SJF, nonpreemptive priority(a larger priority number implies a higher priority), and RR (quantum = 2).

b. What is the turnaround time of each process for each of the scheduling algorithms in part a?

c. What is the waiting time of each process for each of these scheduling algorithms?

  • 4
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
1. 实验目的 调度的实质是操作系统按照某种预定的策略来分配资源。进程调度的目的是分配CPU资源。由于进程调度程序执行的频率很高,因此调度算法的好坏直接影响到操作系统的性能。本实验的目的是编程模拟实现几种常用的进程调度算法,通过对几组进程分别使用不同的调度算法,计算进程的平均周转时间和平均带权周转时间,比较各种算法的性能优劣。 2. 实验原理 [1]. 进程调度算法描述 进程调度算法包括先来先服务调度算法、最短作业时间优先(抢占式和非抢占式)、最高响应比调度算法4种。(每个人必须做FCFS,然后在后面的三种中任选一种,即每个人必须做2种调度算法的模拟。) [2]. 衡量算法性能的参数 计算进程的平均周转时间和平均带权周转时间。 3. 实验内容 (1)编程实现本实验的程序,要求: [1]. 建立进程的进程控制块,进程控制块至少包括: a) 进程名称; b) 进程需要执行时间; c) 进入就绪队列时间; d) 进程执行开始时间 e) 进程执行结束时间 [2]. 编程实现调度算法。 [3]. 进程及相关信息的输入。这些信息可以直接从键盘上输入,也可以从文件读取。 [4]. 时间片与时间流逝的模拟。本实验需要对算法的执行计时,程序应该提供计算时间的方法。一种最简单的方法是使用键盘,比如每敲一次空格代表一个时间片的流逝。另一种方法是使用系统时钟。 [5]. 一组进程序列执行完毕,打印出结果信息。程序需要计算出每个进程的开始执行时间、结束时间、周转时间和带权周转时间,并为整个进程序列计算平均周转时间和平均带权周转时间。程序将计算结果按一定的格式显示在计算机屏幕上或输出到文件中。打印出进程调度顺序图。 [6]. 实现数据在磁盘文件上的存取功能。 (2)对下列就绪进程序列分别使用上面的几种算法进行调度,计算每种算法下的平均周转时间和平均带权周转时间。 进程号 到达时间 要求执行时间 0 0 1 1 1 35 2 2 10 3 3 5 4 6 9 5 7 21 6 9 35 7 11 23 8 12 42 9 13 1 10 14 7 11 20 5 12 23 3 13 24 22 14 25 31
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值