- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE
第 PAGE 1 页 共 NUMPAGES 1 页
仲恺农业工程学院实验报告纸
信息科学与技术(院、系)计算机科学与技术 专业142班__组 操作系统实验 课
学号:201420224430 姓名:黄丽君 实验日期 教师评定
实验一、进程管理
一、实验目的
通过实验使学生进一步了解进程、进程状态、进程控制等基本概念。基本能达到下列具体的目标:
理解进程 PCB 的概念,以及 PCB 如何实现、如何组织以及管理。
复习数据结构中如何对链的操作,包括建链、删除、插入结点等,来实现进程的管理。
二、实验内容
建立一个结点,即 PCB 块包括用户标识域、状态域(执行、等待、就绪)、 link 域。
建立三个队列(执行队列、就绪队列、等待队列)。
根据进程状态转换实现对三个队列的具体操作。具体的驱动可以采用时间片算法或手动调度的形式完成三个状态之间的转换
用 switch 选择语句选择状态。
按照自己的设定能完成所有的状态转换的运行(包括创建和运行结束)。
三、实验步骤
复习进程管理三状态模型部分内容。
预习C++ Builder或VC++、Delphi、JBuilder线程编程。
运行示例程序,进一步明确实验要求。可以采用控制台模式或窗口模式。
上机编程、调试程序。
完成实验报告。
实验代码
#includestdlib.h
#includestdio.h
#includeconio.h
#define getpch(type)(type*)malloc(sizeof(type)) //将申请内存空间函数自定义为getpch(type)
#define NULL 0
struct pcd
{
char name[10];
char state; //进程状态
int super; //进程优先级
int ntime; //进程需要运行的时间
int rtime; //进程已经运行的时间
struct pcb* link;//进程指向另一个进程的指针
}*ready=NULL,*p; //ready表示指向就绪队列中首元素的指针,初始化为NULL,p用来存放当前刚刚输入的PCB
typedef struct pcb PCB;
void sort() //建立对进程进行优先级排列函数
{
PCB *first,*second;
int insert=0;
if((ready==NULL)||((p-super)(ready-super))) //优先级最大者,插入队首
{
p-link=ready;
ready=p;
}
else //进程比较优先级,插入适当的位置
{
first=ready;
second=first-link;
while(second!=NULL)
{
if((p-super)(ready-super)) //若插入进程比当前进程优先数大
{ //插入到当前进程前面
p-link=second;
first-link=p;
second=NULL;
insert=1; //插入队列记录符号
}
else //插入进程优先数最低,则插入到队尾
{
first=first-link;
second=second-link;
}
}
if(insert==0)
first-link=p;
}
}
void input() //建立进程控制块函数,PCB输入模块
{
int i,num;
printf(\n请输入进程号:);
scanf(%d,num);
for(i=0;inum;i++)
{
printf(\n进程号%d:\n,i);
p=getpch(PCB);
printf(\n请输入进程名:);
scanf(%s,p-name);
printf(\n请输入进优先数:);
scanf(%d,p-super);
printf(\n请输入进程运行时间:);
scanf(%d,p-ntime);
printf(\n);
p-rtime=0;p-state=W;
p-link=NULL;
sort(); //调用sor
您可能关注的文档
- 妇产科实践与学习指导,第二十二章, 妇产科诊疗及手术病人的护理.doc
- 妇科手术:术前评估和准备.doc
- 妊娠期并发症1月妇产科B卷答案 (1).doc
- 妇科疾病诊疗指南62908.doc
- 如何使用佳能500D拍摄各种照片.doc
- 如何看地质图 地质图.doc
- 威伦触摸屏历史记录导出说明书.doc
- 媒介经营与管理 试题及答案.doc
- 子宫肌瘤个案追踪.doc
- 存储器章节大作业.doc
- 2025年鸡西市麻山区公益性岗位招聘8人(公共基础知识)测试题附答案.docx
- 杭州之江湾股权投资基金管理有限公司招聘参考题库附答案.docx
- 2026江苏辖区农村商业银行常熟农商银行校园招聘200人(公共基础知识)测试题附答案.docx
- 2025年中国石油新疆油田分公司秋季高校毕业生招聘360人(公共基础知识)综合能力测试题附答案.docx
- 2023年攀枝花市直属机关遴选公务员笔试真题汇编附答案解析(夺冠).docx
- 2026广发银行太原分行校园招聘(公共基础知识)测试题附答案.docx
- 2025四川成都医学院招聘事业编制辅导员10人(公共基础知识)测试题附答案.docx
- 2026年毛概期末考试试题库必考题.docx
- 2025年合肥市某国有企业2025年岗位外包招聘(公共基础知识)测试题附答案.docx
- 2026年重庆青年职业技术学院单招(计算机)测试模拟题库附答案.docx
最近下载
- “三新”背景下教学策略.pptx VIP
- 中考语文专项复习:《古诗词曲阅读》课件.pptx VIP
- 2025年高考满分作文范文合集.docx VIP
- 长输油气管道智能阴极保护电位监测技术应用与实践探索.docx VIP
- 2024年部编版中考语文总复习第四部分古诗文阅读专题一古诗词曲鉴赏.pptx VIP
- 湘教版五年级上册科学复习资料汇总.pdf VIP
- 中化泉州石化3万吨年干气脱硫制二甲基亚砜项目3-创新性说明.doc VIP
- 小学数学新苏教版三年级下册 一 第3课时 角的认识和大小比较 教学课件(2026春).pptx VIP
- 法院书记员面试题目及答案.doc VIP
- 2025中医医院护理中长期发展规划.docx VIP
原创力文档


文档评论(0)