- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统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(); //调用sort函数
}
}
int space() //PCB就绪队列元素
您可能关注的文档
- 摄影基础知识培训第一篇概要.pptx
- 摆闸产品手册---奥特快概要.doc
- 摄影第二讲曝光模式和ISO概要.ppt
- 第二讲公共关系的历史沿革资料.ppt
- 摊铺机安全操作规程.pptx
- 第二讲全面绩效管理.ppt
- 摄影摄像入门基础概要.ppt
- 第二讲单个正态总体的假设检验资料.ppt
- 摄影棚、闪光灯的认识及灯具附件概要.ppt
- 摇臂轴座说明书概要.doc
- 洋葱销售SOP流程及关键动作相关知识测试试卷.docx
- 深度解析《GBT 43841-2024内蒙古绒山羊》.pptx
- 电气设备运维及机械部件相关知识测试试卷.docx
- 深度解析《GBT 43843-2024网络协同制造平台数据服务要求》.pptx
- 思维倾向与开放性自我评估试卷.docx
- 危险化学品企业特殊作业安全相关知识考试试卷.docx
- 深度解析《GBT 43844-2024IPv6地址分配和编码规则 接口标识符》.pptx
- 智慧教学整体解决方案(1).doc
- 多重耐药菌感染防治知识及预防措施试卷.docx
- 深度解析《GBT 43845-2024基于扫描氮-空位探针的微弱静磁场成像测量方法》.pptx
文档评论(0)