- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于嵌入式Linux系统的网络编程技术
嵌入式Linux系统简介
1.1嵌入式系统
嵌入式系统(Embedded?system)也称嵌入式计算机系统。顾名思义,嵌入式系统是计算机的一种特殊形式。
嵌入式系统是以应用为中心、计算机技术为基础,软、硬件可剪裁,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。上述定义较好地描述了嵌入式系统各方面的特征,不同的应用对计算机的有不同的需求,嵌入式计算机在满足应用对功能和性能需求的前提下,还要适应应用对计算机的可靠性、机械结构、功耗、环境适应性等方面的要求,在一般情况下,还要尽量降低系统的成本。简单地说,嵌入式系统是为具体应用定制的专用计算机系统,定制过程既体现在软件方面,也体现在硬件方面。硬件上,针对应用,选择适当的芯片、体系结构,设计满足应用需求的接口、设计方便安装的机械结构;软件上则明确是否需要操作系统、配置适当的系统软件环境、编写专门的应用软件。
1.2嵌入式Linux系统
嵌入式Linux系统就是利用Linux其自身的许多特点,把它应用到嵌入式系统里。
Linux做嵌入式的优势,首先,Linux是开放源代码的,不存在黑箱技术,遍布全球的众多Linux爱好者又是Linux开发者的强大技术支持;其次,Linux的内核小、效率高,内核的更新速度很快;第三,Linux是免费的OS,在价格上极具竞争力。Linux还有着嵌入式操作系统所需要的很多特色,突出的就是Linux适应于多种CPU和多种硬件平台,是一个跨平台的系统。到目前为止,它可以支持二三十种CPU。而且性能稳定,裁剪性很好,开发和使用都很容易。很多CPU包括家电业芯片,都开始做Linux的平台移植工作。移植的速度远远超过Java的开发环境。也就是说,如果今天用Linux环境开发产品,那么将来换CPU就不会遇到困扰。同时,Linux内核的结构在网络方面是非常完整的,Linux对网络中最常用的TCP/IP协议有最完备的支持。提供了包括十兆、百兆、千兆的以太网络,以及无线网络,Toker ring(令牌环网)、光纤甚至卫星的支持。所以Linux很适于做信息家电的开发。
还有使用Linux为的是来开发无线连接产品的开发者越来越多。Linux在快速增长的无线连接应用主场中有一个非常重要的优势,就是有足够快的开发速度。这是因为Linux有很多工具,并且Linux为众多程序员所熟悉。因此,我们要在嵌入式系统中使用Linux操作系统。
1.3 Linux2.6内核嵌入式系统
实时可靠性是嵌入式应用较为普遍的要求,尽管Linux 2.6 并不是一个真正的实时操作系统,但其改进的特性能够满足响应需求。Linux 2.6 已经在内核主体中加入了提高中断性能和调度响应时间的改进,其中有三个最显著的改进:采用可抢占内核、更加有效的调度算法以及同步性的提高。在企业服务器以及嵌入式系统应用领域,Linux 2.6 都是一个巨大的进步。在嵌入式领域,Linux 2.6 除了提高其实时性能,系统的移植,同时添加了新的体系结构和处理器类型,包括对没有硬件控制内存管理方案的 MMU-less系统的支持,可以支持大容量内存模型、微控制器,同时还改善了I/O子系统,增添更多的多媒体应用功能。
可抢占内核
在先前的内核版本中不允许抢占以核心态运行的任务(包括通过系统调用进入内核模式的用户任务),只能等待它们自己主动释放CPU。这样必然导致一些重要任务延时以等待系统调用结束。
一个内核任务可以被抢占,为的是让重要的用户应用程序可以继续运行。这样做最主要的优势是极大地增强系统的用户交互性。
2.6内核并不是真正的RTOS(Real Time Operation System),其在内核代码中插入了抢占点,允许调度程序中止当前进程而调用更高优先级的进程,通过对抢占点的测试避免不合理的系统调用延时。2.6内核在一定程度上是可抢占的,比2.4内核具备更好的响应性。但也不是所有的内核代码段都可以被抢占,可以锁定内核代码的关键部分,确保CPU的数据结构和状态始终受到保护而不被抢占。
软件需要满足最终时间限制与虚拟内存请求页面调度之间是相互矛盾的。慢速的页错误处理将会破坏系统的实时响应性,而2.6内核可以编译无虚拟内存系统避免这个问题,这是解决问题的关键,但要求软件设计者有足够的内存来保证任务的执行。
有效的调度程序
2.6版本的 Linux内核使用了由 Ingo Molnar开发的新的调度器算法,称为O(1)算法。它在高负载情况下执行得极其出色,并且当有很多处理器并行时也可以很好地扩展。过去的调度程序需要查找整个ready task队列,并且计算它们的重要性以决定下一步调用的task,需要的时间随task数量而改变。O(1)算法则不再每次扫描所有的任务,当task就
您可能关注的文档
最近下载
- DBJT 08-120-2015雨水口标准图2015沪S203.docx VIP
- 神经介入产品培训.ppt VIP
- 重庆市綦江区郭扶镇社区工作者招聘考试试题汇总2024.docx VIP
- ECharts数据可视化课件 第1章 初识ECharts.pptx VIP
- 重庆市綦江区安稳镇社区工作者招聘考试试题汇总2024.docx VIP
- 突发事故处理流程.pdf VIP
- 电工安全生产协议书(完整版).docx VIP
- 固定翼无人机技术完整全套教学课件.pdf
- 1.35KV预制舱变电站项目(整套35KV预制舱,变压器,开关柜,火灾报警)技术规范书.doc VIP
- DB36_T 811-2020 井冈蜜柚 生产技术规程.pdf VIP
文档评论(0)