嵌入式操作系统内核原理和开发(开篇)

嵌入式操作系统内核原理和开发(开篇)

ID:5330007

大小:377.00 KB

页数:3页

时间:2017-12-08

嵌入式操作系统内核原理和开发(开篇)_第1页
嵌入式操作系统内核原理和开发(开篇)_第2页
嵌入式操作系统内核原理和开发(开篇)_第3页
资源描述:

《嵌入式操作系统内核原理和开发(开篇)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、本文由长春治疗白癜风医院http://www.hspfbyy.com/收集,转载请注明出处嵌入式操作系统内核原理和开发(开篇)操作系统是很多人每天必须打交道的东西,因为在你打开电脑的一刹那,随着bios自检结束,你的windows系统已经开始运行了。如果问大家操作系统是什么?可能有的人会说操作系统就是windows,就是那些可以放大、缩小、移动的窗口。对曾经是计算机专业的朋友来说,这个答案还要稍微复杂一些,操作系统可能还有linux、unix、ios、sunsolaris、aix等。如果再细化一点,对嵌入式工具比较解的朋友还

2、会有新的补充,因为在他们看来,vxworks、eCos、ucos也都是操作系统,虽然它们好多系统连界面都没有。既然操作系统称之为一个系统,那么它必然是由好多的部件组成的。有过linux嵌入式开发经验的朋友都知道,要想使一个linux在arm芯片上真正跑起来,它必须有三个部分组成,即boot+内核+文件系统。而真正内核的东西其实很少,也就是cpu初始化、线程调度、内存分配、文件系统、网络协议栈、驱动这些部分组成。那么是不是所有的芯片都需要跑操作系统呢?我们可以举个例子。现在有一个简单的温度测量电路,它由三部分组成:1、单片机;

3、2、温度传感器模块;3、无线发射模块。我们设计这么一个温度测量电路其实就是一个目的,那就是为了实时获取当前的温度信息。那么,这么一个简单的电路应该怎么设计程序呢?其实很简单。[cpp]viewplaincopy1.voidsleep(intvalue)2.{3.intouter;4.intinner;5.6.for(;outer

4、文由长春治疗白癜风医院http://www.hspfbyy.com/收集,转载请注明出处10.}11.}12.13.14.voidmain()15.{16.while(1)17.{18./*readtemperaturefromport*/19.sleep(1000);20./*sendtemperaturetowirelessmodule*/21.sleep(1000);22.}23.}如果我们需要cpu干的事情很少,甚至极端一点说只有一件事情,那么根本没有设计操作系统的必要。我们设计出操作系统,主要是想在单位时间内完成几

5、件事情。打个比方来说,你完全可以在工作的时候一遍写文档、一遍收发电子邮件,偶尔还能开个小差休息一会。所以操作系统就是为了共享资源而存在的。认识操作系统的用途不难,关键是如何把操作系统用代码写出来。也许有人会跟你说,免费的代码一大堆,Linux就不错,你下载下来直接读就好了。但是我告诉你,最新的Linux内核版本已经轻松的越过了3.0,整个代码的长度远在千万行之上,你可能从哪看起都不知道。可能此时又有人不同意了,看不懂高版本的linux,可以看看linux低版本的代码,0.11版本的代码就不错,因为赵炯就是怎么推荐的。我要说的

6、是,0.11的代码固然好,但是怎么编译版本、怎么修改代码、怎么构造文件系统、怎么跑起来是我们绕不过的一道难题。对于很多朋友来说,阅读linux代码尚且困难,更不要说后面还需要完成的一大摊子烂事了。说了这么多,我们需要的的内核代码是什么样的?其实在我看来,很简单。它只要满足下面两个条件就可以了,(1)像用户软件一样可以运行;本文由长春治疗白癜风医院http://www.hspfbyy.com/收集,转载请注明出处本文由长春治疗白癜风医院http://www.hspfbyy.com/收集,转载请注明出处(2)像用户软件一样可以单

7、步调试。要解决这些问题,对linux系统来说上不难解决。要解决os的运行和调试问题,关键就在于如何仿真中断和实现os的任务切换。至于任务的开启、运行和挂起,内存分配,互斥量,信号量,文件系统,tcp/ip协议栈,GUI操作,这些其实都是可以在linux上进行仿真和操作的,朋友们可以尽请放心。这部分的内容,我们会在以后的博客中陆续展开。为了能够更好地阅读后面发表的博文,我建议你巩固一下下面这些知识,这样会对你的理解有很大的裨益。(1)cpu结构,了解中断流程就行;(2)linux汇编语言;(3)函数堆栈格式和内容;(4)互斥量

8、、信号量的使用方法;(5)调度的基本策略;(6)内存分配的基本方法;(7)tcp/ipsocket编程;(8)gui编程方法,可以参考windows的方法;(9)系统中的内存布局、编译原理等等。本文由长春治疗白癜风医院http://www.hspfbyy.com/收集,转载请注明出处

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。