【计算机专业】操作系统 先来先服务算法详解-精品文档资料整理.doc
《【计算机专业】操作系统 先来先服务算法详解-精品文档资料整理.doc》由会员分享,可在线阅读,更多相关《【计算机专业】操作系统 先来先服务算法详解-精品文档资料整理.doc(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1、 设计一个按先来先服务调度的算法 参考:山东专升本联盟 提示:(1)假设系统中有5个进程,每个进程由一个进程控制块(PCB)来标识。进程控制块内容如图1-1所示。进程名即进程标识。链接指针:按照进程到达系统的时间将处于就绪状态的进程连接成衣个就绪队列。指针指出下一个到达进程的进程控制块首地址。最后一个进程的链接指针为NULL。估计运行时间:可由设计者任意指定一个时间值。到达时间:进程创建时的系统时间或由用户指定。调度时,总是选择到达时间最早的进程。进程状态:为简单起见,这里假定进程有两种状态:就绪和完成。并假定进程一创建就处于就绪状态,用R表示。当一个进程运行结束时,就将其设置成完成态,用
2、C表示。(2)设置一个队首指针head,用来指出最先进入系统的进程。各就绪进程通过链接指针连在一起。(3)处理机调度时总是选择队首指针指向的进程投入运行。由于本实验是模拟实验,所以对被选中进程并不实际启动运行,而只是执行:估计运行时间减1。用这个操作来模拟进程的一次运行,而且省去进程的现场保护和现场恢复工作。(4)在所设计的程序中应有显示或打印语句,能显示或打印正运行进程的进程名、已运行时间、还剩时间、就绪队列中的进程等。所有进程运行完成时,给出各进程的周转时间和平均周转时间。/* 实验一 先来先服务算法模拟程序* writen by daysky* 2007-11-19*/#include
3、#include #include #include using namespace std;/控制块结构体struct PCBchar name;/进程名PCB *next;/链接指针int reach_time;/到达时间int left_time;/估计运行时间int begin_time;char status;/R就绪 c完成PCB();PCB(char aname,int areach_time,int aleft_time,int abegin_time=-1,char astatus=R,PCB *anext=NULL);PCB(const PCB &from);PCB:CB(
4、)next=NULL;reach_time = -1;left_time = -1;begin_time = -1;status = R;PCB:CB(char aname,int areach_time,int aleft_time,int abegin_time,char astatus,PCB *anext)name = aname;reach_time = areach_time;left_time = aleft_time;begin_time = abegin_time;status = astatus;next = anext;PCB:CB(const PCB &from)nam
5、e = from.name;next = NULL;reach_time = from.reach_time;left_time = from.left_time;begin_time = -1;status = R;/* 先来先服务类*/class FirstServeprivate:int systime;/系统时间list *ready_list,*all_task;/ 就绪队列 所有任务int together_time;ofstream fout;public:FirstServe();FirstServe(list *a_all_task,const char *logfile);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机专业 【计算机专业】操作系统 先来先服务算法详解-精品文档资料整理 操作系统 先来先 服务 算法 详解 精品 文档 资料 整理
限制150内