- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
西南大学《操作系统原理》实验报告
PAGE9 / NUMPAGES10
实验2 进程调度
班级: xxxxxxxx 姓名: xxxxx
学号: xxxxxxxxxxxxxxxxxxxxxxx
上级日期: 2018年10月
成绩:___________________________
实验目的:
1、通过对进程调度算法的设计、编写以及运行,深入理解进程调度的基本概念和基本调度算法;
2、利用C语言实现掌握进程算法(优先级调度算法、时间片轮转调度算法),比较几种算法的优劣;
3、理解有关进程控制块、进程队列的概念,掌握进程优先权调度算法和时间片轮转调度算法的处理逻辑;
二、实验内容
1、流程设计图:
2、调度算法源代码:
#include?stdio.h??
#include?stdlib.h???
#include?string.h???
typedef?struct?node??
{??
char?name[20];?/*进程的名字*/???
int?prio;???/*进程的优先级*/??
int?round;??/*分配?CPU?的时间片*/???
int?cputime;????/*CPU?执行时间*/??
int?needtime;???/*进程执行所需要的时间*/??
char?state;?????/*进程的状态,W--就绪态,R--执行态,F--完成态*/???
int?count;??/*记录执行的次数*/??
struct?node?*next;??/*链表指针*/??
}PCB;??
PCB?*ready=NULL,*run=NULL,*finish=NULL;?/*定义三个队列,就绪队列,执行队列和完成队列*/??
int?num;??
void?GetFirst();????/*从就绪队列取得第一个节点*/???
void?Output();??????/*输出队列信息*/??
void?InsertPrio(PCB?*in);???/*创建优先级队列,规定优先数越小,优先级越高*/??
void?InsertTime(PCB?*in);???/*时间片队列*/???
void?InsertFinish(PCB?*in);?/*时间片队列*/???
void?PrioCreate();??????/*优先级输入函数*/???
void?TimeCreate();??????/*时间片输入函数*/??
void?Priority();????/*按照优先级调度*/???
void?RoundRun();????/*时间片轮转调度*/??
int?main(void)??
{??
char?chose;??
printf(请输入要创建的进程数目:\n);???
scanf(%d,num);??
getchar();??
printf(输入进程的调度方法:(P/R)\n);???
scanf(%c,chose);??
switch(chose)??
{??
case?P:??
case?p:??
PrioCreate();???
Priority();???
break;??
case?R:??
case?r:??
TimeCreate();???
RoundRun();???
break;??
default:break;??
}??
Output();???
return?0;??
}??
void?GetFirst()?/*取得第一个就绪队列节点*/??
{??
run?=?ready;??
if(ready!=NULL)??
{??
run?-state?=?R;???
ready?=?ready?-next;???
run?-next?=?NULL;??
}??
}??
???
void?Output()???/*输出队列信息*/??
{??
PCB?*p;?/*p?=?ready;*/??
printf(进程名\t?优先级\t?时间片\tcpu?时间\t?需要时间\t?进程状态\t?计数器\n);??
p?=?ready;???
while(p!=NULL)??
{??
printf(%s\t%d\t%d\t%d\t%d\t\t%c\t\t%d\n,p-name,p-prio,p-round,p-cputime,p-needtime,p-state,p-count);???
p?=?p-next;??
}??
p?=?finish;???
while(p!=NULL)??
{??
printf(%s\t%d\t%d\t%d\t%d\t\t%c\t\t%d\n,p-name,p-prio,p-round,p-cputime,p-need
您可能关注的文档
- 建筑用砂验收方法.pptx
- 剑桥一级字母排序单词答案.docx
- 健康促进学校课件.pptx
- 健康促进医院解读.pptx
- 健康促进医院申报理由.docx
- 健康管理师考试试题(上).docx
- 健康教育校本课程(正文).doc
- 健康素养促进行动.ppt
- 健身教练国家职业资格运动技术标1.ppt
- 鉴赏古代诗歌的语言.pptx
- 2023-2024学年广东省深圳市龙岗区高二(上)期末物理试卷(含答案).pdf
- 2023-2024学年贵州省贵阳市普通中学高一(下)期末物理试卷(含答案).pdf
- 21.《大自然的声音》课件(共45张PPT).pptx
- 2023年江西省吉安市吉安县小升初数学试卷(含答案).pdf
- 2024-2025学年广东省清远市九校联考高一(上)期中物理试卷(含答案).pdf
- 广东省珠海市六校联考2024-2025学年高二上学期11月期中考试语文试题.pdf
- 2024-2025学年语文六年级上册第4单元-单元素养测试(含答案).pdf
- 2024-2025学年重庆八中高三(上)月考物理试卷(10月份)(含答案).pdf
- 安徽省安庆市潜山市北片学校联考2024-2025学年七年级上学期期中生物学试题(含答案).pdf
- 贵州省部分校2024-2025学年九年级上学期期中联考数学试题(含答案).pdf
最近下载
- “双 减”、“六项管理”教师应知应会试题及答案 (1).docx VIP
- 中班语言《谁的尾巴》PPT课件.ppt
- 2024年烟花爆竹经营单位主要负责人证考试500题及解析.doc
- 航海英语听力与会话-问答第四版完整版.pdf
- 手指软组织缺损临床路径及表单.docx VIP
- Unit8-it-must-belong-to-Carla-A市公开课一等奖省赛课微课金奖PPT课件.pptx
- 2024年新高考化学命题特点及试题分析.pdf
- 广东省市政工程竣工验收资料统一表格目录.docx
- 道德与法治赛课一等奖:《有多少浪费可以避免(第一课时)》教学设计详案(四下).docx VIP
- 当代公共空间装置艺术的审美倾向研究.pdf
文档评论(0)