欢迎来到天天文库
浏览记录
ID:33694342
大小:385.47 KB
页数:5页
时间:2019-02-28
《基于vxworks的双缓冲队网络通信设计与实现new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、万方数据计算机工程与设计ComputerEngineeringandDesign2009.30(19)4361·嵌入式系统工程O基于VxWorks的双缓冲队列网络通信设计与实现唐晓平,何峰,粱甸农(国防科学技术大学电子科学与工程学院,湖南长沙410073)摘要:针对一个高速数据采集系统的实际需求,利用单任务循环的编程结构,给出了一种基于双缓冲队列的网络套接字通信的设计与实现方法。这种设计在VxWorks的先进先出调度和优先级调度之间做出了合理地折衷,使得VxWorks可以避开由于任务的频繁调度所带来的开销,同时又可以使系统对
2、硬件中断和硬件轮询等紧急任务及时响应,满足了项目的实时性的需求。关键词:VxWorks操作系统;套接字;任务调度;缓冲队列;实时性中图法分类号:TP311.1l文献标识码:A文章编号:1000.7024(2009)19-4361.03DesignandimplementationofdoublebufferingqueuesfornetworkcommunicationbasedonVx肋rksTANGXiao-ping,HEFeng,LIANGDian-nong(SchoolofElectronicScienceandEn
3、gineering,NationalUniversityofDefenceTechnology,Changsha410073,China)Abstract:Adesignandimplementationmethodofthenetworksocketcommunicationisgiven,accordingtotheneedofahighspeeddataacquiringsystem.Tllismethodisbasedonthedoublebufferingqueues.usingtheprogrammingarch
4、itectureofcirculatingsinglet邪kmsdesignmakesareasonabletradeo行betweentheFIFOandpriority.basedschedulemethodsoftheVxWorks。ItCallavoidtheoverheadcausedbyfrequentlytaskscheduling.ButatthesametimeitCanmakeaintimeresponsetOtheurgenttask,suchashardwareinterruptandpolling,
5、ete.,SOthereal—timeperformancerequiredissatisfiedbytheproject.Keywords:VxWorksoperatingsystem;socket;taskscheduling;bufferingqueue;real—timeperformance0引言网络是VxWorks操作系统与其它系统联系的主要途径。VxWorks提供了强大的网络功能,它的网络模块完全兼容BSD4.4TCP/IP的网络协议栈和SUN公司的NFS,并且其实时性有了很大的提高。这种广泛的协议支持在主机和
6、VxWorks目标机之间提供了无缝的工作环境,任务可通过网络向其它系统的主机存取文件,即远程文件存取,也支持远程过程调用,还可以通过以太网,采用TCP/IP和UDP/IP协议在不同主机之间传送数据。我们在某一数据采集系统的项目中需要通过PC机与采集板之间建立起灵活快速的网络通信以传输数据和控制命令,本文结合项目的需求给出了一种基于双缓冲队列的网络通信的设计与实现方法。1VxWorks的网络协议接口简介VxWorks系统和网络协议的接口是靠套接字(socket)来实现的。socket规范是得到广泛应用的、开放的、支持多种协议的
7、网络编程接口川。它是VxWorks网络通信的基石,每一个正在被使用的socket都有它的类型和与其相关的任务。socket存在于通信域中,通信域是为了使线程通过socket通信而引进的一种抽象概念,各个任务在通信域中使用Intemet协议来进行通信。socket可以根据通信性质分类。应用程序一般仅在同一类的socket问通信,但只要底层的通信协议允许,不同类型的socket间也还是可以通信。目前用户可以使用两种socket,即流socket(采用TCP协议)和数据报socket(采用UDP协议)。流socket提供了双向的、
8、有序的、无重复并且无记录边界的数据流服务。数据报socket支持双向的数据流,但并不保证是可靠、有序、无重复的。数据报socket采用了与现在许多包交换网络(例如以太网)非常类似的模型。2基于双缓冲队列的网络通信设计2.1基于流socket的客户端,服务器网络编程模式由于面向连接的服务器使
此文档下载收益归作者所有