题目二:处理机调度—实时调度算法EDF和RMS40703.pdf
《题目二:处理机调度—实时调度算法EDF和RMS40703.pdf》由会员分享,可在线阅读,更多相关《题目二:处理机调度—实时调度算法EDF和RMS40703.pdf(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、目录 一.设计目的 2 二.设计容 2 三.设计准备 2 四.设计过程3 五.设计结果并分析12 六.系统的结构,原理框图和模块等的详细说明14 七.用户使用说明书和参考资料 15 八.设计体会16 一设计目的 深入理解处理机调度算法,了解硬实时概念,掌握最早截止期优先调度算法。EDF(Earliest Deadline First)和速率单调调度算法RMS(Rate Monotonic Scheduling)的可调度条件,并能在可调度情况下给出具体调度结果。二设计容 在Linux环境中采用用户级线程模拟实现EDF和RMS两种实时调度算法。给定一组实时任务,按照 EDF 算法和 RMS 算法分
2、别判断是否可调度。在可调度的情况下,创建一组用户级线程,分别代表各个实时任务,并按算法所确定的调度次序安排各个线程运行,运行时在终端上画出其 Gantt 图。为避免图形绘制冲淡算法,Gantt 图可用字符表示。三设计准备(理论、技术)1.EDF 算法和 RMS 算法的可调度条件及调度原则。(1)EDF 为可抢占式调度算法,其调度条件为:sum(ci/ti)1(2)RMS 算法为不可抢先调度算法,其调度条件为:sum(ci/ti)n(exp(in(2)/n)-1)2.在 linux 环境中创建用户级线程的函数。(1)创建用户级线程的库函数为:Int pthread_creat(pthread_t
3、*THREAD,Pthread_attr_t*ATTR,Void*(*START_ROUTINE)(void*),Void*ARG)pthread_creat(tid,NULL,func,arg);其中第一个参数是 pthread_t 型的指针,用于保存线程 id;第二个参数是 pthread_attr_t 的指针,用于说明要创建的线程的属性,NULL表示使用缺省参数;第三个参数指明了线程的入口,是一个只有一个(void*)参数的函数;第四个参数是传给线程入口函数的参数。四设计过程(设计思想、代码实现)(1)实时任务用 task 数据结构描述,设计四个函数:Select_proc()用于实现调
4、度算法,被选中任务执行 proc(),在没有可执行任务时执行 idle(),主函数 main()初始化相关数据,创建实时任务并对任务进行调度。(2)为模拟调度算法,给每个线程设置一个等待锁,暂不执行的任务等待在相应的锁变量上。主线程按调度算法唤醒一个子线程,被选中线程执行一个时间单位,然后将控制权交给主线程判断是否需要重新调度。(3)实验代码#includemath.h#includesched.h#includepthread.h#includestdio.h#includestdlib.h#includesemaphore.h typedef struct /实时任务描述 char tas
5、k_id;int call_num;/任务发生次数 int ci;/任务处理时间 int ti;/任务发生周期 int ci_left;int ti_left;/record the reduction of ti ci int flag;/任务是否活跃,0否,2 是 int arg;/参数 pthread_t th;/任务对应线程 task;void proc(int*args);void*idle();int select_proc(int alg);int task_num=0;int idle_num=0;int alg;/所选算法,1 for EDF,2 for RMS int cu
6、rr_proc=-1;int demo_time=100;/演示时间 task*tasks;pthread_mutex_t proc_wait10;/the biggest number of tasks pthread_mutex_t main_wait,idle_wait;float sum=0;pthread_t idle_proc;int main(int argc,char*argv)pthread_mutex_init(&main_wait,NULL);pthread_mutex_lock(&main_wait);/下次执行 lock 等待 pthread_mutex_init(&
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 题目 处理机 调度 实时 算法 EDF RMS40703
限制150内