考虑以下这个函数/进程:
void task_fun(void) { while(1); }
如果该进程在常规PC操作系统上运行,它会一直运行而不会停止。但是,在移动电话上运行此进程将在几分钟内导致硬件看门狗过期并重置整个系统。
在PC上,此进程在过期其规定的时间片后将被调度出,并安排运行新的可运行进程。
我的疑问是为什么我们不能在RTOS上应用相同的策略?如果在RTOS上实施此类调度策略会涉及哪些性能限制?
我还有一个疑问是,我检查了我PC OS(Ubuntu)和手机(也运行Linux内核)的schedule()函数。我发现它们两者几乎相同。那么,我的手机上的看门狗控制是在哪里完成的?我假设调度程序在让进程运行之前启动看门狗。有人可以指出代码中的位置吗?
void task_fun(void) { while(1); }
如果该进程在常规PC操作系统上运行,它会一直运行而不会停止。但是,在移动电话上运行此进程将在几分钟内导致硬件看门狗过期并重置整个系统。
在PC上,此进程在过期其规定的时间片后将被调度出,并安排运行新的可运行进程。
我的疑问是为什么我们不能在RTOS上应用相同的策略?如果在RTOS上实施此类调度策略会涉及哪些性能限制?
我还有一个疑问是,我检查了我PC OS(Ubuntu)和手机(也运行Linux内核)的schedule()函数。我发现它们两者几乎相同。那么,我的手机上的看门狗控制是在哪里完成的?我假设调度程序在让进程运行之前启动看门狗。有人可以指出代码中的位置吗?