裸机系统与实时系统的区别

为什么需要main函数

系统在开始执行的时候先执行启动文件里的复位程序,复位程序里面会调用C库函数__main,

__mian的作用是初始化好系统变量、如全局变量,只读的,可读可写的。__main最后会调用__rtentry,再由__rtentry调用main函数,从而由汇编跳入C语言。

裸机系统

裸机系统通常分为轮询系统和前后台系统

轮询系统

轮询系统即是在裸机编程的时候,先初始化好相关的硬件,然后在一个死循环里不断循环,顺序地做各种事情。轮询系统只适合顺序执行地功能代码,当有外部事件驱动时,实时性就会降低。

前后台系统

在轮询系统地基础上加入中断。外部事件地的响应在中断里面完成, 事件的处理回到轮询系统中完成。

多线程系统

多线程系统的事件响应也是在中断中完成,但是事件的处理是在线程中完成。线程同样具有优先级。当一个紧急的事件被中断标记之后,如果对应的线程的优先度足够高,就会立马得到响应。

在多线程系统中,根据系统的功能,把程序主体分割成以一个个独立的,无限循环且不能返回的小程序,这些小程序就称为线程。每个线程都是独立的、互不干扰的,具备自身的优先级,由操作系统进行调度管理。

加入操作系统后无需设计程序的执行流,也不用担心每个功能模块是否存在干扰。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HUEREN

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值