Changes between Version 9 and Version 10 of file_system
- Timestamp:
- Jun 7, 2015, 2:02:43 PM (10 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
file_system
v9 v10 20 20 21 21 This implementation defines four data structures: 22 * The '''File-Cache''' and '''Fat-Cache''' are dynamically allocated memory caches, implemented in the distributed kernel heap. 23 There is actually one independent cache per file (called File_Cache), and one cache for the FAT itself (called Fat_Cache'''). The cache size is not fixed: it is dynamically increased from the kernel heap as required by the read / write access to the files or to the FAT itself. The memory allocated to a given cache_file is only released when the file is closed by all tasks using it. 22 * The '''File-Cache''' and '''Fat-Cache''' are dynamically allocated memory caches, implemented in the distributed kernel heap. There is actually one independent cache per file (called File_Cache), and one cache for the FAT itself (called Fat_Cache). The cache size is not fixed: it is dynamically increased from the kernel heap as required by the read / write access to the files or to the FAT itself. The memory allocated to a given cache_file is only released when the file is closed by all tasks using it. 24 23 25 24 * The '''Inode-Tree''' is an internal representation of the FAT. It is a sub-tree of the File System tree. Each node define a file or a directory, and contains a pointer on the associated File-Cache. This Inode-Tree is dynamically increased (from the distributed kernel heap) when a new file or a directory is accessed. The memory allocated to the Inode-Tree is only released in case of system crash. … … 28 27 29 28 * The global Fat_Descriptor contains general information such as the FAT region lba and size, the DATA region lba and size, pointers on the Fat-Cache or Inode-Tree, the File-Descriptor-Array, and the locks protecting the FAT shared structures. It 30 contains also a single block buffer (512bytes) used in the initialization phase.29 contains also a single cluster buffer (4096 bytes) used in the initialization phase. 31 30 32 31 To support various block device peripheral, this FAT32 implementation defines a generic function to transparently access various physical block devices, using the driver specified in the ''hard_config.h'' file. Five drivers are presently supported ( IOC_BDV / IOC_HBA / IOC_SDC / IOC_SPI / IOC_RDK ).