vxworks OS

VxWorks是美国Wind River System公司(风河公司)推出的一个运行在目标机上的高性能、可裁减的嵌入式实时操作系统。VxWorks操作系统包括以下五大部分:任务管理、内存管理、设备管理、文件系统管理和网络协议栈,如下图。vxworks网络协议栈是五大组成部分之一,属于操作系统中离CPU最远的一部分。

image/vxworks_tcp_ip/vxworks_os.png

vxworks网络协议栈

VxWorks中的网络协议栈叫作SENS(Scalable Enhanced Network Stack),即可裁减增强性网络协议栈。SENS是基于BSD4.4 TCP/IP协议栈发展而来的,但是包含了许多BSD4.4 TCP/IP协议栈没有的协议,同时SENS在实现一些协议功能时候增加了许多新特性,比如在IP协议实现时增加了多播功能。

image/vxworks_tcp_ip/协议栈架构图.png

SENS的基本特征和传统的TCP/IP网络协议栈相似, SENS最大的特点在于数据链路层和网络协议层之间多了一个MUX层。在SENS中,网络接口的驱动程序是叫做END(Enhanced Network Driver),即增强型网络驱动程序,它处于数据链路层。IP,TCP以及UDP等其它协议合称为网络协议层。在数据链路层和网络协议层之间存在一个接口,这个接口在SENS中叫作MUX(Multiplexer)接口,也称为MUX层。

在网络协议层,VxWorks典型地使用TCP/IP协议族,在数据链路层典型地使用Ethernet,也支持其它数据传输的物理媒体,例如远距离连接使用的串行线路接入方式PPP等。但是,无论使用什么物理媒体,END都需要使用MUX层接口与网络协议层通信。