如何写一个超级简单的嵌入式操作系统(二)

本文是关于如何创建嵌入式操作系统的第二部分,重点讨论了三种常见的嵌入式软件系统结构:轮询系统、前后台系统和多任务系统。轮询系统简单但响应时间不可控;前后台系统通过中断优化响应能力;多任务系统通过任务调度实现高效事件处理。文章深入浅出地阐述了每种结构的工作原理和优缺点。
摘要由CSDN通过智能技术生成

在第一部分,了解完功能,又了解完工具。

那么接下来就可以尝试写一个属于自己的操作系统了。

还记不记得之前说了一大堆操作系统的功能,那哪个功能是最重要的?

在我看来,一个操作系统的最核心功能就是实现多任务的管理(同时其实这也是一个相对较为简单的功能)

这一部分总结下最常见的嵌入式软件系统的结构:

一、轮询系统。

一般由一个大的while(1)循环组成:

while(1){
if(condition)
doSomeThing();
if(condition1)
doSomeThing1();

if(conditionN)
doSomeThingN();
}
轮询系统非常简单,对所有执行需要执行的代码顺序并循环执行。这是最简单的一种软件结构,主程序是一段无限循环的代码,在循环中顺序查询各个条件,如果满足就执行相应的操作。

这种方案的好处是实现简单,逻辑清晰,便于掌握。但是每个事件的查询和处理时间是不能确定的。假如前面的操作时间较长,那么后面的操作必然会被延迟。

二、前后台系统

对轮询系统进行优化,引入中断和各种标志位,就成了前后台系统。

char flag1;

char flagN;
while(1){
if(flag1){
doSomeThing();
}

if(flagN){
doSomeThingN();
}
}

void interrupt1{

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值