我已经为微控制器编写了许多 C 程序,但从来没有在像 linux 这样的操作系统上运行过。linux 如何决定给我的应用程序多少处理时间?当我有空闲时间告诉操作系统去做其他事情并稍后返回给我以便其他进程也有时间运行时,我需要做些什么吗?还是操作系统会自动执行此操作?
编辑:添加更多细节 我的 c 程序有一个任务调度程序。有些任务每 100 毫秒运行一次,有些任务每 50 毫秒运行一次,依此类推。在我的主程序循环中,我调用 ProcessTasks 来检查是否有任何任务准备好运行,如果没有准备好,它会调用一个空闲函数。空闲功能什么也不做,但它在那里,所以我可以切换一个 GPIO 引脚并使用 O'scope 监控空闲时间......或者如果我愿意的话。所以也许我应该在这个空闲函数中调用 sched_yield() ???