前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Utility之文件系统一览

Utility之文件系统一览

作者头像
Taishan3721
发布2019-07-19 10:21:40
1.1K0
发布2019-07-19 10:21:40
举报
文章被收录于专栏:这里只有VxWorks这里只有VxWorks

VxWorks提供了多种文件系统,今天先了解一下都有啥,等到用的时候,再详细分析

  • VRFS
  • DosFS
  • HRFS
  • TRFS
  • RawFS
  • cdromFS
  • RomFS
  • TSFS
  • TrueFFS
  • NFS

VRFS

组件INCLUDE_VRFS,virtual root file system。这是一个虚拟的文件系统,仅是提供了一个POSIX风格的虚拟根目录"/"。在这个目录里,可以看到其它以"/"开始,且只包含一个"/"的设备

DosFS

组件INCLUDE_DOSFS,MS-DOS-compatible file system

文件名最长255个字符,不过路径名最长1024个字符,而Windows默认的最长路径应该只有260个字符

DosFS支持多种本地存储设备,例如硬盘、软盘、优盘等。系统启动时,自动调用xxxDevCreate()来创建XBD(extended block device)设备。然后用户可以使用xbdCreatePartition()分区,并使用dosfsDiskFormat()格式化

例如我当前的配置是:在VxWorks 6.9里包含Intel Serial/Parallel ATA驱动INCLUDE_DRV_STORAGE_PIIX,并在X86的Target里添加一个新的IDE硬盘

系统启动后,可以看到多了一个设备

使用xbdCreatePartition()进行分区

例如分为两个分区,各占50%

使用dosfsDiskFormat()将分区格式化为dosFS

使用dosFsShow()可以看到DosFS的卷配置

HRFS

组件INCLUDE_HRFS,Highly Reliable File System,针对实时系统而设计的一种事务性文件系统,具有容错能力,并兼容POSIX

使用方式类似于DosFS,先用xbdCreatePartition()进行分区,然后使用hrfsDiskFormat()格式化

使用hrfsChkDsk()可以看到文件系统的基本信息

TRFS

组件INCLUDE_XBD_TRANS,transaction-based reliable file system。为DosFS提供一个容错的IO层

创建流程: 先在XBD设备上创建TRFS,然后再创建DosFS

在TRFS上进行的文件操作,必须提交后,才能永久生效。而事务的提交是以整个分区为单位的,并不是提交某个文件。因此,提交时,整个分区的状态需要一致,不能有正在进行中的文件操作。有两个函数可以用于提交

注意:尽管usrTransCommitFd()的参数是TRFS上某个文件的fd,但提交的是整个分区的文件系统

TRFS的操作示例如下

RawFS

组件INCLUDE_RAWFS,raw file system,将整个分区当作一个文件来处理。新创建的XBD设备,默认就挂载RawFS,也不需要格式化。通过基本IO函数来操作即可

cdromFS

组件INCLUDE_CDROMFS,ISO 9660 standard file system,支持CD-ROMs, CD-Rs, CD-RWs

例如有张CD,可以在Windows里打开

把它放到VxWorks的Target后,VxWorks启动时自动加载cdromFS,然后可以使用open()、close()、read()、ioctl()、readdir()、stat()等函数来访问它。使用cdromFsVolConfigShow()可以查看cdrom的卷配置

RomFS

组件INCLUDE_ROMFS,Read-Only Memory File System,将任意文件存放到操作系统中,不需要本地存储设备或网络设备

使用流程是: 在Workbench中新建ROMFS File System Project

创建时选择Add reference to VIP project

或者创建之后,在工程上右击选择Add as Project Reference

在工程的Contents里可以添加文件、文件夹

然后直接build VIP,重启Target,就可以看到VxWorks里多出来的设备/romfs,里面就包含之前添加的文件

TSFS

组件INCLUDE_WDB_TSFS,Target Server File System,是的WDB的成员之一,在Target端创建一个叫做/tgtsvr的文件系统,但实际上操作的是Host端的文件

在Target Connection的属性中配置Target Server File System的Root路径,默认值是当前的workspace

启动VxWorks,连接Target Connection后,就可以在VxWorks中通过/tgtsvr访问Host的文件了。这个例子里,访问的是Host端Windows的C:/目录

TrueFFS

组件INCLUDE_TFFS,Flash File System。通过TrueFFS,可以使用DosFS或HRFS来访问Flash设备

NFS

Network File System,详见《Component之NFS》

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-07-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 这里只有VxWorks 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档