📄 csdn技术中心 vxworks编程指导-3.txt
字号:
CSDN技术中心 VxWorks编程指导-3
首 页 | 新 闻 | 技术中心 | 第二书店 | 《程序员》 | 《开发高手》 | 社 区 | 黄 页 | 人 才
移 动∣专 题∣SUN∣IBM∣微 软∣微 创∣精 华∣Donews∣人 邮
我的技术中心
我的分类我的文档
全部文章发表文章
专栏管理使用说明
RSS 订阅
最新文档列表
Windows/.NET
.NET (rss)
Visual C++ (rss)
Delphi (rss)
Visual Basic (rss)
ASP (rss)
JavaScript (rss)
Java/Linux
Java (rss)
Perl (rss)
综合
其他开发语言 (rss)
文件格式 (rss)
企业开发
游戏开发 (rss)
网站制作技术 (rss)
数据库
数据库开发 (rss)
软件工程
其他 (rss)
积极原创作者
delva (19)
gxh973121 (51)
legendinfo (160)
qihboy (15)
WalkingWithJava (25)
subnet (5)
jNode (15)
freasy (5)
firetoucher (11)
goodhy (1)
CSDN - 文档中心 - 其他开发语言 阅读:3613 评论: 4 参与评论
标题 VxWorks编程指导-3 选择自 wenyong 的 Blog
关键字 VxWorks编程指导
出处 Tornado联机帮助文档
1.1. POSIX接口
POSIX(可移植操作系统接口)是ISO/IEEE下的软件团体代表开发的标准。该标准的目的是实现多操作系统应用的源代码级移植。现下为实时操作系统提供的服务定义了一套接口(POSIX标准1003.1b,以前称作1003.4)。利用这些接口编程就会使应用从一个操作系统轻松的移植到另外一个操作系统上。
POSIX接口包括:
m 异步I/O
m 信号量
m 消息对列
m 内存管理
m 信号
m 调度
m 时钟
1.2. I/O系统
VxWorks的I/O系统对多种输入输出设备提供统一的存取机制。既可以调用基本的I/O函数:creat(),remove(),open(),close(
),read(),write(),和ioctl();也可以调用高层I/O函数,譬如printf(),scanf()。
VxWorks也提供了缓冲输入输出函数包(stdio),包含ANSI-C兼容函数,譬如fopen(),fclose(),fread(),fwrite(),getc()和putc()。在许多情况下,这些函数提高了输入输出的性能。
VxWorks的I/O系统也包含了POSIX兼容的异步输入输出:输入输出和任务的其它动作同时进行的函数库。
VxWorks包含下面设备的驱动程序:串行通信,磁盘,RAM磁盘,SCSI磁带,用于任务间通信的管道设备,以及网络设备。如果有必要的话,应用开发者还可以轻松的编写其它设备的驱动程序,加入VxWorks中。
VxWorks的I/O系统允许驱动程序完全控制如何执行用户请求的服务。驱动程序可以方便的实现不同的协议,唯一的设备特定的函数,甚至不同的文件系统,与输入输出系统毫无干涉。VxWorks提供了一些高层包可以让驱动程序方便的实现公共的设备协议和文件系统。
1.3. 本地文件系统
VxWorks包含几个本地文件系统来使用块设备(磁盘)。这些设备使用标准的接口以至可以方便的挂接在文件系统上。本地文件系统包含了SCSI磁带文件系统和CD-ROM文件系统。VxWorks的输入输出架构使得VxWorks系统可以同时具有多个不同的文件系统。
1.3.1. MS-DOS兼容文件系统
VxWorks提供dosFs文件系统,兼容MS-DOS文件系统。DosFs为了适应实时应用的各种需求提供了相当的弹性。主要特性如下:
m 树状的文件目录结构,允许在一卷上创建任意多个文件。
m 可以指定文件的连续存储,连续存储的文件可以提高性能,而非连续存储的文件可以充分利用磁盘空间。
m
与现在广泛使用的存取媒介兼容,在dosFs文件系统下创建的磁盘可以与用MS-DOS个人计算机创建的磁盘交互使用。MS-DOS下的硬盘可以被正确配置的dosFs文件系统识别。
m 文件名区分大小写,并且文件名的长度不受限制(MS-DOS文件系统下文件名长度约定为8字符+文件扩展名)。
dosFs为面向文件的设备驱动程序提供的服务在dosFsLib里实现。
1.3.2. RT-11兼容文件系统rt11Fs
rt11Fs文件系统兼容于RT-11操作系统。该文件系统一直被实时应用使用,因为该文件系统下的所有文件都是连续存储的。但是它缺少树状文件组织结构,树状文件组织结构对大容量磁盘是特别有用的。同时,呆板的连续存储空间分配会导致大量的磁盘碎片。所以,dosFs要优于rt11Fs。
VxWorks实现的rt11Fs文件系统可以对所有文件利用字节寻址进行随机存取。每一个打开的文件都有一块缓冲内存来优化对文件的读写。
rt11Fs为面向文件的设备驱动程序提供的服务在rt11FsLib里实现。
1.3.3. 裸碟文件系统
VxWorks提供简单的裸碟文件系统rawFs。rawFs将整个磁盘当作一个大文件。通过指定字节偏移rawFs可以读写磁盘的某一部分,并且做简单的缓冲。当仅需要简单,低级的磁盘输入输出操作时,rawFs有空间和速度的优势。
rawFs为面向文件的设备驱动程序提供的服务在rawFsLib里实现。
1.3.4. SCSC顺序文件系统:tapFs
VxWorks为不使用标准文件和目录结构的磁带设备提供tapFs文件系统。磁带象裸碟一样被看成是一个大文件。上层负责组织这个大文件里的数据。
tapFs为面向文件的设备驱动程序提供的服务在tapFsLib里实现。
1.3.5. CDROM文件系统
VxWorks为了让应用读写按照ISO9660文件系统标准格式化的CDROM设备提供了cdRomFs。初始化cdRomFs文件系统后,挂接cdRomFs到一个CDROM设备,就可以用POSIX标准的I/O调用来读CDROM。
1.3.6. 可替换的文件系统
在VxWorks下,文件系统不紧系于特定的设备或设备驱动。设备可以挂接到任意文件系统。你可以按照介于文件系统,驱动程序,VxWorks的输入输出系统之间的接口标准提供你自己的文件系统来使用标准设备。
1.4. 虚拟内存
VxWorks对有内存管理单元的板提供虚拟内存支持。绑定的虚拟内存支持能够使部分内存不缓冲,这在多处理器之间共享内存或使用DMA传输是非常有用的。
非绑定的虚拟内存支持是可选组件VxVMI提供的。VxVMI可以让应用创建文本段和可读的异常向量表,并且包含一套函数让用户来管理自己的虚拟内存场景。
1.5. 共享内存对象
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -