Changes between Version 30 and Version 31 of Developer/FileSystems
- Timestamp:
- 11/22/14 05:33:29 (9 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Developer/FileSystems
v30 v31 10 10 Embedded applications benefits of using files are: 11 11 12 #Standardized means of accessing and controlling files.13 #Portable applications.14 #Support for 3rd party type applications, eg web servers.15 #Simplified remote access to networked data.12 1. Standardized means of accessing and controlling files. 13 1. Portable applications. 14 1. Support for 3rd party type applications, eg web servers. 15 1. Simplified remote access to networked data. 16 16 17 17 The downside is a larger embedded foot print for code and data, and file system accesses are typically not real-time. … … 23 23 RTEMS supports the following file systems: 24 24 25 #IMFS or In Memory File System26 #MiniIMFS Minimal In Memory File System27 #JFFS2 or Journalling Flash File System, Version 228 #TFTP or Trivial File Transfer Protocol File System29 #FTP or File Transfer Protocol File System30 #NFS or Network File System31 #FAT or MSDOS File System using the Block Device API.25 1. IMFS or In Memory File System 26 1. MiniIMFS Minimal In Memory File System 27 1. JFFS2 or Journalling Flash File System, Version 2 28 1. TFTP or Trivial File Transfer Protocol File System 29 1. FTP or File Transfer Protocol File System 30 1. NFS or Network File System 31 1. FAT or MSDOS File System using the Block Device API. 32 32 33 33 The root file system is always the IMFS file system. It provides a small footprint means to allow device driver nodes to be located in the file system, and to mount other file systems. There is also the MiniIMFS which is smaller in size with less features. … … 35 35 RTEMS provides a block device API. Built onto the block device API is a cache. The MSDOS file system uses the cache and therefore the Block Device API. The block devices supported are: 36 36 37 #ATA disks supporting IDE disk drives as well as Compact Flash disks configured in IDE mode38 #RAM disk39 #Non-volatile disk40 #Flash disk37 1. ATA disks supporting IDE disk drives as well as Compact Flash disks configured in IDE mode 38 1. RAM disk 39 1. Non-volatile disk 40 1. Flash disk 41 41 42 42 The specific file system sections provide details of using that file system in RTEMS. The {{{fileio</code> sample application in the {{{testsuite/samples</code> source code of RTEMS provides a good example of the various configurations needed for the various file systems. The {{{fileio</code> example make use of the RTEMS Shell commands. The shell provides a range of commands that can be used to mount, format, copy and delete files on a file system. … … 52 52 53 53 54 <i>Add details</i> 54 ''Add details'' 55 55 = RFS File System = 56 56 … … 86 86 The Block Devices interface provides file systems a standard way to access block devices. The block device library consists of the block device API, a cache, and the block driver API. 87 87 88 <blockquote> 89 {| border="1" cellpadding="5" cellspacing="0" 90 |- 91 ! style="background:#efefef;" | File System 92 |- 93 ! align="center" | Block Device Cache 94 |- 95 ! align="center" | Block Devices 96 |- 97 ! align="center" | Block Device Drivers 98 |} 99 </blockquote> 88 89 ||= File System =|| 90 || Block Device Cache || 91 || Block Devices || 92 || Block Device Drivers || 93 100 94 101 95 The block devices supported are: 102 96 103 #ATA Disk Drives104 #RAM Disk105 #Non-volatile Disk106 #Flash Disk107 #SPI SD Card97 1. ATA Disk Drives 98 1. RAM Disk 99 1. Non-volatile Disk 100 1. Flash Disk 101 1. SPI SD Card 108 102 109 103 Block devices are normally accessed from the block device cache and not directly. The Block Device drivers are specific to the type of hardware used to access the disk media. … … 137 131 The block device cache is a central cache for all block devices. The cache reads blocks into memory and holds them until the space is needed by another block. Modified blocks are held in memory for a period of time before being flushed to disk. The cache configuration data is: 138 132 139 #Number of different size pools140 #Number of blocks in a pool141 #Number of read-ahead blocks read142 #Number of blocks written when writing143 #Swap Out task priority144 #Hold time of a buffer133 1. Number of different size pools 134 1. Number of blocks in a pool 135 1. Number of read-ahead blocks read 136 1. Number of blocks written when writing 137 1. Swap Out task priority 138 1. Hold time of a buffer 145 139 146 140 A read of a block will attempt to read the read-ahead number of blocks if the cache has the space. This lowers the number of driver transactions when reading a file and allows multi-sector read drivers to take advantage of the extra performance. The cache will not use other blocks in the cache for a speculative read another block.