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

2015广工操作系统课程设计报告(文档最后含源码下载地址)剖析

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

成 绩

操作系统课程设计

学生学院____ 计算机学院______ 专业班级 13级计科9 学 号 学生姓名 指导教师 李敏

2015 年 12 月 29 日

一、课程设计介绍

设计模拟一个实现多道批处理系统的两级调度。通过具体的作业调度、进程调度、内存分配等功能的实现,加深对多道批处理系统的两级调度模型和实现过程的理解。 作业从进入系统到最后完成,要经历两级调度:作业调度和进程调度。作业调度是高级调度,它的主要功能是根据一定的算法,从输入井中选中若干个作业,分配必要的资源,如主存、外设等,为它们建立初始状态为就绪的作业进程。进程调度是低级调度,它的主要功能是根据一定的算法将CPU分派给就绪队列中的一个进程。 在本次课程设计中假定系统可供用户使用的主存空间共100KB,并有4台磁带机。主存分配采用可变分区分配方式且主存中信息不允许移动,对磁带机采用静态分配策略,作业调度分别采用先来先服务算法和最小作业优先算法,进程调度则采用先来先服务和最短进程优先算法。

二、课程设计环境

1. 计算机及操作系统:PC机,WindowsXP系统 2. 程序设计使用工具:Microsoft VisualC++ 6.0 3. 程序设计语言:C语言

三、 课程设计思想

假定“预输入”程序已经把一批作业的信息存放在输入井了,并为它们建立了相应作业表。

测试数据如下:

作业 到达时间 估计运行时间 内存需要 磁带机需要 JOB1 10:00 25分钟 15K 2台 JOB2 10:20 30分钟 60K 1台 JOB3 10:30 10分钟 50K 3台 JOB4 10:35 20分钟 10K 2台 JOB5 10:40 15分钟 30K 2台

本次课程设计采用的是两个作业调度算法:先来先服务算法和短作业优先算法,两个进程调度算法:先来先服务算法,短进程优先算法。系统根据所选算法组合对输入系统的作业进行两级调度(作业调度,进程调度)。分别在不同算法控制下运行设计的程序,依次显示被选中作业、内存空闲区和磁带机的情况,输出不同算法作业的选中次序及作业平均周转时间。作业的数据初始化输入通过读取文件这种方式进行导入。系统运行是通过设置指针来循环运作。

四、 系统结构说明

系统的各个模块之间的关系如下:

五、 数据结构说明

1.定义一个显示时间的结构体,成员包括时、分

struct time { int hour; //时 int min; //分 };

2.建立作业控制块,具体成员如下所示: struct jcb {

char name[10]; //进程名 struct time arr_time; //到达时间

struct time ent_time; //进入内存时间 struct time sta_time; //开始时间 struct time fin_time; //结束时间 int run_time; //估计运行时间 int tr_time; //周转时间

int men; //主存需要 int mac; //磁带机 int sta; //状态位 struct jcb* next; };typedef struct jcb JCB;

3.进程的链接结构体,成员如下所示: struct link {

char name[10]; //进程名 struct time arr_time; //到达时间

struct time ent_time; //进入内存时间 struct time sta_time; //开始时间 struct time fin_time; //结束时间 int run_time; //估计运行时间 int tr_time; //周转时间 int addr; //起始地址 int len; //分区大小 int mac; //磁带机

int state; //状态位,0为空闲,1为被使用 struct link *f; //前指针 struct link *b; //后指针 } ;

六、 主要调度算法思想流程图

1.整体算法流程图

开始

选择两级调度的方式 JFCFS && PFCFS JFCFS && PSPF JSJF && PFCFS JSJF && PSPF 为作业建立链表 依据所选择的算法对链表进行排序 作业调度 依据所择算法进行进程调度

2.实现代码

详见CourseDesign.cpp

释放并合并内存 输出最终调度结果 结束 七、 运行测试

1. 测试数据(test.txt):

进程名 到达 运行 JOB1 10:00 25 15 JOB2 10:20 30 60 JOB3 10:30 10 50 JOB4 10:35 20 10 JOB5 10:40 15 30

2.程序界面

主存 2 1 3 2 2

磁带机

1) 算法组合:JFCFS&PFCFS

根据先来先服务,第一个进行调度的是JOB1,到达时间为10:00,运行时间为25分钟,周转时间为25分钟。为该作业分配内存和磁带机,磁带机由4->2,运行后得到如下图:

2015广工操作系统课程设计报告(文档最后含源码下载地址)剖析

成绩操作系统课程设计学生学院____计算机学院______专业班级13级计科9学号学生姓名指导教师李敏
推荐度:
点击下载文档文档为doc格式
1v6gi0ry3g2b61z97l7x8uhsm07tmu016x3
领取福利

微信扫码领取福利

微信扫码分享