1.2 KiB
1.2 KiB
归档文件 - 实验二 处理器调度——实时调度算法 EDF 和 RMS
2.1 实验目的
深入理解处理器调度算法,了解硬实时概念,掌握周期性任务调度算法 EDF(Earliest Deadline First)和 RMS(Rate Monotonic Scheduling)的可调度条件,并能在可调度情况下给出具体调度结果。
2.2 实验内容
在 Linux 环境采用用户级线程模拟 EDF 和 RMS。给定实时任务,判断可调度性,创建线程按算法调度,用字符绘制 Gantt 图。
2.3 实验准备
- EDF 可调度条件:∑(Ci/Ti) ≤ 1(可抢占)
- RMS 可调度条件:∑(Ci/Ti) ≤ n·(exp(ln2/n) − 1)(不可抢占)
- pthread_create 创建用户级线程
2.4 实验设计
用 task 结构体描述实时任务,实现 select_proc() 调度算法,主线程按算法唤醒线程,线程执行一个时间单位后交还控制权。
2.6 实验结果
编译:gcc -lpthread -lm test_scheduler.c -o scheduler.out
- EDF:按截止时间优先调度
- RMS:按周期短优先,不可抢占
2.7 思考问题
- 改进调度:仅需重调度时返回主线程,减少开销。
- 统计线程切换次数。