但是这种方式的缺点也很显然:
1.实时性不强,不能优先保证重要或者优先级较高的程序的运行。在一些代码较少的程序中还不明显,但是如果程序功能复杂,代码量大,运行时间长,这种方式就显得更加难以运行下去。因为这种裸机while循环的方式相当于走的流水线,你得等CPU运行到了这里才能执行,即使你是个极度紧急的程序,任何之前的延时都可以让这段程序延后运行。
2.程序中如果发生了延时,那么所有的程序都要等这个延时(中断除外)。这个时间相当于CPU没干啥正经事,白白的浪费了强大的算力。

3.维护性与可读性较差。大家可以试想,所有处理都在一个while循环中,要在这里头去加代码加功能,是不是很容易就会影响到其他代码呢,可能同时还需要在其他的地方加上各种补丁,麻烦事儿一堆。
实际在工作的项目中基本不会去跑裸机,结合之前的两点即效率太低了不合适,无法支撑大型的项目。
因此我们就引入了操作系统,将每个小功能模块可以做成一个任务,由调度器统一调度任务,什么时候运行什么任务,这也是每个操作系统最核心的部分。当我们有一个任务因为延时等待不需要继续运行的时候,就可以把CPU的运行权交给其他的任务,把对CPU的利用发挥到极致。当有紧急任务准备好需要处理时,CPU的控制权马上又回到这个任务处理紧急事务。如果有新的功能模块需要添加,适当的可以做成一个任务,这样将对其他任务的影响降到最小。阅读代码或者人员分工就可以根据各个模块的任务进行划分,化整为零,提高工作的效率。
如此,操作系统便完美的解决了裸机运行的缺点~
不想错过每次推送?欢迎关注咱的公众号“脑补空间”~