OS与裸机

  裸机:

        没有运行OS的计算机。一般我们利用中断和循环构建前后系统完成的工程就是裸机工程。中断为前台,针对各种突发的中断源进行及时响应,循环是后台,稳定执行一些常驻的重复性工作。

        裸机的优势:在裸机工程中,编写者对代码的执行情况是一清二楚的,只要编写者秦楚中断到来的时刻,就能知道每一时刻中单片机在执行哪段代码,另外裸机工程由用户手动分配堆栈,所以总体上裸机工程是完全可控的,这也使得裸机的调试难度比较低。

        裸机的缺点:

        当工程比较复杂,耗时、耗资源的任务多时,裸机工程必须在中断编写复杂的逻辑或者执行耗时的任务时,就会导致裸机工程的执行效率非常低下,丧失实时性。因为两个中断之间有时间间隔,如果优先级高的中断执行时间大于两个中断时间间隔,那么低优先级的中断可能会无法响应。所当中断数更多,中断之间的时间间隔更短,而需要执行的任务耗时更长情况下,裸机工程跑起来将会很惨。

OS (操作系统)

         OS(Operating )操作系统,比如我们常用的window系统、mac系统,android系统,ios系统、linux系统等,都属于操作系统。

        操作系统的本质是一个特殊的软件,直接管理硬件,同时为各个应用程序划分资源(内存,堆栈,时间片等),并提供控制(调度,同步)。

        不管是计算机还是单片机,在任何时刻只能运行一段代码,顶多是运行速度上会有差距,为什么我们能够在电脑上打开多个软件同时流畅的使用,就需要归功于操作系统对于软件的控制。操作系统会将各个应用程序抽象成进程,给每个进程独立的分配资源,同时对他们进行调度,使得每一个进程都仿佛在独占整个计算机。

        由于单片机资源较少,一般在单片机上运行的操作系统具有功能精简,实时性强的特点,被称为RTOS(real time operating stsstem)实时操作系统。单片机上的RTOS非常多,国外常见的RTOS包括FreeRTOS,uCOSII等,国内这几年做的RT-Thread操作系统也发展的很好。

        OS优势:

        1>资源利用效率高、空间利用效率高:OS可以通过释放执行完毕的任务的资源来空出新的存储空间,让新的任务得以执行,所以能够执行的总任务数量大大高于裸机。

        2>时间利用率高:针对裸机的劣势,OS可以将耗时的任务放到任务中,交给OS来调度;中断中只需要执行耗时短的重要代码,这样中断就能够得到及时的响应,即使有多个复杂,耗时的任务也能够实时的进行处理。

        3>更高的任务调度机制:

        OS可以提供一些裸机不具备的功能,比如信号量,消息队列,任务通知等,用来管理复杂情况下的资源分配或者进程同步。(比如信号量,信号量的功能是实现各个任务对临界资源的互斥访问)

        一段程序一般划分为三个阶段:开始执行->执行中->执行完成。恰好对应进程的工作状态:就绪态->运行态->挂起态(另还有一个阻塞态,对应为程序执行到一般被暂停的状态)

        OS劣势:由于任务调度和堆栈分配都是由OS来完成的,编写者并不知道任意时刻OS内部的执行情况,因此如果出现了问题,调试难度比较大,很多时候需要借助特殊的调试工具帮助查找问题,比如FreeRTOS就有专用的调试工具FreeRTOSViewer.
 

       

RoboMaster电控入门(8)RTOS - sasasatori - 博客园

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值