Home |
The ISO 9660 File System Structure API Differences Between FAT and ISO 9660 The exFAT File System Structure |
The ISO 9660 File System StructureRTFiles-32 optionally supports the ISO 9660 file system used on CD-ROMs and DVDs. Applications requiring CD-ROM support must allocate buffers with at least 2048 bytes and add a device list entry for a hard disk on an IDE or USB interface. The ISO 9660 file system used for CD-ROMs and DVDs is much simpler than FAT, mainly because it does not have to manage free space and fragmented files. An ISO 9660 file system is created once and then never modified. All files are contiguous and there is no FAT or similar data structure. The ISO 9660 file system was first defined in the late 1980s. Unfortunately, the standard contains a few rather severe restrictions for the directory structure. For example, file names are limited to 31 upper case characters (ASCII letters, digits and underscore) and the maximum directory nesting level is limited to 8. A recommendation imposed even tighter limits to accommodate for MS-DOS (i.e. file names limited to 8.3 characters). Many operating systems and CD writers started to ignore some of these restrictions (which are not imposed by limitations of the ISO 9660 data structures). The resulting industry standard is often referred to as ISO 9660 Relaxed. It allows upper and lower case characters in file names, any directory nesting level depth and up to 255 characters per file name. To also support non-ASCII characters, Microsoft defined the Joliet extension in 1995. In addition to ISO 9660 Relaxed, it stores file names on disk as Unicode. RTFiles-32 supports all three of these ISO 9660 variants. An ISO 9660 file system consists of a series of Volume Descriptors, directories, and a file data area. Sectors have 2048 bytes, and since sector addresses are stored as 32-bit values, an ISO 9660 volume can theoretically span 8 Terabytes. Several Volume Descriptors may exist to allow a single CD to implement different ISO 9660 flavors or an additional UDF directory tree. Among other things, the Volume Descriptor contains the disk's volume label, the character set used, and a pointer to the root directory. If RTFiles-32 finds several volume descriptors, it prefers a descriptor which supports upper and lower case and Unicode characters in file names. API Differences Between FAT and ISO 9660 The exFAT File System Structure
|