- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
201118001_Linux操作系统_课程设计报告_基于Linux的进程调度模拟程序
河南中医学院
《Linux操作系统》课程设计报告
题目:基于Linux的进程调度模拟程序
所在院系: 信息技术学院
专业年级: 2011级 计算机科学与技术
完成学生: 2011180016 朱 晨
指导教师: 阮 晓 龙
完成日期: 2014 年 06 月 22 日
目 录
1. 课程设计题目概述 3
2. 研究内容与目的 4
3. 研究方法 5
4. 研究报告 6
5. 测试报告/实验报告 7
6. 课题研究结论 8
7. 总结 9
1. 课程设计题目概述
无论是在批处理系统还是分时系统中,用户进程数一般都多于处理机数、这将导致它们互相争夺处理机。另外,系统进程也同样需要使用处理机。这就要求进程调度程序按一定的策略,动态地把处理机分配给处于就绪队列中的某一个进程,以使之执行。
本文将基于linux的进程调度进行研究,包括CPU的利用率评价、进程在就绪队列中的等待时间与执行时间之比等。由于进程进入就绪队列的随机模型很难确定,而且进程上下文切换等也将影响进程的执行效率,模拟测试系统响应时间的方法。2. 研究内容与目的
要求:写出课题的研究内容和研究目的。
2.1 研究内容
2.1.1最高优先数优先的调度算法
对就绪队列中的每个进程采用静态优先数,即首先安某种原则定义一个优先数来表示它,处理机调度时,每次选择就绪队列中优先数最大者(也可规定优先数愈小,其优先权愈高),让它占用处理机运行。?且本文研究的是非抢占式的最高优先数优先的调度算法。
2.1.2 先来先服务算法
早就绪的进程排在就绪队列的前面,迟就绪的进程排在就绪队列的后面,先来先服务(FCFS: first come first service)总是把当前处于就绪队列之首的那个进程调度到运行状态。也就说,它只考虑进程进入就绪队列的先后,而不考虑它的下一个CPU周期的长短及其他因素。
对进程调度进行模拟实验对比分析两种算法的优缺点3. 研究方法
3.1研究方法
3.1.1 文献研究法(查找文献法)
实证研究法
3.3.1 程序是否可以运行
可以直接选择Eclipse CDT,Source Insight或者VIMC的开发环境4. 研究报告
4.1 CactiFans系统安装与配置
4.1.1 在VMware Workstation上安装CactiFans,并设置系统的上网模式为 NAT。
4.1.2在CactiFans上安装VMware Tools
(1)在虚拟机界面,点击虚拟机——安装vmware tools
(2)打开系统,vmware tools的安装文件就会自动加载到CactiFans的虚拟光盘中。
(3)使用 mount /dev/cdrom /mnt 挂载虚拟光盘
(4)ls /mnt查看发现VMwareTools-9.6.0-1294478.tar.gz
(5)将文件拷贝出来,cp /mnt/VMwareTools-9.6.0-1294478.tar.gz
/tmp .
(6) cd /tmp 进入/tmp 目录,解压文件 tar zxvf VMwareTools-9.6.0-1294478.tar.gz ,解压完成。
(7)cd vmware-tools-distrib 转到该目录下,运行./vmware-install.pl即可。
4.1.3 安装GCC编译环境
通过whereis gcc 可知CactiFans中已经集成过了gcc,所以这里就不用安装了。否则用yum gcc安装。
4.2 编写最高优先数优先调度算法
4.2.1 设计思想
对每个进程确定一个优先数,该算法总是让优先数最高的进程先使用处理器。系统常以任务的紧迫性和系统效率等因素确定进程的优先数。进程的优先数可以固定的,也可随进程执行过程动态变化。?这里选择手动输入一个静态优先数。一个高优先数的进程占用处理器后,系统处理该进程时采用非抢占式。此进程占用处理器后一直运行到结束。
4.2.2 程序实现
#include stdio.h
#include stdlib.h
#include conio.h
#define getpch(type) (type*)malloc(sizeof(type))
struct pcb { /* 定义进程控制块PCB */
char name[10];
char state;
int super;
文档评论(0)