欢迎来到毕设资料网! | 帮助中心 毕设资料交流与分享平台
毕设资料网
全部分类
  • 毕业设计>
  • 毕业论文>
  • 外文翻译>
  • 课程设计>
  • 实习报告>
  • 相关资料>
  • ImageVerifierCode 换一换
    首页 毕设资料网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    操作系统进程调度课程设计

    • 资源ID:1398308       资源大小:97.50KB        全文页数:9页
    • 资源格式: DOC        下载积分:100金币
    快捷下载 游客一键下载
    账号登录下载
    三方登录下载: QQ登录
    下载资源需要100金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

    操作系统进程调度课程设计

    1、题目:题目: 进程调度进程调度 一、一、 课程设计目的课程设计目的 多道程序设计中,经常是若干个进程同时处于就绪状态,必须依照某种策略来决定那个进程优先占有处理 机。因而引起进程调度。本实验模拟在单处理机情况下的处理机调度问题,加深对进程调度的理解。 二、二、 设计要求设计要求 1设计进程调度算法,进程数不定 2包含几种调度算法,并加以实现 3输出进程的调度过程进程的状态、链表等。 三、三、 设计类型设计类型 1题目优先权法、轮转法 简化假设 1)进程为计算型的(无 I/O) 2)进程状态:ready、running、finish 3)进程需要的 CPU 时间以时间片为单位确定 2算法描述 1

    2、)优先权法动态优先权 当前运行进程用完时间片后,其优先权减去一个常数。 2)轮转法 四、四、 设计设计流程图流程图 开始 键盘输入进程数 n,和调度方法的选择 优先权法? 轮转法 产生 n 个进程,对每个进程产生一个 PCB,并用 随机数产生进程的优先权及进程所需的 CPU 时间 按优先权大小,把 n 个进程拉成一个就绪队列 初始化其他数据结构区 链首进程投入运行 时间片到, 进程所需的 CPU 时间减 1, 优先权减 3, 输出个进程的运行情况 所需的 CPU 时间=0? 撤销进程 就绪队列为空? 结束 将进程插入就绪队列 N Y N Y Y B N 注意: 1产生的各种随机数的取值范围加以

    3、限制,如所需的 CPU 时间限制在 120 之间。 2进程数 n 不要太大通常取 48 个 3使用动态数据结构 4独立编程 5至少三种调度算法 6若有可能请在图形方式下,将 PCB的调度用图形成动画显示。 五设计过程:五设计过程: (1)输入:)输入:进程流文件(1.txt) ,其中存储的是一系列要执行的进程, 每个作业包括四个数据项: 进程名 进程状态(1 就绪 2 等待 3 运行) 所需时间 优先数(0 级最高) 进程 0 1 50 2 进程 1 2 10 4 进程 2 1 15 0 进程 3 3 28 5 进程 4 2 19 1 进程 5 3 8 7 输出: 进程执行流等待时间,平均等待

    4、时间 本程序包括:FIFO 算法,优先数调度算法,时间片轮转调度算法 产生 n 个进程,对每个进程用随机数产生进程的轮转时间片数及进程所 需的时间片数,已占用 CPU 的时间片数置为 0 按进程产生的先后次序拉成就绪队列链 链首进程投入运行 时间片到,进程所需时间片数减 1,已占用 CPU 时间片数加 1 输出各进程的运行情况 进程所需时间片数=0? 撤销该进程 就绪队列为空吗? 占用 CPU 的时间片数=轮转时间片数? 占用 CPU 的时间片数置为 0 把该进程插入就绪队列尾 B N Y N Y Y 结束 N (2)程序代码)程序代码 #include #include #include c

    5、onst int block_time=10; /定义时间片的长度为 10 秒 const int MAXPCB=100; /定义最大进程数 /定义进程结构体 PCB typedef struct node char name20; /*进程标识符*/ int status;/*进程的状态*/ int time; /*所需时间*/ int privilege;/*优先权*/ int finished; int wait_time; pcb; pcb pcbsMAXPCB; int quantity;/*计数器*/ /初始化函数 void initial() int i; for(i=0;ifn

    6、ame; if(fp=fopen(“f:11.txt“,“r“)=NULL) cout“错误,文件打不开,请检查文件名“endl; else while(!feof(fp) fscanf(fp,“%s %d %d %d“,pcbsquantity.name, quantity+; /输出所读入的数据 cout“输出所读入的数据“endl; cout“进程名 进程状态 所需时间 优先数“endl; for(i=0;iquantity;i+) cout“ “pcbsi.name“ “pcbsi.status“ “pcbsi.time“ “pcbsi.privilegeendl; return(1); re


    注意事项

    本文(操作系统进程调度课程设计)为本站会员(毕****文)主动上传,毕设资料网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请联系网站客服QQ:540560583,我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们
    本站所有资料均属于原创者所有,仅提供参考和学习交流之用,请勿用做其他用途,转载必究!如有侵犯您的权利请联系本站,一经查实我们会立即删除相关内容!
    copyright@ 2008-2025 毕设资料网所有
    联系QQ:540560583