# 归档文件 - 实验二 处理器调度——实时调度算法 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 思考问题 1. 改进调度:仅需重调度时返回主线程,减少开销。 2. 统计线程切换次数。