1、为什么要使用操作系统
(1)平常写代码的时候,我们都会这样子写:
#include 'reg51.h'void main(){ while(1) { dosomething();//用户的程序 } }
这种写法是初学者的习惯写法,把需求全部写在一个while(1)死循环里面,这种代码结构一般称为顺序结构,当然如果代码量比较小的话,这都很OK。
但是如果我现在代码量很大,比如要写很多个传感器的采集代码,## 标题同时也要写显示屏的代码和一些其它外设的代码,这个时候如果也采用顺序结构的话,那么代码很有可能会卡死或者跑飞,这个时候要么程序崩溃要么就是执行效率非常慢。所以这个时候我们需要系统管理我们的程序。
8051内核资源那么少,功能比较少,为什么还要使用操作系统?
RTX51 的Full 和 Tiny,这两个系统也是属于RTOS系统,8051虽然功能比较少,但是在市场上仍然具有一定的分量,RTOS内核的实现都是可以类比,由于8051相对于32位的STM32来说更简单,入门操作系统也比较好理解,可以这样子说,如果8051的操作系统能够很好的理解的话,等以后进阶到FreeRTOS的时候能够更快的去学习其内核的实现。
正式介绍系统:
RTX-51 有 2 个版本:Full 和 Tiny,Full在此暂且不说, RTX51 Tiny是一个非占先或多优先级的实时操作系统,是一个平级的时间片轮询实时操作系统,所有的任务平等运行。最多支持16个任务,在规定的时间片内执行某一任务,从而实现任务的管理,与顺序结构的代码不同的是它没有main函数,RTX51_TINY构建的应用程序没有main函数,是从任务0开始执行的,使用任务0来创建其它的用户任务,创建完之后删除自身。
相关文章









