实验概述: 【实验目的及要求】 理解并掌握处理机调度算法 【实验原理】 基于先来先服务调度和最短作业优先调度算法思想用C语言编程实现 【实验环境】(使用的软件) Visual C++6.0 实验内容: 本实验模拟在单处理机情况下处理机调度,用C语言编程实现先来先服务和最短作业优先调【实验方案设计】 FCFS流程图: SJF流程图: 试验总设计流程图: 进程等待时间=进程开始运行时间-进程提交时间(即进程处于就绪态时间) 进程周转时间=进程结束时间-进程提交时间 计算各作业参 数: 计算各作业参【实验过程】(实验步骤、记录、数据、分析) 数: 测试用例1: 屏幕显示:Please input the total number of jobs 输入:4 <回车> 屏幕显示:Please input job number, submit time and run time 输入: 1 9.0 0.2<回车> 2 8.5 0.5<回车> 3 8.0 1.0<回车> 4 9.1 0.1<回车> 屏幕显示:What kind of algorithm do you want? Please input 1 to select FCFS, or 2 输入:3 <回车> 屏幕显示:You have input a wrong number, please input again. 输入:1<回车> 屏幕输出结果: submit run starting final wait turnaround 3 8.0 1.0 8.0 9.0 0.0 1.0 2 8.5 0.5 9.0 9.5 0.5 1.0 1 9.0 0.2 9.5 9.7 0.5 0.7 4 9.1 0.1 9.7 9.8 0.6 0.7 屏幕显示: The average turnaround time is 0.85 What kind of algorithm do you want? Please input 1 to select FCFS, or 2 to select 测试数据二: submit run 1 6 0.5 2 5 0.9 3 6.3 0.1 FCFS和SJF算法结果一样: submit run starting final wait turnaround 2 5 0.9 5 5.9 0 0.9 1 6 0.5 6 6.5 0 0.5 3 6.3 0.1 6.5 6.6 0.2 0.3 The average turnaround time is 0.567 测试数据三: submit run 1 5 0.2 2 4.2 0.3 3 5.1 0.3 4 5.2 0.1 FCFS: submit run starting final wait turnaround 2 4.2 0.3 4.2 4.5 0 0.3 1 5 0.2 5 5.2 0 0.2 3 5.1 0.3 5.2 5.5 0.1 0.4 4 5.2 0.1 5.5 5.6 0.3 0.4 The average turnaround time is 0.325 SJF: submit run starting final wait turnaround 2 4.2 0.3 4.2 4.5 0 0.3 1 5 0.2 5 5.2 0 0.2 4 5.2 0.1 5.2 5.3 0 0.1 3 5.1 0.3 5.3 5.6 0.2 0.5 The average turnaround time is 0.275 源程序: #include \ #include\ #include\ #define M 50 struct sjf{ int jobnumber;
好文档 - 专业文书写作范文服务资料分享网站