RTOS专栏

2018/04/08 RTOS-μCOS

操作系统作为硬件和软件的中间衔接媒介,起到了承上启下的作用。深刻理解操作系统原理对理解抽象、层次、接口等计算机科学中核心的概念具有很大的帮助。操作系统屏蔽了底层硬件操作细节,管理了CPU、MEM、Device等硬件资源并对上提供了简易的操作接口。

个人认为作为中间件的操作系统主要解决了两个痛点:

1,向下屏蔽了底层硬件操作细节。

2,向上提供了Task Management、IPC、File System、Device Management等基础服务。

RTOS 专栏简介

对计算机科学感兴趣起于认识交换机、路由器、防火墙、服务器这些有各种灯一闪一闪的长得很高冷的这些家伙,进一步认识他们是通过Linux这个操作系统。上大学的时候可谓是比较着迷,上述设备就能把全世界的PC互联,让你在家就能接收到世界上最新的咨询、最好的资料,真是太神奇了。我花了一年的时间把这些家伙的脾性都摸透了,和他们玩的不亦乐乎。不过,我并不甘心,我想知道这些家伙的内心是怎样的?随即咨询了几个做信息化建设的老师,他们回答惊奇的一致:”我们的爱好在于如何利用这些家伙提供优良的服务,至于这些家伙里面咋回事,我们不关心,你要是有兴趣,我给你推荐个老师,他对这些家伙里面感兴趣,也很有研究“。后来我就来到了”嵌入式系统结构实验室“,一呆就是2年,在这里我接触到了比搭建网络服务更底层的一些东西,比如CPU如何工作,操作系统都干了什么,模拟电路和数字电路都是啥玩意,如何用基本的数字电路搭建微型计算机等等。

各位看官别着急,马上到重点。到了嵌入式体系结构实验室以后,认识了我人生中比较重要的一位老师—刘老师。他看我比较有诚意,对计算机也比较有兴趣,就跟我说:“服务器那种计算机功能太全,不适合找准主线和核心,容易迷失在繁琐的技术细节里,我建议你买个51单片机开发板,把51单片机说明书里的功能都自己写代码耍耍。51单片机虽然说是小,但麻雀虽小,五脏俱全。等你有感觉了,找我来,我给你找个小活玩玩”。我当时也是半信半疑,不过我的直觉告诉我这个老师是搞工程的,说的还算务实。就按他说的办,不过,我没买51单片机,用的是实验室里师哥留下的一个小51开发板,上面都落了好多土了。因为之前有信息化建设中编码的经验以及专业课也在学计算机组成原理,闹明白这个51单片机还是不在话下。弄好了之后,老师先让我总结了一下你觉着单片机主要核心有哪些?我就随口说了句:“能根据我的指令处理逻辑,还有外部事件可以打断它,处理完外部事件,它还能继续干活”。我老师说:“你小子还真行”。后来,做了一个“检测面粉湿度”的小活,发现一个具体项目需要好多任务,比如读取AD传感器数据,处理显示,接收用户按键等等。自己直接写程序的话,需要自己处理这些任务以及这些任务之间的通讯问题,使用的是一个大循环,检测各种事件的发生,一旦发生就处理相应事件。但有些时候处理事件的实时响应性差,其实我也知道单片机处理逻辑和计算的速度比人计算的要快多了,整体性能差是因为外部的各种设备慢,就像你大脑运算很快,但是自己的手脚运动缓慢,整体来看还是挺慢的。要是一个任务在等待处理外部慢的事件时,单片机的CPU就空闲下来了,要是这个时间能做其他任务里逻辑处理工作的话,整个系统的处理能力就很好了。这个时候老师就说:“其实,这些问题别人已经帮助解决了,你看看μCOS吧” 。“μCOS?我一脸懵逼,不过,根据之前跟这位老师相处的经验,他不会乱说的,先记下来,然后在查资料吧” 后来,了解了μCOS后,对操作系统的核心概念有了很直观的认识,况且我是因为要解决我的问题才去找的资料,学习的μCOS,所以学习起来比较自然,也被国外的程序员的严谨,聪明所折服。

各位看官也明白了,我对计算机内部构造的了解方法是:51单片机+μCOS。51单片机告诉我CPU是啥?咋用? μCOS 告诉我怎么最高效地利用CPU,怎么设计复杂软件?

μCOS是一个开源的、实时性的小型嵌入式操作系统。代码量小,很适合操作系统的入门学习。

最好的学习方法是:Reading The Source Code && Debug in Real Hardware…

如果你能阅读源代码,并调试,而且还有实际应用经验的话,这个系列的blog你就不用看了。你已经具备了计算机知识学习能力,看这些别人嚼过的资料纯属浪费时间。

相关资源:

μcos-ii书籍和源代码

μcos-iii书籍和源代码

这个系列blog是对我原来CSDN博客关于μCOS部分的完善和更新,工作后对操作系统又有了新的认识和观点。再回头看上学时写的博客,无论从格式上还是内容结构上都需要改进和优化。因此计划重新写一个系列,此系列同步发布到bahutou’s blogCSDN的μCOS专栏

Search

    Table of Contents