gpt4 book ai didi

rtos - FreeRTOS 使用什么样的调度程序?

转载 作者:行者123 更新时间:2023-12-02 21:26:10 25 4
gpt4 key购买 nike

FreeRTOS 使用什么样的调度程序?

我在某处读到它是一个运行完成调度程序,但另一方面,我也看到它与并行任务一起使用,所以它不会是一个循环调度程序?

最佳答案

最高优先级的任务被授予CPU时间。如果多个任务具有相同的优先级,则在它们之间使用循环调度。较低优先级的任务必须等待。

重要的是,高优先级任务不会 100% 执行,因为较低优先级任务永远不会获得 CPU 时间。这是实时编程的一个基本问题。

通常,您希望为一项任务分配高优先级,该任务必须对某些重要事件做出快速 react ,执行快速操作,然后去 sleep ,同时让不太重要的事情继续工作。

此类系统的一般示例可能是:

  1. 最高优先级 - 设备驱动程序任务(阀门控制、ADC、DAC 等)
  2. 中优先级 - 管理子系统(控制台任务、telnet 任务)
  3. 较低优先级 - 多个应用程序任务(www 服务器、数据处理等)

最低优先级给予一般应用程序,这些应用程序使用循环调度,这提供了或多或少相等的 CPU 时间。

中等优先级 - 控制台任务。系统运算符(operator)不会因陷入无限循环的故障 www 服务器而中断。这些任务并非 100% 都在运行。例如,它可以执行管理员的命令行命令。

最高优先级 - 设备驱动程序,处理关键事件,例如机械控制。如果锅炉压力太高,并且您确实不想等到网络服务器线程中完成一些愚蠢的 HTML 渲染,您可能有兴趣打开安全阀。此类任务仅运行有限的时间。

关于rtos - FreeRTOS 使用什么样的调度程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24100781/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com