开发工具:
文件大小: 306kb
下载次数: 0
上传时间: 2009-12-26
详细说明: 一.课程设计的目的: 通过课程设计更清楚地理解下列基本概念: 1.实时调度:指在实时系统下的调用,而实时系统是指系统能够在限定的响应时间内提供所需水平的服务。同时一个实时系统也是指计算的正确性不仅取决于程序的逻辑正确性,也取决于结果产生的时间,如果系统的时间约束条件得不到满足,将会发生系统出错。实时调度算法又可分为:非抢占式调度算法和抢占式调度算法。非抢占式调度算法分为:(1)非抢占式轮转调度算法。 (2) 非抢占式优先调度算法。抢占式调度算法分为: (1)基于时钟中断的抢占式优先权调度算法。(2) 立即抢占(Immediate Preemption)的优先权调度算法我们此次课程设计只用到了抢占式调度算法。 2.最低松弛度优先算法:该算法是根据任务紧急(或松弛)的程度,来确定任务的优先级。任务的紧急程度愈高,为该任务所赋予的优先级就愈高, 以使之优先执行。 二.课程设计的内容: 设有3个周期性的实时任务A、B、C,任务A要求每20ms执行一次,执行时间为5ms;任务B要求每30ms 执行一次,执行时间为15ms; 任务C要求每50ms执行一次,执行时间为10ms。试编一调度程序按最小松弛度优先算法对这3个任务进行调度并输出每次调度时被调入运行任务的状态: (任务名,所处周期数,调度时刻,运行持续时间)。 注:①程序中设置一个closetime(建议定为200)控制调度程序的终止。 ②变化A,B,C的周期和执行时间,再运行你的程序。 注意:设定实时任务的处理时间和周期时应满条件: 三.三个周期性实时任务的最短松弛度优先调度算法程序: #include #define closetime 200 #define PERIOD1 20 /*任务1的周期*/ #define PERIOD2 30 /*任务2的周期*/ #define PERIOD3 50 /*任务3的周期*/ #define CPUTIME1 5 /*任务1需要的CPU时间*/ #define CPUTIME2 15 /*任务2需要的CPU时间*/ #define CPUTIME3 10 /*任务3需要的CPU时间*/ typedef struct TCB { int period; /*周期*/ ...展开收缩
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.