裸机与跑RTOS实时操作系统的比较

裸机vsRTOS:代码框架与性能对比,
本文探讨了裸机应用的单任务架构与RTOS多任务架构,突出RTOS在实时性和资源利用上的优势。

1. 裸机应用代码框架

正常的裸机应用代码架构,由一个大while循环以及一些中断服务函数构成。如下图所示,中断服务函数叫前台程序,大while叫后台程序。这种前后台式的工作系统,本质上还是一个单任务的系统。

相对而言,单任务的系统实时性较差,后台的各个任务,不管紧急程序有多高,都要排着队轮循。

伪代码示例:

void main(void)
{
        sys_init();
        while(1)
        {
                task1();
                task2();
                task3();
                feeddog();
        }
}

void ISR1_handler(void)
{
        dosomthing();
}

2. 跑RTOS的应用代码框架

实时操作系统是一个的多任务系统,应用代码可以根据架构、功能、紧急程度等细分为多个任务,每个任务所消耗的资源相互独立,任务与任务间可以通过信号量,消息队列,事件组等进行同步和数据交换。

如下图所示,是freertos的一个抢占式的实时多任务系统。通过任务调度,使得这些任务高效有序的“并发”进行。

根据任务优先等级的设定,来决定当前CPU的使用权归于哪个任务。高优先级的任务可以打断低优先级的任务,中断可以打断高优先级的任务。这样就

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值