基于嵌入式linux系统的网络编程技术

基于嵌入式linux系统的网络编程技术

ID:25202169

大小:89.10 KB

页数:11页

时间:2018-11-18

基于嵌入式linux系统的网络编程技术_第1页
基于嵌入式linux系统的网络编程技术_第2页
基于嵌入式linux系统的网络编程技术_第3页
基于嵌入式linux系统的网络编程技术_第4页
基于嵌入式linux系统的网络编程技术_第5页
资源描述:

《基于嵌入式linux系统的网络编程技术》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、基于嵌入式Linux系统的网络编程技术1.嵌入式Linux系统简介1.1嵌入式系统嵌入式系统(Embedded system)也称嵌入式计算机系统。顾名思义,嵌入式系统是计算机的一种特殊形式。嵌入式系统是以应用为中心、计算机技术为基础,软、硬件可剪裁,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。上述定义较好地描述了嵌入式系统各方面的特征,不同的应用对计算机的有不同的需求,嵌入式计算机在满足应用对功能和性能需求的前提下,还要适应应用对计算机的可靠性、机械结构、功耗、环境适应性等方面的要求,在一般情况下,还

2、要尽量降低系统的成本。简单地说,嵌入式系统是为具体应用定制的专用计算机系统,定制过程既体现在软件方面,也体现在硬件方面。硬件上,针对应用,选择适当的芯片、体系结构,设计满足应用需求的接口、设计方便安装的机械结构;软件上则明确是否需要操作系统、配置适当的系统软件环境、编写专门的应用软件。1.2嵌入式Linux系统嵌入式Linux系统就是利用Linux其自身的许多特点,把它应用到嵌入式系统里。Linux做嵌入式的优势,首先,Linux是开放源代码的,不存在黑箱技术,遍布全球的众多Linux爱好者又是Linux开发者的强大技术支持;其

3、次,Linux的内核小、效率高,内核的更新速度很快;第三,Linux是免费的OS,在价格上极具竞争力。Linux还有着嵌入式操作系统所需要的很多特色,突出的就是Linux适应于多种CPU和多种硬件平台,是一个跨平台的系统。到目前为止,它可以支持二三十种CPU。而且性能稳定,裁剪性很好,开发和使用都很容易。很多CPU包括家电业芯片,都开始做Linux的平台移植工作。移植的速度远远超过Java的开发环境。也就是说,如果今天用Linux环境开发产品,那么将来换CPU就不会遇到困扰。同时,Linux内核的结构在网络方面是非常完整的,Li

4、nux对网络中最常用的TCP/IP协议有最完备的支持。提供了包括十兆、百兆、千兆的以太网络,以及无线网络,Tokerring(令牌环网)、光纤甚至卫星的支持。所以Linux很适于做信息家电的开发。还有使用Linux为的是来开发无线连接产品的开发者越来越多。Linux在快速增长的无线连接应用主场中有一个非常重要的优势,就是有足够快的开发速度。这是因为Linux有很多工具,并且Linux为众多程序员所熟悉。因此,我们要在嵌入式系统中使用Linux操作系统。1.3Linux2.6内核嵌入式系统实时可靠性是嵌入式应用较为普遍的要求,尽管

5、Linux2.6并不是一个真正的实时操作系统,但其改进的特性能够满足响应需求。Linux2.6已经在内核主体中加入了提高中断性能和调度响应时间的改进,其中有三个最显著的改进:采用可抢占内核、更加有效的调度算法以及同步性的提高。在企业服务器以及嵌入式系统应用领域,Linux2.6都是一个巨大的进步。在嵌入式领域,Linux2.6除了提高其实时性能,系统的移植,同时添加了新的体系结构和处理器类型,包括对没有硬件控制内存管理方案的MMU-less系统的支持,可以支持大容量内存模型、微控制器,同时还改善了I/O子系统,增添更多的多媒体应

6、用功能。① 可抢占内核在先前的内核版本中不允许抢占以核心态运行的任务(包括通过系统调用进入内核模式的用户任务),只能等待它们自己主动释放CPU。这样必然导致一些重要任务延时以等待系统调用结束。一个内核任务可以被抢占,为的是让重要的用户应用程序可以继续运行。这样做最主要的优势是极大地增强系统的用户交互性。2.6内核并不是真正的RTOS(RealTimeOperationSystem),其在内核代码中插入了抢占点,允许调度程序中止当前进程而调用更高优先级的进程,通过对抢占点的测试避免不合理的系统调用延时。2.6内核在一定程度上是可抢

7、占的,比2.4内核具备更好的响应性。但也不是所有的内核代码段都可以被抢占,可以锁定内核代码的关键部分,确保CPU的数据结构和状态始终受到保护而不被抢占。软件需要满足最终时间限制与虚拟内存请求页面调度之间是相互矛盾的。慢速的页错误处理将会破坏系统的实时响应性,而2.6内核可以编译无虚拟内存系统避免这个问题,这是解决问题的关键,但要求软件设计者有足够的内存来保证任务的执行。② 有效的调度程序2.6版本的Linux内核使用了由IngoMolnar开发的新的调度器算法,称为O(1)算法。它在高负载情况下执行得极其出色,并且当有很多处理器

8、并行时也可以很好地扩展。过去的调度程序需要查找整个readytask队列,并且计算它们的重要性以决定下一步调用的task,需要的时间随task数量而改变。O(1)算法则不再每次扫描所有的任务,当task就绪时被放入一个活动队列中,调度程序每次从中调度适合的tas

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

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

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