我需要帮助。我有一个项目来为 freeRTos 构建一个替代调度程序,使用不同的算法,并尝试在操作系统中替换它。
我的问题是:
平时可以吗?(大约几个月)
如何在整个 OS 代码中识别调度程序的代码?
鉴于 FreeRTOS 只有几千行代码,它当然可以在几个月内完成。当然,如果您知道如何编写调度程序。
然而,FreeRTOS 甚至没有真正的调度器。它维护一个可运行任务的列表,并且在每个调度点(从中断或显式屈服返回),它从该列表中获取最高优先级的任务。
要为问题 2 添加更多答案:
任务控件在 tasks.c 中,portable/port.c 包含上下文切换。
查看源组织文档;给定的函数名称会泄露它定义的文件。真的没有太多的地方,他们也可以。使用 grep :)