使用优先数法实现操作系统的进程调度

使用优先数法实现操作系统的进程调度

ID:8803686

大小:258.83 KB

页数:9页

时间:2018-04-08

使用优先数法实现操作系统的进程调度_第1页
使用优先数法实现操作系统的进程调度_第2页
使用优先数法实现操作系统的进程调度_第3页
使用优先数法实现操作系统的进程调度_第4页
使用优先数法实现操作系统的进程调度_第5页
资源描述:

《使用优先数法实现操作系统的进程调度》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、操作系统课程设计使用优先数法实现操作系统的进程调度《操作系统原理》课程设计报告课题名称:使用优先数法实现操作系统的进程调度姓名:刘武班级:BX1109学号:42指导老师:苏庆刚二〇一三年十二月二十日3操作系统课程设计使用优先数法实现操作系统的进程调度目录一、《操作系统原理》课程设计的目的与要求41.1目的42.2要求4二、简述课程设计内容、主要功能和实现环境42.1课程设计内容42.2主要功能52.3实现环境5三、任务的分析、设计、实现和讨论53.1任务的分析53.2任务的设计与实现73.3程序源代码相应注释83.4程序的测试93.5设计说明10四、《操

2、作系统》课程设计小结(收获、不足与建议)10参考文献113操作系统课程设计使用优先数法实现操作系统的进程调度3操作系统课程设计使用优先数法实现操作系统的进程调度一、《操作系统原理》课程设计的目的与要求1.1目的进程是操作系统最重要的概念之一,进程调度又是操作系统核心的主要内容。本实习要求学生独立地用高级语言编写和调试一个简单的进程调度程序。调度算法可任意选择或自行设计。任务一采用简单轮转法,任务二采用优先数法等。本课题可以加深对进程调度和各种调度算法的理解。2.2要求设计一个有n个进程并发的进程调度程序。每个进程由一个进程控制块(PCB)表示。进程控制块

3、一般应该包含下述信息:进程名、进程优先数、进程需要运行的时间、占用CPU的时间以及进程的状态等,且可按调度算法的不同而增删。调度程序应包含2~3种不同的调度算法,运行时可任意选一种,以利于各种算法的分析比较。算法应能显示或打印各个进程的PID、状态(运行状态R、等待状态W等)和参数(已运行时间等)的变化情况,便于观察诸进程的调度过程二、简述课程设计内容、主要功能和实现环境2.1课程设计内容进程调度是处理机管理的核心内容。本实验要求用C语言编写和调试一个简单的进程调度程序。选用优先数法五个进程进行调度。每个进程处于运行R(run)、就绪W(wait)和完成

4、F(finish)三种状态之一,并假设起始状态都是就绪状态W。为了便于处理,程序进程的运行时间以时间片为单位计算。各进程的优先数以及进程需要运行的时间片数,在创建进程时均有、由用户自定义,在进程执行中则由机器进行减运算。通过本实验可以加深理解有关进程控制块、进程队列的概念,并体会和了解优先数调度算法的具体实施办法。2.2主要功能9操作系统课程设计使用优先数法实现操作系统的进程调度本程序可选用优先数法对N个进程进行调度。每个进程处于运行R(run)、就绪W(wait)和完成F(finish)三种状态之一,并假设起始状态都是就绪状态W。为了便于处理,程序进程

5、的运行时间以时间片为单位计算,根据优先级来调度进程成,用cpu在每个时间片内完成每个进程。2.3实现环境本次课程设计结合算法的特点,采用Windows操作系统平台。开发工具为MicrosoftVisualC++6.0。三、任务的分析、设计、实现和讨论3.1任务的分析本程序可选用优先数法对N个进程进行调度。每个进程处于运行R(run)、就绪W(wait)和完成F(finish)三种状态之一,并假设起始状态都是就绪状态W。为了便于处理,程序进程的运行时间以时间片为单位计算。各进程的优先数以及进程需要运行的时间片数,在创建进程时均有、由用户自定义,在进程执行中

6、则由机器进行减运算。下面介绍优先数调度算法:优先数法。进程就绪链按优先数大小从高到低排列,链首进程首先投入运行。每过一个时间片,运行进程所需运行的时间片数减1,说明它已运行了一个时间片,优先数也减1,理由是该进程如果在一个时间片中完成不了,优先级应该降低一级,占用cpu的时间加1,接着比较现行进程和就绪链链首进程的优先数,如果仍是现行进程高或者相同,就让现行进程继续进行,否则,调度就绪链链首进程投入运行。原运行进程再按其优先数大小插入就绪链,且改变它们对应的进程状态,直至所有进程都运行完各自的时间片数。进程控制块PCB结构如下:进程ID链指针优先数占用C

7、PU时间片数进程所需时间片数进程状态图3-1PCB结构进程控制块链结构如下:9操作系统课程设计使用优先数法实现操作系统的进程调度TAILRUN1…RHEAD3…W5…W2…W图3-2进程控制块链结构其中:RUN—当前运行进程指针;HEAD—进程就绪链链首指针;TAID—进程就绪链链尾指针。3.2任务的设计与实现图3-3算法流程图9操作系统课程设计使用优先数法实现操作系统的进程调度图3-4程序运行流程图本组程序主要用了4个函数:voidinit(),voidinsert(),prisch(),voidprint()。算法主要是比较优先数算法。我们的程序是没

8、有手动输入的,里面的优先数和进程需要时间片都是随机产生的,然后有init()函数

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

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

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