今天,桌案Drawon将从操作系统的起源,应用分类, 设计分类,以及资源使用角度对操作系统进行宏观的阐述。
因全文内容较长,因此整理成三部分,这是第一篇。
通过阅读解说天下之操作系统,您将大致对操作系统有更系统、更宏观,更深入的认识。
前后台系统
前后台系统为操作系统的远古时期。 在没有操作系统诞生之前,基本计算机系统就是前后台系统架构模型。
前后台系统的概念
在没有操作系统出现之前的系统为前后台系统,比如现在大多数嵌入式系统中所使用的MCU可以运行简单的C语言程序的单片机在裸跑的时候,我们认为为前后台系统,下面一张图介绍了前后台系统的模型:
从图中可以了解前后台系统有如下特点:
应用程序是一个无限的循环, 一般在主函数中,会写一个死循环,这个循环会有一定的延时,每隔一段时间循环执行一次。
循环中调用相应的函数,完成相应的操作,这部分可以看成是后台的行为(background)。无限循环扫描,就是一个轮询 。
后台系统,总是会运行,(The background is always running)这个Main函数是不会停止的。
当有紧急任务需要处理时,则MCU提供一种中断机制,每个中断向量挂接一个中断处理函数,进行紧急的处理。
这种中断处理程序的行为,我们称之为前台行为(Foreground)。
当紧急事件发生时,中断处理机制会立即捕获它。而紧急事件,一般都是外部IO触发, 触发行为有高电平变低触发,低电平变高触发,还有上升沿或者下降沿触发。 还有一种内部定时触发等。
如下为前后台系统的编程模型
前后台系统的优点
前后台系统的机制相对简单,对编程人员要求比较低。
只要学点C语言,了解点基础硬件相关的知识, 就能干点事情,如点亮LED灯。灯。 可以基于单片机来学习前后台系统。
如下推荐一些单片机的书籍, 可以借助这些书籍去学习前后台系统。
如下为前后台系统的优点:
成本低,一般情况下,几毛钱,甚至几块钱就能买到一个单片机。
需求量非常大,只要带一些简单的控制逻辑的系统,大多数都采用简单的MCU, 内部运行一个前后台系统。
如下我们给出一张操作系统的分布金字塔图:
设计开发编码都比较简单, 一般是由嵌入式工程师完成前后台系统的开发与设计。
前后台系统的缺点
应用场景比较简单, 控制简单的外围电脑和简单的运算。 对于大型复杂的逻辑或者交互,前后台系统很难胜任。
还有一些比较厉害的高人,使用前后台系统可以完成操作系统能够完成的任务,甚至操作系统都难以完成的事情(小材大用)。
资源很难系统地调度,原地转圈圈前后台系统的CPU 一直都很忙,资源很难系统调度。
开发系统时,代码的耦合度较高,你中有我,我中有你。
前后台系统中,每为一个系统添加一个软件模块,都可能影响到之前的功能。所以如果要把前后台系统的系统玩好,一定得做到统领全局,了解到别人的程序逻辑。
本期关于前后台系统就讲解完毕,下一期,桌案Drawon将为您讲解各类操作系统的基本概念、分类和优劣势,敬请期待。
领取专属 10元无门槛券
私享最新 技术干货