单处理器系统的进程调度.doc

单处理器系统的进程调度.doc

ID:57730635

大小:286.50 KB

页数:5页

时间:2020-09-02

单处理器系统的进程调度.doc_第1页
单处理器系统的进程调度.doc_第2页
单处理器系统的进程调度.doc_第3页
单处理器系统的进程调度.doc_第4页
单处理器系统的进程调度.doc_第5页
资源描述:

《单处理器系统的进程调度.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、2017-2018学年第一学期电信学院计算机系实验报告课程名称:操作系统实验名称:单处理器系统的进程调度班级:计学号:姓名:成绩:实验目的1.加深对进程概念的理解,明确进程和程序的区别。2.深入了解系统如何组织进程、创建进程。3.进一步认识如何实现处理器调度。一、实验内容编写程序完成单处理机系统中的进程调度,要求采用时间片轮转调度算法。实验具体包括:首先确定进程控制块的内容,进程控制块的组成方式;然后完成进程创建原语和进程调度原语;最后编写主函数对所做工作进行测试。二、数据结构1.进程控制块结构定义如下:structpcb{intname;      //进程标识符            i

2、ntstatus;                //进程状态 intax,bx,cx,dx;            //进程现场信息,通用寄存器内容  intpc;               //进程现场信息,程序计数器内容 intpsw;             //进程现场信息,进程状态字寄存器内容intnext;              //下一个进程控制块的位置}2.运行进程的进程块指针,就绪队列指针和空闲进程控制块队列指针定义如下:Intrun;//定义指针正在运行进程的进程控制块的指针Struct{Inthead;Inttail;}Ready;//定义指针就绪队列的头指针,

3、head和尾指针tailIntpfree;//定义指向空闲进程控制块队列的指针三、算法流程进程创建是一个原语,因此在实验中应该用一个函数实现,进程创建的过程应该包括:1.申请进程控制块:进程控制块的数量是有限的,如果没有空闲进程控制块,则进程不能创建,如果申请成功才可以执行第②步;2.申请资源:除了进程控制块外,还需要有必要的资源才能创建进程,如果申请资源不成功,则不能创建进程,并且归还已申请的进程控制块;如果申请成功,则执行第三步,实验无法申请资源,所以模拟程序忽略了申请资源这一步;3.填写进程控制块:将该进程信息写入进程控制块内,实验中只有进程标识符、进程状态可以填写,每个进程现场信息中

4、的寄存器内容由于没有具体数据而使用进程(模拟进程创建时,需输入进程标识符字,进程标识符本应系统建立,并且是惟一的,输入时注意不要冲突),刚刚创建的进程应该为就绪态,然后转去执行第四步;4.挂入就绪队列:如果原来就绪队列不为空,则将该进程控制块挂入就绪队列尾部,并修改就绪队列尾部指针;如果原来就绪队列为空,则将就绪队列的头指针、尾指针均指向该进程控制块,进程创建完成。进程创建流程图如图1所示图1.进程创建流程图多道程序设计的系统中,处于就绪态的进程往往是多个,它们都要求占用处理器,可是单处理器系统的处理器只有一个,进程调度就是解决这个处理器竞争问题的。进程调度的任务就是按照某种算法从就绪进程队

5、列中选择一个进程,让它占有处理器。因此进程调度程序就应该包括两部分,一部分是在进程就绪队列中选择一个进程,并将其进程控制块从进程就绪队列中摘下来,另一部分工作就是分配处理器给选中的进程,也就是将指向正在运行进程的进程控制块指针向该进程的进程控制块,并将该进程的进程控制块信息写入处理器的各个寄存器中。实验中采用时间片抡砖头调度算法。时间片轮转调度算法让就绪进程按就绪的先后次序排成队列,每次总是选择就绪队列中的第一个进程占有处理器,但是规定只能使用一个“时间片”。时间片就是规定进程一次使用处理器的最长时间。实验中采用每个进程都使用相同的不变的时间片。采用时间片轮转调度算法的进程调度流程图如图2所

6、示图2.进程调度流程图一、运行结果二、参考文献计算机操作系统(第四版)汤小丹梁红兵哲凤屏汤子瀛编著

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。