操作系统实验一:处理器调度算法的实现

一、实验目的

1)加深对处理机调度的作用和工作原理的理解。

2)进一步认识并发执行的实质。

 

二、实验要求:

本实验要求用高级语言,模拟在单处理器情况下,采用多个调度算法,对N个进程进行进程调度。语言自选。

并完成实验报告。

  

三、实验内容:

在采用多道程序设计的系统中,往往有若干个进程同时处于就绪状态。

当就绪状态进程个数大于处理器数时,就必须依照某种策略来决定哪些进程优先占用处理器。

  1. 进程及进程队列的表示。
  2. 处理器调度算法:FCFS,SJF,RR,HRRN,MLFQ等
  3. 跟踪进程状态的转化
  4. 输出:系统中进程的调度次序,计算CPU利用率,平均周转时间和平均带权周转时间

四、实验过程与结果

  1. 算法思想与设计
  2. 算法实现代码
  3. 运行结果

 

(1)FCFS算法

 

1.1 算法思想:

       按照作业进入系统后备作业队列的先后次序来挑选作业,先进入系统的作业将优先被挑选进入内存,创建用户进程,分配所需资源,然后移入就绪队列。

1.2 算法设计:(采用描述或程序流程图)

 

 

1.3 算法实现代码

 

1.4 运行结果

 

(2)SJF算法

 

2.1 算法思想:

       以进入系统作业所要求的CPU运行时间的长短为标准,总是选取预计计算时间最短的作业投入运行。

2.2 算法设计:(采用描述或程序流程图)

 

(3)最短剩余时间优先算法

 

3.1 算法思想:

       假设当前某进程正在运行,如果有新进程移入就绪队列,如果它所需要的CPU运行时间比当前运行进程所需要的剩余CPU时间还短,抢占式最短作业优先算法强行剥夺当前执行者的控制权,调度新进程执行。

3.2 算法设计:(采用描述或程序流程图)

 

posted @ 2019-04-15 20:09  借一程山水  阅读(486)  评论(0编辑  收藏  举报