欢迎来到天天文库
浏览记录
ID:48135438
大小:1.04 MB
页数:97页
时间:2020-01-21
《操作系统实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、......徐州工程学院管理学院实验报告实验课程名称:计算机操作系统实验地点:南主楼七楼机房2014年2月至2014年4月专业信息管理与信息系统班级11信管2班学生姓名xxx专业word可编辑......学号 指导老师刘一男专业word可编辑......实验报告实验项目:分时系统实验学时:2实验日期:2013-2-28实验要求:加深学生对多道系统中进程管理的理解,了解进程的各种状态及其转换过程,分时系统中时间片的设置及进程在时间片开始和结束时的调度过程。实验内容:(1)利用程序设计语言模拟分时系统中多个进程按时
2、间片轮转调度算法进行进程调度的过程;(2)假设有五个进程A,B,C,D,E,它们的到达时间及要求服务的时间分别为:进程名ABCDE到达时间01234服务时间43424时间片大小为1,利用程序模拟A,B,C,D,E五个进程按时间片轮转的调度及执行过程并计算各进程的周转时间及带权周转时间。(3)修改时间片大小为2,利用程序模拟A,B,C,D,E五个进程按时间片轮转的调度及执行过程并计算各进程的周转时间及带权周转时间。(4)修改时间片大小为4,利用程序模拟A,B,C,D,E五个进程按时间片轮转的调度及执行过程并计算各
3、进程的周转时间及带权周转时间。专业word可编辑......专业word可编辑......时间片的大小对计算机的性能产生什么影响?在时间片轮转算法中,时间片的大小对系统性能有很大的影响,如选择很小的时间片将有利于段作业,因为它能较快地完成,但会频繁地发生中断、进程上下文的切换,从而增加系统的开销,降低了CPU效率;反之,如选择太长的时间片,使得每个进程都能在一个时间片内完成,时间片轮转算法便退化为FCFS算法,无法满足交互式用户的需求。一个较为可取的大小是,时间片略大于一次典型的交互所需要的时间。这样可使大多数
4、进程在一个时间片内完成。源代码:#include"stdio.h"#include"stdlib.h"#include"iostream.h"#include"cstdlib"structprocess{专业word可编辑......charname;intarri_time;//arrivedtimeintserv_time;//serveredtimeinthave_done_time;//已经运行时间intdone_time;//完成时间intturn_around_time;//周转时间floatwei
5、_turn_around_time;//带权周转时间structprocess*next;};inttime=-1;inttime_slice=4;//时间片初始值为1Isempty(structprocess*head){if(head->next==NULL)returntrue;elsereturnfalse;}voidpushline(structprocess*head,structprocess*rn){if(rn==NULL)return;专业word可编辑......structprocess*
6、x;x=head;while(x->next!=NULL){x=x->next;}x->next=rn;}voidpopline(structprocess*head,structprocess**x){if(!Isempty(head)){*x=head->next;head->next=(*x)->next;(*x)->next=NULL;}}voidisnewcome(structprocess*head,structprocess*readyline){structprocess*x;if(head->
7、next==NULL)return;专业word可编辑......if(head->next->arri_time==time&&head->next!=NULL){cout<8、dyline;//队列readyline=(structprocess*)malloc(sizeof(process));readyline->next=NULL;inti;structprocess*rightnow;structprocess*p;/*structprocess*n;*/head=(structprocess*)malloc(sizeof(process));if(
8、dyline;//队列readyline=(structprocess*)malloc(sizeof(process));readyline->next=NULL;inti;structprocess*rightnow;structprocess*p;/*structprocess*n;*/head=(structprocess*)malloc(sizeof(process));if(
此文档下载收益归作者所有