操作系统实验报告学 院 计算机 专 业 计算机科学与技术 班 级 200 X 级 X 班 学 号 XXXXXXXX 姓 名 XXX 指导老师 孙为军 学号: XXXXXXXX 姓名: XXX 协作者:________实验__ 一 __ 题目__ 进程调度 ___ 第 12 周星期__ 四 _ 一、实验目的 用高级语言编写和调试一个进程调度程序,以加深对进程的概念及进程调度算法的理解
二、实验内容和要求 设计一个有 N 个进程并发的进程调度程序
要求采纳最高级优先数优先算法
每个进程有一个进程控制块 PCB 表示
进程控制块可以包含如下信息:进程名、优先数、到达时间、需要运行时间、已用 CPU 时间、进程状态等等
进程的优先数以及需要的运行时间可以事先人为地指定
进程的到达时间为进程输入的时间
进程的运行时间以及时间片为单位进行计算
每个进程的状态可以是就绪 W wait、运行 R run、完成 F finish 三种状态之一
就绪进程获得 CPU 后就只能进行一个时间片
用已占用 CPU 时间加 1 来表示
假如运行一个时间片后,进程的已占用 CPU 时间已达到所需要的运行时间,则撤销该进程,假如运行一个时间片后进程的已占用 CPU 时间还未到达所需要的运行时间,也就是进程还需要继续运行,此时,应将进程的优先数减 1,然后把它插入就绪队列等待 CPU
每进行一次调度程序都打印一次运行进程、就绪队列、以及各个进程的 PCB,以便进程检查
重复以上过程,知道所有进程完成为止
三、实验原理及设计方案1、进程调度算法:采纳多级反馈队列调度算法
其基本思想是:当一个新进程进入内在后,首先将它放入第一个队列的末尾,按 FCFS 原则排队等待高度
当轮到该进程执行时,如能在该时间片内完成,便可准备撤离系统;假如它在一个时间片结束时尚为完成,调度程序便将该进程转入第二队列的末尾