好文档 - 专业文书写作范文服务资料分享网站

课程设计 处理器调度算法模拟

天下 分享 时间: 加入收藏 我要投稿 点赞

南通大学计算机学院

操作系统 课程设计

报 告 书

设计题目 处理器调度算法模拟

专业班级 软嵌161 学生姓名 候玉权 学 号 1613072015 指导教师 丁红 日 期 2024.07.05

实验报告正文内容

1、课程设计的目的

在采用多道程序设计的系统中,往往有若干个进程同时处于就绪状态。当就绪状态进程个数大于处理器数时,就必须依照某种策略来决定哪些进程优先占用处理器。本实验模拟在单处理器情况下处理器调度,帮助学生加深了解处理器调度的工作。

2、课程设计的要求

用C++语言编写程序完成单处理机的进程调度

3、课程设计的环境

在机房完成,运行环境vs2017

4、问题描述

对cpu调度算法进行模拟实现,包含先来先服务,短作业优先,响应比最高优先,时间片轮转等算法。

5、算法分析

数据结构

struct ef { }

char name[10]; //进程名称 int number; //进程编号 float daodatime; //到达时间 float kaishitime; //开始运行时间 float yunxingtime; //运行时间 float jieshutime; //运行结束时间 int shengyutime; // 剩余时间 int fuwutime; //服务时间 int order; //运行次序 int run_flag; //调度标志 int priority; //优先级 struct ef *next;

先来先服务算法

int fcfs() //先来先服务

{

1

}

float tp = 0; int i; int zx;

tp = ef[0].daodatime; for (i = 0; i

return 0;

ef[i].kaishitime = tp;

ef[i].jieshutime = ef[i].kaishitime + ef[i].yunxingtime; ef[i].run_flag = 1; tp = ef[i].jieshutime; zx = i;

ef[zx].order = i + 1;

2

短作业优先

int sjf() //短作业优先

for (j = 0; j

if ((ef[j].daodatime <= temp_time) && (!ef[j].run_flag))

if (ef[j].yunxingtime

yunxingtime = ef[j].yunxingtime; zx= j;

{

float temp_time = 0; int i = 0, j; int zx, tc; float yunxingtime;

yunxingtime = ef[i].yunxingtime; j = 1;

while ((j

if (ef[j].yunxingtime

//对第一个被调度的进程求相应的参数

yunxingtime = ef[j].yunxingtime; i = j;

} //查找第一个被调度的进程 zx = i;

ef[zx].kaishitime = ef[zx].daodatime;

ef[zx].jieshutime = ef[zx].kaishitime + ef[zx].yunxingtime; ef[zx].run_flag = 1;

temp_time = ef[zx].jieshutime; ef[zx].order = 1; tc = 1; while (tc

for (j = 0; j

if ((ef[j].daodatime <= temp_time) && (!ef[j].run_flag)) { }

yunxingtime = ef[j].yunxingtime; zx = j; break;

3

}

}

}

//查找下一个被调度的进程

//对找到的下一个被调度的进程求相应的参数 ef[zx].kaishitime = temp_time;

ef[zx].jieshutime = ef[zx].kaishitime + ef[zx].yunxingtime; ef[zx].run_flag = 1;

temp_time = ef[zx].yunxingtime; tc++;

ef[zx].order = tc;

}return 0;

4

课程设计 处理器调度算法模拟

南通大学计算机学院操作系统课程设计报告书设计题目处理器调度算法模拟专业班级软嵌161
推荐度:
点击下载文档文档为doc格式
5izw54ev3c77t6k14pg60zn011oo6h01ajd
领取福利

微信扫码领取福利

微信扫码分享