全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 实验一实验一 单处理器系统进程调度单处理器系统进程调度 一 实验目的一 实验目的 1 加深对进程概念的理解 明确进程和程序的区别 2 深入了解系统如何组织进程 创建进程 3 进一步认识如何实现处理器调度 二 实验预备知识二 实验预备知识 1 进程的概念 2 进程的组织方式 3 进程的创建 4 进程的调度 三 实验内容三 实验内容 编写程序完成单处理机系统中的进程调度 要求采取用时间片轮转调度算法 试验具体 包括 首先确定进程控制块的内容 进程控制块的组成方式 然后完成进程创建 调度原语 最后编写主函数对所做工作进行测试 四 提示四 提示 这个实验主要要考虑三个问题 如何组织进程 如何创建进程和如何实现处理器调度 考虑如何组织进程 首先就要设定进程控制块的内謇 进程羟制块 PCB 记录各个进 程执行时的情况 不同的操作系统 进程控制块记录的信息内容不 样 操作系统功能越强 软件也越庞大 进程控制块记录的内容也就越多 这里的实验只使用了必不可少信息 一般 操作系统中 无论进程控制块中信息量多少 信息都可以大致分为以下四类 1 1 标识信息标识信息 每个进程都要有一个惟一的标识符 用来标识进程的存在和区别于其他进程 这个标识 符是必不可少的 可以用符号或编号实现 它必须是操作系统分配的 在后面给出的参考程 序中 采用编号方式 也就是为每个进程依次分配一个不相同的正整数 2 2 说明信息说明信息 用于记录进程的基本情况 例如进程的状态 等待原因 进程程序存放位置 进程数据 存放位置等等 实验中 因为进程没有数据和程序 仅使用进程控制块模拟进程 所以这 部 分内容仅包括进程状态 int head int tail ready 定义指向就绪队列的头指针 head 和尾指针 tail int pfree 定义指向空闲进程控制块队列的指针 进程创建是一个原语 因此在实验中应该用一个函数实现 进程创建的过程应该包括 1 1 申请进程控制块 申请进程控制块 进程控制块的数量是有限的 如果没有空闲进程控制块 则进程 不能创建 如果申请成功才可以执行第二步 2 2 申请资源 申请资源 除了进程控制块外 还需要有必要的资源才能创建进程 如果申请资 源不成功 则不能创建进程 并且归还已申请的进程控制块 如果申请成功 则执行第三 步 实验无法申请资源 所以模拟进程忽略了申请资源这一步 3 3 填写进程控制块 填写进程控制块 将该进程信息写入进程控制块内 实验中只有进程标识符 进 2 程状态可以填写 每个进程现场信息中的寄存器内容由于没有具体数据而使用进程 模拟 进 程创建时 需输入进程标识符字 进程标识符本应系统建立 并且是惟一的 输入时注意不 要冲突 刚刚创建的进程应该为就绪态 然后转去执行第四步 4 4 挂人就绪队列 挂人就绪队列 如果原来就绪队列不为空 则将该进程控制块挂入就绪队列尾部 并修改就绪队列尾部指针 如果原来就绪队列为空 则将就绪队列的头指针 尾指针均指向 该进程控制块 进程创建完成 多道程序设计的系统中 处于就绪的进程让律是多个 它们都要求占用处理器 可单处 理器系统的处理器只有一个 进程调度就是解决这个处理器竞争问题的一进程调度的任务就 是按照某种算法从就绪进程队列中选择一个进程 让它占自处理器 因此进程调度程序就应 该包括两部分 一部分在进程就绪队列中选择一个进程 并将其进程控制块从进程就绪队列 中摘下来 另部分工作就是分配处理器给选中的进程 也就是将指向正在运行进程的进程控 制块指针指向该进程的进程控制块 并将该进程的进程控制块信息写入处理器的各个寄存器 中 实验中采用时间片轮转调度算法实验中采用时间片轮转调度算法 时间片轮转调度算法让就绪进程按就绪的先后次序排 成队 每次总是选择就绪队列中的第一个进程占有处理器 但是规定只能使用一个 时间片 时间片就是规定进程一次使用处理器的最长时间 实验中采用每个进程都使用相同的不 变的时间片 五 五 参考程序参考程序 include stdiO h 用 running 表示进程处于运行态 define running 1 用 aready 表示进程处于就绪态 define aready 2 用 blocking 表示进程处于等待态 define blocking 3 用 sometime 表示时间片大小 define sometime 5 假定系统允许进程个数为 n definen10 StructStruct in tname 进程标识符 int Status 进程状态 int ax bx CX dx 进程现场信息 通用寄存器内容 int pc 进程现场信息 程序计数器内容 int psw 进程现场信息 程序状态字寄存器内容 int next 下一个进程控制块的位置 pcbarea n 模拟进程控制块区域的数组 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 3 int Pfree 定义指向空闲进程控制块队列的指针 sheduling sheduling 进程调度函数 进程调度函数 int i if ready head 一 1 空闲进程控制块队列为空 退出 print 无就绪进程 n return i ready head 就绪队列头指针赋给 i ready head pcbarea ready head next 就绪队列头指针后移 if ready head 一 1 ready tail 1 就绪队列为空 修正尾指针 ready tail pcbarea i status running 修改进程控制块状态 TIME sometime 设置相对时钟寄存器 恢复该进程现场信息 AX pcbarea run ax BX pcbarea run bx CX pcbarea run CX DX pcbarea run dx PC pcbarea run pc PSW pcbarea run psw run i 修改指向运行进程的指针 进程调度函数结束 create intcreate int X X 创建进程 int i if pfree 一 1 printf 无空闲进程控制块 return i pfree 空闲进程控制块队列为空进程创建失败 n pfree pcbarea pfree next 取空闲进程控制块队列的第 一个 填写该进程控制块内容 pfree 启移 pcbarea i n ame x pcbarea i s tatus areadv pcbarea i ax x pcbarea i bx x pcbarea i CX X pcbarea i dx x pcbarea i p c x pcbarea i p sw x 4 if ready head 一 1 就绪队列不空时 挂入就绪 队列方式 pcbarea ready tail next i ready tail i pcbare a ready tail next 一 1 elSe 就绪队列空时 挂入就绪队列 方式 ready head i ready tail i pcbare a ready tail next 一 1 进程创建函数结束 main main 系统初始化 int numrirJ run ready head ready tail block i pfree O for J O J O create num scanf d sheduling if run 一 1 printf 进程标志符 进程状态寄存器内容 ax bx cx dx pc psw
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 金融安全考试试题及答案
- 家庭教育新观念现代父母的教育方法与技巧
- 达丰汽车修理厂的各项规章制度
- 妇产科护士长服务质量管理方案
- 地产面试面试技巧指导提高面试通过率的策略
- (完整版)数学初一分班模拟测试题目
- 商务谈判技巧策略制定与沟通话术解析
- (完整版)数学新初一分班综合测试试卷A卷
- (完整版)新初一分班数学模拟测试真题A卷解析
- 扶贫造假实战案例解析与职业选择方向
- 2025年保安员证考试题库(附答案+解析)
- 标准服装采购合同范本模板
- 小儿推拿的课件
- 2025年应急通信行业当前市场规模及未来五到十年发展趋势报告
- 消防执勤战备汇报
- 领导干部任职前廉政法规知识测试题库(含答案)
- 信息技术与数学教学的深度融合
- 2025酒店租赁合同范本下载
- 洋葱学院教学课件导出
- 仲裁发展基金管理办法
- 人工全髋关节置换个案护理
评论
0/150
提交评论