是的,这些操作系统实质上都是靠的时间片轮转来实现调度的,就是每个thread获取一段时间,时间一到,系统就进行调度,根据优先级,当前就绪情况等将CPU的使用权再次进行分配
不过Linux针对多核系统进行过优化的,可以每个处理器处理不同的任务,那种是真正的多线程。STM32上面的实时系统目前还不具备这个功能,都是伪多线程
STM32的多任务应该是和Linux下的多线程类比吧。
STM32跑多任务时,可能需要移植实时操作系统,确保实时性的满足;
Linux下更强调高性能的处理吧。
Linux下多线程是同时工作,效率还是比较高的;STM32的多任务实际上还是一个一个执行,只是尽量降低延时等待。
如果硬件都是单核、STM32使用RTOS可以说是同种实现方式
使用一个CPU来不断切换任务,宏观看是在同时运行即可说是多任务并行或多线程
STM32的多任务应该和Linux下的多进程类似。
STM32的多任务是在实时操作系统的调度下,切换执行;
Linux下应该是可同时执行的。