资源简介
操作系统课程设计多道批处理系统两级调度的模拟,里面包括报告、源代码、可执行程序
代码片段和文件信息
#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);
compare(int i);
print(int i);
dis_job();
dis_mem();
merge(link *y);
input_job1();
input_job2();
read();
release();
run();
p_fcfs();
p_spf();
sort_job1();
sort_job2();
sort_result(int i);
time_cmp(time atime b);
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) //时间比较 ab返回1;
{
if(a.hour else if(a.hou
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 329728 2012-07-02 23:26 操作系统课程设计\3109006086李汉权操作系统课程设计报告.doc
文件 229458 2012-06-29 23:55 操作系统课程设计\os.exe
文件 130 2012-06-27 20:49 操作系统课程设计\os.txt
文件 229458 2012-06-29 23:55 操作系统课程设计\源程序\Debug\os.exe
文件 242396 2012-06-29 23:55 操作系统课程设计\源程序\Debug\os.ilk
文件 37339 2012-06-29 23:55 操作系统课程设计\源程序\Debug\os.obj
文件 227804 2012-06-29 22:59 操作系统课程设计\源程序\Debug\os.pch
文件 459776 2012-06-29 22:59 操作系统课程设计\源程序\Debug\os.pdb
文件 41984 2012-06-29 23:55 操作系统课程设计\源程序\Debug\vc60.idb
文件 53248 2012-06-29 22:59 操作系统课程设计\源程序\Debug\vc60.pdb
文件 15771 2012-06-29 22:59 操作系统课程设计\源程序\os.cpp
文件 3353 2012-06-27 20:49 操作系统课程设计\源程序\os.dsp
文件 512 2012-06-27 20:49 操作系统课程设计\源程序\os.dsw
文件 58368 2012-06-29 23:59 操作系统课程设计\源程序\os.ncb
文件 48640 2012-06-29 23:59 操作系统课程设计\源程序\os.opt
文件 726 2012-06-29 23:55 操作系统课程设计\源程序\os.plg
文件 130 2012-06-27 20:49 操作系统课程设计\源程序\os.txt
文件 147 2012-06-30 00:01 操作系统课程设计\源程序\Readme.txt
目录 0 2012-07-02 22:22 操作系统课程设计\源程序\Debug
目录 0 2012-07-02 22:22 操作系统课程设计\源程序
目录 0 2012-07-03 18:24 操作系统课程设计
----------- --------- ---------- ----- ----
1978968 21
相关资源
- 升腾Win终端系统升级方法新版.doc
- Uninstall_Cortana_WINCLIENT.CN.rar
- STM32基于rt_thread操作系统的SDHC卡文件
- 操作系统 LRU算法 实验报告 及 程序代
- [免费]车载CE6.0操作系统
- 分页系统模拟实验 操作系统 课程设
- 模拟段页式虚拟存储管理中地址转换
- 操作系统实验——虚存管理实验
- 广工操作系统实验
- 广东工业大学操作系统实验四文件系
- Bochs入门教程[操作系统第一步]
- 操作系统课程设计完整版
- 磁盘调度算法的模拟实现及对比
- 模拟一个文件管理系统
- 二级文件系统(操作系统)
- uCOS编译环境建立 BC45 TASM
- Linux 操作系统实验(全)
- 操作系统实验综合设计【附代码】
- 操作系统共享内存实验
- 操作系统循环首次适应算法
- 操作系统课程设计实现可变分区存储
- 基于GTK的Linux环境下的简易任务管理器
- 操作系统课程设计 二级文件管理系统
- 加快Windows XP操作系统开机速度
- 操作系统教程课后答案华中科技大学
- 51单片机中使用ucos ii的优缺点转
- 51单片机中使用ucos ii的优缺点
- 嵌入式实时操作系统ucos-II 第二版 源
- 计算机操作系统课后_汤小丹_第四版
- 计算机操作系统(第四版)汤小丹课
评论
共有 条评论