首页 » 排名链接 » 嵌入式开发为什么会跑操作系统?(运行操作系统裸机程序嵌入式)

嵌入式开发为什么会跑操作系统?(运行操作系统裸机程序嵌入式)

萌界大人物 2024-12-07 04:04:58 0

扫一扫用手机浏览

文章目录 [+]

但是这种方式的缺点也很显然:

1.实时性不强,不能优先保证重要或者优先级较高的程序的运行。
在一些代码较少的程序中还不明显,但是如果程序功能复杂,代码量大,运行时间长,这种方式就显得更加难以运行下去。
因为这种裸机while循环的方式相当于走的流水线,你得等CPU运行到了这里才能执行,即使你是个极度紧急的程序,任何之前的延时都可以让这段程序延后运行。

2.程序中如果发生了延时,那么所有的程序都要等这个延时(中断除外)。
这个时间相当于CPU没干啥正经事,白白的浪费了强大的算力。

嵌入式开发为什么会跑操作系统?(运行操作系统裸机程序嵌入式) 排名链接
(图片来自网络侵删)

3.维护性与可读性较差。
大家可以试想,所有处理都在一个while循环中,要在这里头去加代码加功能,是不是很容易就会影响到其他代码呢,可能同时还需要在其他的地方加上各种补丁,麻烦事儿一堆。

实际在工作的项目中基本不会去跑裸机,结合之前的两点即效率太低了不合适,无法支撑大型的项目。

因此我们就引入了操作系统,将每个小功能模块可以做成一个任务,由调度器统一调度任务,什么时候运行什么任务,这也是每个操作系统最核心的部分。
当我们有一个任务因为延时等待不需要继续运行的时候,就可以把CPU的运行权交给其他的任务,把对CPU的利用发挥到极致。
当有紧急任务准备好需要处理时,CPU的控制权马上又回到这个任务处理紧急事务。
如果有新的功能模块需要添加,适当的可以做成一个任务,这样将对其他任务的影响降到最小。
阅读代码或者人员分工就可以根据各个模块的任务进行划分,化整为零,提高工作的效率。

如此,操作系统便完美的解决了裸机运行的缺点~

不想错过每次推送?欢迎关注咱的公众号“脑补空间”~

标签:

相关文章