资源简介
2015广工操作系统课程设计-多道批处理两级调度模拟,含报告

代码片段和文件信息
#include
#include
#include
#include
#define getpch(type)(type*)malloc(sizeof(type))
#define N 10
#define M 100
#define C 4
struct time
{
int hour; //时
int min; //分
};
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;
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; //后指针
} ;
struct jcb save[N];
struct jcb *first_jcb=NULL*p;
struct jcb result[6][6];
struct link *s*q;
int sort_result(int i);
int run();
int apply(jcb *p1);
int compare(int i);
int print(int i);
int dis_job();
int dis_mem();
int merge(link *y);
int input_job1();
int input_job2();
int read();
int release();
int run();
int p_fcfs();
int p_spf();
int sort_job1();
int sort_job2();
int sort_result(int i);
int time_cmp(time atime b);
int j_attemper(int type);
int sys_men=100; //系统内存分配为100
int sys_mac=4; //磁带机数
struct time sys_timesys_time1;
char name[10];
int print(int i) //显示作业最终运行情况
{
struct jcb *p1;
int j;
p1=first_jcb;
for(j=1;j<=5;j++)
{
result[i][j]=*p1;
p1=p1->next;
}
sort_result(i);
printf(“\n\n ===========================================================================\n“);
printf(“\n\t作业运行结果情况:\n“);
printf(“\n\t进程名\t到达\t运行\t主存\t磁带机\t进入\t开始\t完成\t周转“);
for(j=1;j<=5;j++)
{
printf(“\n\t%s\t %d:%d\t%d\t%d\t%d\t“result[i][j].nameresult[i][j].arr_time.hourresult[i][j].arr_time.minresult[i][j].run_timeresult[i][j].menresult[i][j].mac);
printf(“%d:%d\t%d:%d\t%d:%d\t%d“result[i][j].ent_time.hourresult[i][j].ent_time.minresult[i][j].sta_time.hourresult[i][j].sta_time.minresult[i][j].fin_time.hourresult[i][j].ent_time.minresult[i][j].tr_time);
}
}
int sort_result(int i) //对作业按到达时间重新排序显示分析方便
{
int jk;
for(k=1;k<=4;k++)
{
for(j=1;j<=4;j++)
{
if(time_cmp(result[i][j].arr_timeresult[i][j+1].arr_time)==1)
{
result[i][0]=result[i][j];
result[i][j]=result[i][j+1];
result[i][j+1]=result[i][0];
}
}
}
return 1;
}
int time_cmp(struct time astruct time b) //时间比较 a
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 15831 2016-01-06 23:46 课程设计-多道批处理两级调度模拟\CourseDesign.cpp
文件 130 2012-06-27 20:49 课程设计-多道批处理两级调度模拟\test.txt
文件 15831 2016-01-06 23:46 课程设计-多道批处理两级调度模拟\源程序\CourseDesign.cpp
文件 12288 2016-01-06 23:50 课程设计-多道批处理两级调度模拟\源程序\CourseDesign.exe
文件 10990 2016-01-06 23:50 课程设计-多道批处理两级调度模拟\源程序\CourseDesign.o
文件 130 2012-06-27 20:49 课程设计-多道批处理两级调度模拟\源程序\test.txt
文件 327680 2016-01-07 00:07 课程设计-多道批处理两级调度模拟\课程设计报告.doc
目录 0 2016-01-07 08:54 课程设计-多道批处理两级调度模拟\源程序
目录 0 2016-01-07 08:54 课程设计-多道批处理两级调度模拟
----------- --------- ---------- ----- ----
382880 9
相关资源
- 升腾Win终端系统升级方法新版.doc
- Uninstall_Cortana_WINCLIENT.CN.rar
- 数据库课设:图书管理系统报告
- STM32基于rt_thread操作系统的SDHC卡文件
- 计算机图形学课设 画板
- 教学计划编制系统
- 操作系统 LRU算法 实验报告 及 程序代
- [免费]车载CE6.0操作系统
- 分页系统模拟实验 操作系统 课程设
- 课程作业:模拟仓库管理系统
- 模拟段页式虚拟存储管理中地址转换
- 操作系统实验——虚存管理实验
- 广工操作系统实验
- 广东工业大学操作系统实验四文件系
- Bochs入门教程[操作系统第一步]
- 操作系统课程设计完整版
- 磁盘调度算法的模拟实现及对比
- 模拟一个文件管理系统
- 二级文件系统(操作系统)
- uCOS编译环境建立 BC45 TASM
- Linux 操作系统实验(全)
- 操作系统实验综合设计【附代码】
- 操作系统共享内存实验
- 操作系统循环首次适应算法
- 操作系统课程设计实现可变分区存储
- 基于GTK的Linux环境下的简易任务管理器
- KTV点播系统 软件工程课设
- 操作系统课程设计 二级文件管理系统
- 加快Windows XP操作系统开机速度
- 操作系统教程课后答案华中科技大学
评论
共有 条评论