



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验一 单处理器系统进程调度一、实验目的 1加深对进程概念的理解,明确进程和程序的区别; 2深入了解系统如何组织进程、创建进程; 3进一步认识如何实现处理器调度。 二、实验预备知识 1.进程的概念; 2.进程的组织方式; 3.进程的创建; 4.进程的调度。 三、实验内容 编写程序完成单处理机系统中的进程调度,要求采取用时间片轮转调度算法。试验具体包括:首先确定进程控制块的内容,进程控制块的组成方式;然后完成进程创建、调度原语;最后编写主函数对所做工作进行测试。四、提示 这个实验主要要考虑三个问题:如何组织进程、如何创建进程和如何实现处理器调度。 考虑如何组织进程,首先就要设定进程控制块的内謇。进程羟制块。PCB记录各个进程执行时的情况。不同的操作系统,进程控制块记录的信息内容不_样。操作系统功能越强,软件也越庞大,进程控制块记录的内容也就越多。这里的实验只使用了必不可少信息。一般操作系统中,无论进程控制块中信息量多少,信息都可以大致分为以下四类: (1)标识信息 每个进程都要有一个惟一的标识符,用来标识进程的存在和区别于其他进程。这个标识符是必不可少的,可以用符号或编号实现,它必须是操作系统分配的。在后面给出的参考程序中,采用编号方式,也就是为每个进程依次分配一个不相同的正整数。 (2)说明信息 用于记录进程的基本情况,例如进程的状态、等待原因、进程程序存放位置、进程数据存放位置等等。实验中,因为进程没有数据和程序,仅使用进程控制块模拟进程,。所以这部分内容仅包括进程状态。 int head; int tail; ready; 定义指向就绪队列的头指针head和尾指针tail int pfree; 定义指向空闲进程控制块队列的指针 进程创建是一个原语,因此在实验中应该用一个函数实现,进程创建的过程应该包括: (1)申请进程控制块:进程控制块的数量是有限的,如果没有空闲进程控制块,则进程 不能创建,如果申请成功才可以执行第二步; (2)申请资源:除了进程控制块外,还需要有必要的资源才能创建进程,如果申请资 源不成功,则不能创建进程,并且归还已申请的进程控制块:如果申请成功,则执行第三步, 实验无法申请资源,所以模拟进程忽略了申请资源这一步 (3)填写进程控制块:将该进程信息写入进程控制块内,实验中只有进程标识符、进 程状态可以填写,每个进程现场信息中的寄存器内容由于没有具体数据而使用进程(模拟进程创建时,需输入进程标识符字,进程标识符本应系统建立,并且是惟一的,输入时注意不要冲突),刚刚创建的进程应该为就绪态,然后转去执行第四步; (4)挂人就绪队列:如果原来就绪队列不为空,则将该进程控制块挂入就绪队列尾部, 并修改就绪队列尾部指针:如果原来就绪队列为空,则将就绪队列的头指针、尾指针均指向该进程控制块,进程创建完成。 多道程序设计的系统中,处于就绪的进程让律是多个,它们都要求占用处理器,可单处理器系统的处理器只有一个,进程调度就是解决这个处理器竞争问题的一进程调度的任务就是按照某种算法从就绪进程队列中选择一个进程,让它占自处理器。因此进程调度程序就应该包括两部分一部分在进程就绪队列中选择一个进程,并将其进程控制块从进程就绪队列中摘下来,另部分工作就是分配处理器给选中的进程,也就是将指向正在运行进程的进程控制块指针指向该进程的进程控制块,并将该进程的进程控制块信息写入处理器的各个寄存器中。 实验中采用时间片轮转调度算法。时间片轮转调度算法让就绪进程按就绪的先后次序排成队,每次总是选择就绪队列中的第一个进程占有处理器,但是规定只能使用一个“时间片”。时间片就是规定进程一次使用处理器的最长时间。实验中采用每个进程都使用相同的不变的时间片。 五、 参考程序 #include“stdiO.h” 用running表示进程处于运行态 #define running 1 用aready表示进程处于就绪态 #define aready 2 用blocking表示进程处于等待态 #define blocking 3 用sometime表示时间片大小 #define sometime 5 假定系统允许进程个数为n #definen10 Struct in tname; 进程标识符 int Status; 进程状态 int ax,bx,CX,dx; 进程现场信息,通用寄存器内容 int pc; 进程现场信息,程序计数器内容 int psw; 进程现场信息,程序状态字寄存器内容 int next; 下一个进程控制块的位置 )pcbarean; 模拟进程控制块区域的数组 int PSWf AX r BX r CX r DX r PC f T I ME;模拟寄存器 int run; 定义指向正在运行进程的进程控制块的指针 Struct int head; int tai1; ready; 定义就绪队列的头指针head和尾指针tail int Pfree; 定义指向空闲进程控制块队列的指针sheduling( ) 进程调度函数 int i; if (readyhead=一1) 空闲进程控制块队列为空,退出 print(无就绪进程n-); return; i=readyhead; 就绪队列头指针赋给i readyhead=pcbareareadyheadnext; 就绪队列头指针后移 if(readyhead=一1)readytail=-1; 就绪队列为空,修正尾指针readytail pcbareai.status=running; 修改进程控制块状态 TIME=sometime; 设置相对时钟寄存器 恢复该进程现场信息: AX:pcbarearunax; BX=pcbarearunbx; CX=pcbarearunCX; DX=pcbarearundx; PC=pcbarearunpc; PSW=pcbarearunpsw; run=i; 修改指向运行进程的指针进程调度函数结束 create(int X) 创建进程 int i; if(pfree=一1) printf(无空闲进程控制块, return; ) i=pfree; 。 空闲进程控制块队列为空进程创建失败n-); pfree=pcbareapfreenext; 取空闲进程控制块队列的第一个 填写该进程控制块内容: pfree启移 pcbareain ame=x; pcbareais tatus=areadv; pcbareaiax=x; pcbareaibx=x; pcbareaiCX=X; pcbareaidx=x; pcbareaip c=x; pcbareaip sw=x; if(readyhead!=一1) 就绪队列不空时,挂入就绪队列方式 pcbareareadytail。next=i, readytail=i; pcbare areadytailnext=一1; ) elSe 就绪队列空时,挂入就绪队列方式 readyhead=i; readytail=i; pcbare areadytailnext:一1, ) )进程创建函数结束 main() 系统初始化 int numrirJ; run=readyhead=readytail=block=-i; pfree=O; for(J=O;J=O) create(num); scanf(d,&num); sheduling(); if(run!=一1) printf(进程标志符 进程状态寄存器内容:ax bx cx dx pc psw:n); print
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年智慧港口自动化装卸设备智能化改造方案与实施路径报告
- 2025呼伦贝尔农垦那吉屯农牧场招聘考试练习附答案详解(考试直接用)
- 2025年教师招聘之《小学教师招聘》题库必刷100题含答案详解ab卷
- 2025党章党规党纪知识考试题及参考答案
- 押题宝典教师招聘之《幼儿教师招聘》通关考试题库及参考答案详解(达标题)
- 教师招聘之《幼儿教师招聘》考前冲刺模拟题库提供答案解析及参考答案详解(研优卷)
- 教师招聘之《幼儿教师招聘》模拟考试高能及参考答案详解(培优b卷)
- 幼儿园贫困生资助自查报告
- 教师招聘之《小学教师招聘》通关模拟题库附答案详解(基础题)
- 教师招聘之《小学教师招聘》每日一练往年题考附答案详解
- 三甲药事法律法规医院培训
- 人教版数学九年级上册 21.2.4 一元二次方程根与系数的关系 同步练习题 (无答案)
- 心理咨询经典案例分析
- 药剂学第9版课件:第一章-绪论
- 《就业指导》中职生就业指导全套教学课件
- 体育行业智能赛事组织与运营服务方案
- 子公司独立经营规划方案
- 感恩教育主题班会-《心怀感恩温暖前行》 课件
- 六年级书法学习课件
- 人教版初中语文文言文大全(原文)
- 利用新媒体平台传播创意文化-新媒体传播创意文化
评论
0/150
提交评论