全文预览

操作系统 进程调度算法的模拟

上传者:业精于勤 |  格式:doc  |  页数:11 |  大小:357KB

文档介绍
();///从就绪队列中选择优先级最高的进程运行}///endif}printf("\n模拟进程动态优先权调度算法结束.\n");return0;动态优先权调度算法流程图(2)实验结果①第1个时间片后:②第2个时间片后:③第3个时间片后:④第4个时间片后:⑤第5个时间片后:⑥第6个时间片后:⑦第7个时间片后:⑧第8个时间片后:⑨第9个时间片后:⑩第10个时间片后:⑪第11个时间片后:⑫第12个时间片后:⑬第13个时间片后:⑭第14个时间片后:⑮第15个时间片后:⑯第16个时间片后:⑰第17个时间片后:⑱第18个时间片后:⑲第19个时间片后:⑳第20个时间片后:实验结果分析①调度算法开始之前进程PCB信息为:②调度算法结束之后进程PCB信息为:③调度算法分析:进程ID到达时间服务时间结束时间周转时间带权周转时间00310103.312620183.024416123.036518122.44821352.5(4)实验心得通过进程动态优先权调度算法的模拟.对进程的运行状态.进程PCB数据结构.进程调度算法有了更深的理解。动态优先权调度算法为了防止高优先级进程无休止地运行下去.调度程序在每个时钟滴答(即每个时钟中断)降低当前进程的优先级。如果这个动作导致该进程的优先级低于次高优先级的进程.则进行进程切换.可以避免低优先级进程长时间的饥饿等待。此外.优先级可以由系统动态确定。例如有些进程为I/O密集型.其多数时间用来等待I/O结束。当这样的进程需要CPU时.应立即分配给它CPU.以便启动下一个I/O请求.这样就可以在另一个进程计算的同时执行I/O操作。使这类I/O密集型进程长时间等待只会造成它无谓地长时间占用内存。使I/O密集型进程获得较好服务的一种简单算法是.将其优先级设为1/f.f为该进程在上一时间片中所占的部分。如果一个在其50ms的时间片中只使用1ms的进程的优先级为50.

收藏

分享

举报
下载此文档