ISO 9660
Encyclopedia
ISO 9660, also referred to as CDFS (Compact Disc File System) by some hardware and software providers, is a file system
standard published by the International Organization for Standardization
(ISO) for optical disc
media.
It aims at supporting different computer operating system
s such as Windows
, classic Mac OS
, and Unix-like
systems, so that data may be exchanged.
ISO 9660 traces its roots to the High Sierra Format file system. High Sierra arranged file information in a dense, sequential layout to minimize nonsequential access by using a hierarchical (eight levels of directories deep) tree file system arrangement, similar to UNIX and FAT
. To facilitate cross platform compatibility, it defined a minimal set of common file attributes (directory or ordinary file and time of recording) and name attributes (name, extension, and version), and used a separate system use area where future optional extensions for each file may be specified.
High Sierra was adopted in December 1986 (with changes) as an international standard by Ecma International
as ECMA-119 and submitted for fast tracking to the ISO
, where it was eventually accepted as ISO 9660:1988. The ISO 9660 file system format is now used throughout the industry.
format is called a frame, and holds 24 bytes. Data in a CD-ROM is organized in frames and sectors
. A CD-ROM sector contains 98 frames, and holds 2352 bytes.
CD-ROM Mode 1
, usually used for computer data, divides the 2352 byte data area defined by the Red Book standards into 12 bytes of synchronization information, 4 bytes of header data, 2048 bytes of user data and 288 bytes of error correction and detection codes. These codes help prevent the data from becoming corrupted after readout. Executable data is particularly error intolerant and read errors would lead to arbitrary results.
CD-ROM Mode 2 Form 1
, usually used for computer data, has the same user data and error correction as Mode 1, but with a slightly different layout. Its use is not recommended for compatibility reasons.
CD-ROM Mode 2 Form 2, intended to be used for error-tolerant data such as audio
and video
, divides the 2352 bytes into 12 bytes of synchronization information, 4 bytes of header data and 2336 bytes of user data. Mode 2 provides 14% more user data space than Mode 1 by omitting error correction, since a read error in audio or video will only cause a small flaw which may not even be detectable by humans. Video CD
s are classified as Mode 2 Form 2.
s to offer Mac OS
-specific content.
The data structure follows the skipped block with a series of volume descriptors, detailing the contents and types of information contained on the disk (similar to the BIOS parameter block
used by FAT
and NTFS
formatted disks).
A volume descriptor describes the characteristics of the file system information present on a given CD-ROM, or volume. It is divided into two parts: the type of volume descriptor, and the characteristics of the descriptor.
The volume descriptor is constructed in this manner so that if a program reading the disk does not understand a particular descriptor, it can just skip over it until it finds one it can read, thus allowing the use of many different types of information on one volume. Also, if an error were to render a descriptor unreadable, a subsequent redundant copy of a descriptor could then allow for fault recovery.
An ISO 9660 compliant disk contains at least a primary descriptor describing the ISO 9660 file system and a terminating descriptor for indicating the end of the descriptor sequence. Joliet
and UDF
are examples of file systems adding more descriptors to this sequence.
The primary volume descriptor acts much like the superblock of the Unix File System
, providing details on the ISO 9660 compliant portion of the disk. Contained within the primary volume descriptor is the root directory record describing the location of the contiguous root directory. (As in UNIX, directories appear as files for the operating system special use). Directory entries are successively stored within this region. Evaluation of the ISO 9660 filenames is begun at this location. The root directory is stored as an extent, or sequential series of sectors, that contains each of the directory entries appearing in the root. In addition, since ISO 9660 works by segmenting the CD-ROM into logical blocks, the size of these blocks is found in the primary volume descriptor as well.
The first field in a Volume Descriptor is the Volume Descriptor Type (type), which can have the following values:
The second field is called the Standard Identifier and is set to CD001 for a CD-ROM compliant to the ISO 9660 standard.
Another interesting field is the Volume Space Size which contains the amount of data available on the CD-ROM.
File attributes are very simple in ISO-9660. The most important file attribute is determining whether the file is a directory or an ordinary file. File attributes for the file described by the directory entry are stored in the directory entry and optionally, in the extended attribute record.
There are two ways to locate a file on an ISO 9660 file system. One way is to successively interpret the directory names and look through each directory file structure to find the file (much the way MS-DOS and UNIX work to find a file). The other way is through the use of a precompiled table of paths, where all the entries are enumerated in the successive contents of a file with the corresponding entries. Some systems do not have a mechanism for wandering through directories and they obtain a match by consulting the table.
While a large linear table seems a bit arcane, it can be of great value, as one can quickly search without wandering across the disk (thus reducing seek time).
All multi-byte values are stored twice, in little-endian and big-endian format, either one-after-another in what the specification calls "both-endian format", or in duplicated data structures such as the path table. It is therefore theoretically possible to author an ISO-9660 image which delivers different content on different architectures.
The standard also specifies the following name restrictions:
Some CD authoring applications allow the user to use almost any character. While, strictly speaking, this does not conform to the ISO 9660 standard, most operating systems which can read ISO 9660 file systems have no problem with out-of-spec names. However, the names could appear wrong to the user.
The Rock Ridge extension works around the 8 directory depth limit by folding paths. In practice however, few drivers and OSes care about the directory depth, so this rule is often ignored.
ISO Level 2 allows longer names, but since the total directory entry uses a single byte it is limited to 255 bytes. This puts upper limit on the filename of just over 200 characters depending on what directory extensions are used.
(more precisely, less than 4 GiB
). (Note: Some older operating systems may handle such values incorrectly (i.e., signed instead of unsigned), which would make it impossible to access files larger than 2 GB in size.)
Based on this, it is often assumed that a file on an ISO 9660 formatted disc cannot be larger than 232-1 in size, as the file's size is stored in an unsigned 32 bit value, for which 232-1 is the maximum.
It is, however, possible to circumvent this limitation by using the multi-extent (fragmentation) feature of ISO 9660 Level 3 and create ISO 9600 filesystems and single files up to 8 TB. With this, files larger than 4 GB can be split up into multiple extents (sequential series of sectors), each not exceeding the 4 GB limit.
For example, the free software such as InfraRecorder
and mkisofs as well as Roxio Toast
are able to create ISO 9660 filesystems that use multi-extent files to store files larger than 4 GB
on appropriate media such as recordable DVDs.
Empirical tests with a 4.2 GB fragmented file on a DVD media have shown that Microsoft Windows XP supports this, while Mac OS X (as of 10.4.8) does not handle this case properly. In the case of Mac OS X, the driver appears not to support file fragmentation at all (i.e. it only supports ISO 9660 Level 2 but not Level 3). Linux
supports multiple extents. FreeBSD
only shows and reads the last extent of a multi-extent file.
(for Windows) and also Pinnacle Instant CD/DVD does not check whether the problem occurs, and will produce an invalid ISO file or disk without warning. Also, isovfy cannot easily report this problem. This is the only place in the ISO format where a 16-bit number is used, causing such limitations.
Rewritable CD media (CD-RW
) provides multiple-session writing. This means that data can be written to disc and made accessible, then later more data can be added to the disc as long as there is unused space left on the disc. (Recordable CD (CD-R) is Write Once media, so they do not support erasing or overwriting data once written.)
The Multisession extension to ISO 9660 makes use of this feature, by defining a rule for operating systems as to how to read an ISO 9660 volume from a CD-R. Instead of looking for the volume descriptor at offset 32768 (block number 16 on a CD) from the start of the disc, it starts reading from the 16th block in the first track of the latest session. Block numbers form a contiguous sequence starting at the first session, and continuing over added sessions and their gaps.
Hence, if a CD mastering program wants to add a single file to a CD-R that has an ISO 9660 volume, it has to append a session containing at least an updated copy of the entire directory tree, plus the new file. The duplicated directory entries can still reference the data files in the previous session(s).
In a similar way, file data can be updated or even removed. Removal is, however, only virtual: the removed content does not appear any more in the directory shown to the user, but it is still physically present on the disc. It can therefore be recovered, and it takes up space (such that the CD will become full even though appearing to still have unused space).
s) are a common way to electronically transfer the contents of CD-ROMs. They often have the filename extension
supports the preservation of POSIX (Unix-style) permissions and longer ASCII
-coded names; Joliet
supports names stored in Unicode
, thus allowing almost any character to be used, even from non-Latin
scripts; El Torito
enables CDs to be bootable on PCs
; Apple ISO 9660 Extensions adds support for Mac-OS-specific file characteristics such as Resource fork
s, file backup date and more.
ISO 13490
is basically ISO 9660 with multisession support.
For operating systems which do not support any extensions, a name translation file TRANS.TBL
must be used. It should be located in each directory, including the root directory. This is now obsolete, since few such operating systems are in use today .
and Joliet
. Operating systems that do not support the extensions usually show the basic (non-extended) features of a plain ISO 9660 disc.
Operating systems that support ISO 9660 and its extensions include the following:
File system
A file system is a means to organize data expected to be retained after a program terminates by providing procedures to store, retrieve and update data, as well as manage the available space on the device which contain it. A file system organizes data in an efficient manner and is tuned to the...
standard published by the International Organization for Standardization
International Organization for Standardization
The International Organization for Standardization , widely known as ISO, is an international standard-setting body composed of representatives from various national standards organizations. Founded on February 23, 1947, the organization promulgates worldwide proprietary, industrial and commercial...
(ISO) for optical disc
CD-ROM
A CD-ROM is a pre-pressed compact disc that contains data accessible to, but not writable by, a computer for data storage and music playback. The 1985 “Yellow Book” standard developed by Sony and Philips adapted the format to hold any form of binary data....
media.
It aims at supporting different computer operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...
s such as Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
, classic Mac OS
Mac OS
Mac OS is a series of graphical user interface-based operating systems developed by Apple Inc. for their Macintosh line of computer systems. The Macintosh user experience is credited with popularizing the graphical user interface...
, and Unix-like
Unix-like
A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification....
systems, so that data may be exchanged.
ISO 9660 traces its roots to the High Sierra Format file system. High Sierra arranged file information in a dense, sequential layout to minimize nonsequential access by using a hierarchical (eight levels of directories deep) tree file system arrangement, similar to UNIX and FAT
File Allocation Table
File Allocation Table is a computer file system architecture now widely used on many computer systems and most memory cards, such as those used with digital cameras. FAT file systems are commonly found on floppy disks, flash memory cards, digital cameras, and many other portable devices because of...
. To facilitate cross platform compatibility, it defined a minimal set of common file attributes (directory or ordinary file and time of recording) and name attributes (name, extension, and version), and used a separate system use area where future optional extensions for each file may be specified.
High Sierra was adopted in December 1986 (with changes) as an international standard by Ecma International
Ecma International
Ecma International is an international, private non-profit standards organization for information and communication systems. It acquired its name in 1994, when the European Computer Manufacturers Association changed its name to reflect the organization's global reach and activities...
as ECMA-119 and submitted for fast tracking to the ISO
International Organization for Standardization
The International Organization for Standardization , widely known as ISO, is an international standard-setting body composed of representatives from various national standards organizations. Founded on February 23, 1947, the organization promulgates worldwide proprietary, industrial and commercial...
, where it was eventually accepted as ISO 9660:1988. The ISO 9660 file system format is now used throughout the industry.
Specifications
The smallest entity in the CDCompact Disc
The Compact Disc is an optical disc used to store digital data. It was originally developed to store and playback sound recordings exclusively, but later expanded to encompass data storage , write-once audio and data storage , rewritable media , Video Compact Discs , Super Video Compact Discs ,...
format is called a frame, and holds 24 bytes. Data in a CD-ROM is organized in frames and sectors
Disk sector
In computer disk storage, a sector is a subdivision of a track on a magnetic disk or optical disc. Each sector stores a fixed amount of user data. Traditional formatting of these storage media provides space for 512 bytes or 2048 bytes of user-accessible data per sector...
. A CD-ROM sector contains 98 frames, and holds 2352 bytes.
CD-ROM Mode 1
Yellow Book (CD standard)
The Yellow Book is the standard that defines the format of CD-ROMs. The Yellow Book, created by Sony and Philips, was the first extension of the Red Book. It is named after one of a set of color-bound books that contain the technical specifications for all CD and CD-ROM formats.-External links:The...
, usually used for computer data, divides the 2352 byte data area defined by the Red Book standards into 12 bytes of synchronization information, 4 bytes of header data, 2048 bytes of user data and 288 bytes of error correction and detection codes. These codes help prevent the data from becoming corrupted after readout. Executable data is particularly error intolerant and read errors would lead to arbitrary results.
CD-ROM Mode 2 Form 1
Yellow Book (CD standard)
The Yellow Book is the standard that defines the format of CD-ROMs. The Yellow Book, created by Sony and Philips, was the first extension of the Red Book. It is named after one of a set of color-bound books that contain the technical specifications for all CD and CD-ROM formats.-External links:The...
, usually used for computer data, has the same user data and error correction as Mode 1, but with a slightly different layout. Its use is not recommended for compatibility reasons.
CD-ROM Mode 2 Form 2, intended to be used for error-tolerant data such as audio
Sound
Sound is a mechanical wave that is an oscillation of pressure transmitted through a solid, liquid, or gas, composed of frequencies within the range of hearing and of a level sufficiently strong to be heard, or the sensation stimulated in organs of hearing by such vibrations.-Propagation of...
and video
Video
Video is the technology of electronically capturing, recording, processing, storing, transmitting, and reconstructing a sequence of still images representing scenes in motion.- History :...
, divides the 2352 bytes into 12 bytes of synchronization information, 4 bytes of header data and 2336 bytes of user data. Mode 2 provides 14% more user data space than Mode 1 by omitting error correction, since a read error in audio or video will only cause a small flaw which may not even be detectable by humans. Video CD
Video CD
Before the advent of DVD and Blu-ray, the Video CD became the first format for distributing films on standard 120 mm optical discs. The format is a standard digital format for storing video on a Compact Disc...
s are classified as Mode 2 Form 2.
ISO 9660 Specifications
The first 32768 bytes of the disk are unused by ISO 9660 data structure, and therefore available for other use. For example, a CD-ROM may contain an alternative file system descriptor in this area, as it is often used by Hybrid CDHybrid CD
A Hybrid disc is a CD-ROM with additional types of data stored on it.It may contain:* Multiple file systems such as for both Microsoft Windows and Apple Macintosh based operating systems.* Additional security measures* Audio CD with added data tracks...
s to offer Mac OS
Mac OS
Mac OS is a series of graphical user interface-based operating systems developed by Apple Inc. for their Macintosh line of computer systems. The Macintosh user experience is credited with popularizing the graphical user interface...
-specific content.
The data structure follows the skipped block with a series of volume descriptors, detailing the contents and types of information contained on the disk (similar to the BIOS parameter block
BIOS parameter block
In computing, the BIOS parameter block, often shortened to BPB, is a data structure in the Volume Boot Record describing the physical layout of a data storage volume. On partitioned devices, such as hard disks, the BPB describes the volume partition, whereas, on unpartitioned devices, such as...
used by FAT
File Allocation Table
File Allocation Table is a computer file system architecture now widely used on many computer systems and most memory cards, such as those used with digital cameras. FAT file systems are commonly found on floppy disks, flash memory cards, digital cameras, and many other portable devices because of...
and NTFS
NTFS
NTFS is the standard file system of Windows NT, including its later versions Windows 2000, Windows XP, Windows Server 2003, Windows Server 2008, Windows Vista, and Windows 7....
formatted disks).
A volume descriptor describes the characteristics of the file system information present on a given CD-ROM, or volume. It is divided into two parts: the type of volume descriptor, and the characteristics of the descriptor.
The volume descriptor is constructed in this manner so that if a program reading the disk does not understand a particular descriptor, it can just skip over it until it finds one it can read, thus allowing the use of many different types of information on one volume. Also, if an error were to render a descriptor unreadable, a subsequent redundant copy of a descriptor could then allow for fault recovery.
An ISO 9660 compliant disk contains at least a primary descriptor describing the ISO 9660 file system and a terminating descriptor for indicating the end of the descriptor sequence. Joliet
Joliet (file system)
Joliet is the name of an extension to the ISO 9660 file system. It has been specified and endorsed by Microsoft and has been supported by all versions of its Windows OS since Windows 95 and Windows NT...
and UDF
Universal Disk Format
Universal Disk Format is an implementation of the specification known as ISO/IEC 13346 and ECMA-167 and is an open vendor-neutral file system for computer data storage for a broad range of media. In practice, it has been most widely used for DVDs and newer optical disc formats, supplanting ISO 9660...
are examples of file systems adding more descriptors to this sequence.
The primary volume descriptor acts much like the superblock of the Unix File System
Unix File System
The Unix file system is a file system used by many Unix and Unix-like operating systems. It is also called the Berkeley Fast File System, the BSD Fast File System or FFS...
, providing details on the ISO 9660 compliant portion of the disk. Contained within the primary volume descriptor is the root directory record describing the location of the contiguous root directory. (As in UNIX, directories appear as files for the operating system special use). Directory entries are successively stored within this region. Evaluation of the ISO 9660 filenames is begun at this location. The root directory is stored as an extent, or sequential series of sectors, that contains each of the directory entries appearing in the root. In addition, since ISO 9660 works by segmenting the CD-ROM into logical blocks, the size of these blocks is found in the primary volume descriptor as well.
The first field in a Volume Descriptor is the Volume Descriptor Type (type), which can have the following values:
- Number 0: shall mean that the Volume Descriptor is a Boot Record Volume Descriptor
- Number 1: shall mean that the Volume Descriptor is a Primary Volume Descriptor
- Number 2: shall mean that the Volume Descriptor is a Supplementary Volume Descriptor
- Number 3: shall mean that the Volume Descriptor is a Volume Partition Descriptor
- Number 255: shall mean that the Volume Descriptor is a Volume Descriptor Set Terminator.
The second field is called the Standard Identifier and is set to CD001 for a CD-ROM compliant to the ISO 9660 standard.
Another interesting field is the Volume Space Size which contains the amount of data available on the CD-ROM.
File attributes are very simple in ISO-9660. The most important file attribute is determining whether the file is a directory or an ordinary file. File attributes for the file described by the directory entry are stored in the directory entry and optionally, in the extended attribute record.
There are two ways to locate a file on an ISO 9660 file system. One way is to successively interpret the directory names and look through each directory file structure to find the file (much the way MS-DOS and UNIX work to find a file). The other way is through the use of a precompiled table of paths, where all the entries are enumerated in the successive contents of a file with the corresponding entries. Some systems do not have a mechanism for wandering through directories and they obtain a match by consulting the table.
While a large linear table seems a bit arcane, it can be of great value, as one can quickly search without wandering across the disk (thus reducing seek time).
All multi-byte values are stored twice, in little-endian and big-endian format, either one-after-another in what the specification calls "both-endian format", or in duplicated data structures such as the path table. It is therefore theoretically possible to author an ISO-9660 image which delivers different content on different architectures.
File and directory name restrictions
The standard has three different levels for interchange, here paraphrased from section 10:- Level 1: File names are limited to eight characters with a three-character extension, using upper case letters, numbers and underscore only. The maximum depth of directories is eight.
- Level 2: File names are not limited to 11 characters (the 8.3 format) but can be up to the maximum allowed by the 1 byte counter in the directory entry and the filename length byte counter. Typically, this is close to 180 characters, depending on how many extended attributes are present.
- Level 3: Files are allowed to be non-contiguous (i.e., fragmentedFragmentation (computer)In computer storage, fragmentation is a phenomenon in which storage space is used inefficiently, reducing storage capacity and in most cases reducing the performance. The term is also used to denote the wasted space itself....
), principally to allow packet writingPacket writingPacket writing or IPW , is an optical disc recording technology used to allow write-once and rewritable CD and DVD media to be used in a similar manner to a floppy disk from within the operating system, i.e., it allows users to create, modify, and delete files and directories on demand without the...
or incremental CD recording.
The standard also specifies the following name restrictions:
- All levels restrict filenames to upper case letters, digits, underscores ("_"), and a dot. Linux by default converts uppercase letters to lower case while mounting ISO filesystems.
- File names shall not include spaces.
- File names shall not start or end with the dot character.
- File names shall not have more than one dot.
- Directory names shall not use dots at all.
Some CD authoring applications allow the user to use almost any character. While, strictly speaking, this does not conform to the ISO 9660 standard, most operating systems which can read ISO 9660 file systems have no problem with out-of-spec names. However, the names could appear wrong to the user.
Directory depth limit
The restrictions on filename length (8 characters plus 3 character extension for level 1) and directory depth (8 levels, including the root directory) are a more serious limitation of the ISO 9660 file system. Many CD authoring applications attempt to get around the filename length by truncating filenames automatically, but do so at the risk of breaking applications that rely on a specific file structure.The Rock Ridge extension works around the 8 directory depth limit by folding paths. In practice however, few drivers and OSes care about the directory depth, so this rule is often ignored.
ISO Level 2 allows longer names, but since the total directory entry uses a single byte it is limited to 255 bytes. This puts upper limit on the filename of just over 200 characters depending on what directory extensions are used.
The 2/4 GiB file size limit
All numbers in ISO 9660 file systems except the single byte value used for the GMT offset are unsigned numbers. As the length of a file's extent on disk is stored in a 32 bit value, it allows for a maximum length of less than 4 GBGigabyte
The gigabyte is a multiple of the unit byte for digital information storage. The prefix giga means 109 in the International System of Units , therefore 1 gigabyte is...
(more precisely, less than 4 GiB
Gib
Gib may refer to:* A castrated male cat or ferret* Gibibit , measurement unit of digitally stored computer information* Gibraltar, British overseas territory* Drywall, construction material...
). (Note: Some older operating systems may handle such values incorrectly (i.e., signed instead of unsigned), which would make it impossible to access files larger than 2 GB in size.)
Based on this, it is often assumed that a file on an ISO 9660 formatted disc cannot be larger than 232-1 in size, as the file's size is stored in an unsigned 32 bit value, for which 232-1 is the maximum.
It is, however, possible to circumvent this limitation by using the multi-extent (fragmentation) feature of ISO 9660 Level 3 and create ISO 9600 filesystems and single files up to 8 TB. With this, files larger than 4 GB can be split up into multiple extents (sequential series of sectors), each not exceeding the 4 GB limit.
For example, the free software such as InfraRecorder
InfraRecorder
InfraRecorder is an open source CD and DVD writing program for Microsoft Windows. First started by Christian Kindahl in the Google Summer of Code 2006, InfraRecorder uses the cdrtools software library to perform the actual burning....
and mkisofs as well as Roxio Toast
Roxio Toast
Roxio Toast is an Optical disc authoring and media conversion software application for Mac OS X. Its name is a play on the word burn, a term used for the writing of information onto a disc through the use of a laser....
are able to create ISO 9660 filesystems that use multi-extent files to store files larger than 4 GB
Gigabyte
The gigabyte is a multiple of the unit byte for digital information storage. The prefix giga means 109 in the International System of Units , therefore 1 gigabyte is...
on appropriate media such as recordable DVDs.
Empirical tests with a 4.2 GB fragmented file on a DVD media have shown that Microsoft Windows XP supports this, while Mac OS X (as of 10.4.8) does not handle this case properly. In the case of Mac OS X, the driver appears not to support file fragmentation at all (i.e. it only supports ISO 9660 Level 2 but not Level 3). Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
supports multiple extents. FreeBSD
FreeBSD
FreeBSD is a free Unix-like operating system descended from AT&T UNIX via BSD UNIX. Although for legal reasons FreeBSD cannot be called “UNIX”, as the direct descendant of BSD UNIX , FreeBSD’s internals and system APIs are UNIX-compliant...
only shows and reads the last extent of a multi-extent file.
Limit on number of directories
Another limitation, less well known, is the number of directories. The ISO image has a structure called "path table". For each directory in the image, the path table provides the identifier of its parent directory. The problem is that the directory identifier is a 16-bit number, limiting its range from 1 to 65,535. The content of each directory is written also in a different place, making the path table redundant, and suitable only for fast searching. Some operating systems (e.g., Windows) use it, while others (e.g., Linux) do not. If an ISO image or disk consists of more than 65,535 directories, it will be readable in Linux, while in early Windows versions all files from the additional directories will be visible, but show up as empty (zero length). Current Windows versions appear to handle this correctly. A popular application using ISO format, mkisofs, aborts if there is a path table overflow. Nero Burning ROMNero Burning ROM
Nero Multimedia Suite is a popular software suite for Microsoft Windows by Nero AG . Version 10 of this product was released in April 2010.- Included products :The following applications are included in Nero 11 :Disc authoring...
(for Windows) and also Pinnacle Instant CD/DVD does not check whether the problem occurs, and will produce an invalid ISO file or disk without warning. Also, isovfy cannot easily report this problem. This is the only place in the ISO format where a 16-bit number is used, causing such limitations.
Multisession support
ISO 9660 is by design a read-only, pre-mastered file system. This means that all the data has to be written in one go to the medium. Once written, there is no provision for altering the stored content. Therefore ISO 9660 is not suitable to be used on random-writable media, such as hard disks.Rewritable CD media (CD-RW
CD-RW
A CD-RW is a rewritable optical disc. It was introduced in 1997, and was known as "CD-Writable" during development. It was preceded by the CD-MO, which was never commercially released....
) provides multiple-session writing. This means that data can be written to disc and made accessible, then later more data can be added to the disc as long as there is unused space left on the disc. (Recordable CD (CD-R) is Write Once media, so they do not support erasing or overwriting data once written.)
The Multisession extension to ISO 9660 makes use of this feature, by defining a rule for operating systems as to how to read an ISO 9660 volume from a CD-R. Instead of looking for the volume descriptor at offset 32768 (block number 16 on a CD) from the start of the disc, it starts reading from the 16th block in the first track of the latest session. Block numbers form a contiguous sequence starting at the first session, and continuing over added sessions and their gaps.
Hence, if a CD mastering program wants to add a single file to a CD-R that has an ISO 9660 volume, it has to append a session containing at least an updated copy of the entire directory tree, plus the new file. The duplicated directory entries can still reference the data files in the previous session(s).
In a similar way, file data can be updated or even removed. Removal is, however, only virtual: the removed content does not appear any more in the directory shown to the user, but it is still physically present on the disc. It can therefore be recovered, and it takes up space (such that the CD will become full even though appearing to still have unused space).
ISO 9660:1999
ISO 9660:1999 is the latest update to the ISO 9660 standard. It improves on the restrictions imposed by the older standard, by extending the maximum path length to 207 characters, removing the eight-level maximum directory nesting limit, and removing the special meaning of the dot character in filenames.Disc images
ISO 9660 file system images (ISO imageISO image
An ISO image is an archive file of an optical disc, composed of the data contents of every written sector of an optical disc, including the optical disc file system...
s) are a common way to electronically transfer the contents of CD-ROMs. They often have the filename extension
Filename extension
A filename extension is a suffix to the name of a computer file applied to indicate the encoding of its contents or usage....
.iso
(.iso9660
is less common, but also in use) and are commonly referred to as "ISOs". It should be noted an .iso
file may be:
- A single ISO 9660 file system image
- A multi-track disc image with a table of contents
Extensions
There are common extensions to ISO 9660 to deal with the limitations. Rock RidgeRock Ridge
The Rock Ridge Interchange Protocol is an extension to the ISO 9660 volume format, commonly used on CDROM and DVD media, which adds POSIX file system semantics...
supports the preservation of POSIX (Unix-style) permissions and longer ASCII
ASCII
The American Standard Code for Information Interchange is a character-encoding scheme based on the ordering of the English alphabet. ASCII codes represent text in computers, communications equipment, and other devices that use text...
-coded names; Joliet
Joliet (file system)
Joliet is the name of an extension to the ISO 9660 file system. It has been specified and endorsed by Microsoft and has been supported by all versions of its Windows OS since Windows 95 and Windows NT...
supports names stored in Unicode
Unicode
Unicode is a computing industry standard for the consistent encoding, representation and handling of text expressed in most of the world's writing systems...
, thus allowing almost any character to be used, even from non-Latin
Latin alphabet
The Latin alphabet, also called the Roman alphabet, is the most recognized alphabet used in the world today. It evolved from a western variety of the Greek alphabet called the Cumaean alphabet, which was adopted and modified by the Etruscans who ruled early Rome...
scripts; El Torito
El Torito (CD-ROM standard)
The El Torito Bootable CD Specification is an extension to the ISO 9660 CD-ROM specification. It is designed to allow a computer to boot from a CD-ROM...
enables CDs to be bootable on PCs
IBM PC
The IBM Personal Computer, commonly known as the IBM PC, is the original version and progenitor of the IBM PC compatible hardware platform. It is IBM model number 5150, and was introduced on August 12, 1981...
; Apple ISO 9660 Extensions adds support for Mac-OS-specific file characteristics such as Resource fork
Resource fork
The resource fork is a construct of the Mac OS operating system used to store structured data in a file, alongside unstructured data stored within the data fork. A resource fork stores information in a specific form, such as icons, the shapes of windows, definitions of menus and their contents, and...
s, file backup date and more.
ISO 13490
ISO 13490
ISO/IEC 13490 is the successor to ISO 9660 , intended to describe the file system of a CD-ROM or CD-R....
is basically ISO 9660 with multisession support.
For operating systems which do not support any extensions, a name translation file TRANS.TBL
TRANS.TBL
TRANS.TBL is a file on ISO 9660 filesystems, used to provide more flexible filenames than the basic ones allowed by the ISO 9660 standard...
must be used. It should be located in each directory, including the root directory. This is now obsolete, since few such operating systems are in use today .
Operating system support
Most operating systems support reading of ISO 9660 formatted discs, and most new versions support the extensions such as Rock RidgeRock Ridge
The Rock Ridge Interchange Protocol is an extension to the ISO 9660 volume format, commonly used on CDROM and DVD media, which adds POSIX file system semantics...
and Joliet
Joliet (file system)
Joliet is the name of an extension to the ISO 9660 file system. It has been specified and endorsed by Microsoft and has been supported by all versions of its Windows OS since Windows 95 and Windows NT...
. Operating systems that do not support the extensions usually show the basic (non-extended) features of a plain ISO 9660 disc.
Operating systems that support ISO 9660 and its extensions include the following:
- DOSDOSDOS, short for "Disk Operating System", is an acronym for several closely related operating systems that dominated the IBM PC compatible market between 1981 and 1995, or until about 2000 if one includes the partially DOS-based Microsoft Windows versions 95, 98, and Millennium Edition.Related...
: access with extensions, such as MSCDEX.EXEMSCDEXMSCDEX or Microsoft MS-DOS CD-ROM Extensions is a software program produced by Microsoft and included with MS-DOS 6.x and certain versions of Microsoft Windows. Earlier versions of MSCDEX were installable add-ons beginning with MSDOS 3.1...
(Microsoft CDROM Extension) or CORELCD.EXE - Microsoft Windows 95Windows 95Windows 95 is a consumer-oriented graphical user interface-based operating system. It was released on August 24, 1995 by Microsoft, and was a significant progression from the company's previous Windows products...
, Windows 98Windows 98Windows 98 is a graphical operating system by Microsoft. It is the second major release in the Windows 9x line of operating systems. It was released to manufacturing on 15 May 1998 and to retail on 25 June 1998. Windows 98 is the successor to Windows 95. Like its predecessor, it is a hybrid...
, Windows MEWindows MeWindows Millennium Edition, or Windows Me , is a graphical operating system released on September 14, 2000 by Microsoft, and was the last operating system released in the Windows 9x series. Support for Windows Me ended on July 11, 2006....
: can read ISO 9660 Level 1, 2, 3, and JolietJoliet (file system)Joliet is the name of an extension to the ISO 9660 file system. It has been specified and endorsed by Microsoft and has been supported by all versions of its Windows OS since Windows 95 and Windows NT... - Microsoft Windows NTWindows NTWindows NT is a family of operating systems produced by Microsoft, the first version of which was released in July 1993. It was a powerful high-level-language-based, processor-independent, multiprocessing, multiuser operating system with features comparable to Unix. It was intended to complement...
4, Windows 2000Windows 2000Windows 2000 is a line of operating systems produced by Microsoft for use on personal computers, business desktops, laptops, and servers. Windows 2000 was released to manufacturing on 15 December 1999 and launched to retail on 17 February 2000. It is the successor to Windows NT 4.0, and is the...
, Windows XPWindows XPWindows XP is an operating system produced by Microsoft for use on personal computers, including home and business desktops, laptops and media centers. First released to computer manufacturers on August 24, 2001, it is the second most popular version of Windows, based on installed user base...
, Windows VistaWindows VistaWindows Vista is an operating system released in several variations developed by Microsoft for use on personal computers, including home and business desktops, laptops, tablet PCs, and media center PCs...
, Windows 7 can read ISO 9660 Level 1, 2, 3, JolietJoliet (file system)Joliet is the name of an extension to the ISO 9660 file system. It has been specified and endorsed by Microsoft and has been supported by all versions of its Windows OS since Windows 95 and Windows NT...
, and ISO 9660:1999. Windows 7 may also mistake UDF format for CDFS. for more information see UDF. - LinuxLinuxLinux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
and BSDBerkeley Software DistributionBerkeley Software Distribution is a Unix operating system derivative developed and distributed by the Computer Systems Research Group of the University of California, Berkeley, from 1977 to 1995...
: ISO 9660 Level 1, 2, 3, Joliet, Rock RidgeRock RidgeThe Rock Ridge Interchange Protocol is an extension to the ISO 9660 volume format, commonly used on CDROM and DVD media, which adds POSIX file system semantics...
, and ISO 9660:1999 - GS/OSGS/OSGS/OS is an operating environment developed by Apple Computer for its Apple IIGS personal computer that uses the ProDOS filing system. It provides facilities for accessing the file system, controlling input/output devices, loading and running program files, and a system allowing programs to handle...
: ISO Level 1 and 2 support via the HS.FST File System Translator. - Mac OSMac OSMac OS is a series of graphical user interface-based operating systems developed by Apple Inc. for their Macintosh line of computer systems. The Macintosh user experience is credited with popularizing the graphical user interface...
7 to 9: ISO Level 1, 2. Optional free software supports Rock RidgeRock RidgeThe Rock Ridge Interchange Protocol is an extension to the ISO 9660 volume format, commonly used on CDROM and DVD media, which adds POSIX file system semantics...
and JolietJoliet (file system)Joliet is the name of an extension to the ISO 9660 file system. It has been specified and endorsed by Microsoft and has been supported by all versions of its Windows OS since Windows 95 and Windows NT...
(including ISO Level 3): Joke Ridge and Joliet Volume Access. - Mac OS XMac OS XMac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...
10.2 Jaguar, 10.3 Panther, 10.4 Tiger, 10.5 Leopard, 10.6 Snow Leopard: ISO Level 1, 2, JolietJoliet (file system)Joliet is the name of an extension to the ISO 9660 file system. It has been specified and endorsed by Microsoft and has been supported by all versions of its Windows OS since Windows 95 and Windows NT...
and Rock RidgeRock RidgeThe Rock Ridge Interchange Protocol is an extension to the ISO 9660 volume format, commonly used on CDROM and DVD media, which adds POSIX file system semantics...
Extensions. Level 3 is not currently supported, although users have been able to mount these disks: http://www.macosxhints.com/article.php?story=2004041301593855 - AmigaOSAmigaOSAmigaOS is the default native operating system of the Amiga personal computer. It was developed first by Commodore International, and initially introduced in 1985 with the Amiga 1000...
supports the "AS" extensions (which preserve the Amiga protection bits and file comments) - QNXQNXQNX is a commercial Unix-like real-time operating system, aimed primarily at the embedded systems market. The product was originally developed by Canadian company, QNX Software Systems, which was later acquired by Canadian BlackBerry-producer Research In Motion.-Description:As a microkernel-based...
- OS/2OS/2OS/2 is a computer operating system, initially created by Microsoft and IBM, then later developed by IBM exclusively. The name stands for "Operating System/2," because it was introduced as part of the same generation change release as IBM's "Personal System/2 " line of second-generation personal...
and eComStationEComStationeComStation or eCS is a PC operating system based on OS/2, published by Serenity Systems. It includes several additions and accompanying software not present in the IBM version of the system.-Differences between eComStation and OS/2:... - BeOSBeOSBeOS is an operating system for personal computers which began development by Be Inc. in 1991. It was first written to run on BeBox hardware. BeOS was optimized for digital media work and was written to take advantage of modern hardware facilities such as symmetric multiprocessing by utilizing...
, Zeta and HaikuHaiku (operating system)Haiku is a free and open source operating system compatible with BeOS. Its development began in 2001, and the operating system became self-hosting in 2008, with the first alpha release in September 2009, the second in May 2010 and the third in June 2011.... - OpenVMSOpenVMSOpenVMS , previously known as VAX-11/VMS, VAX/VMS or VMS, is a computer server operating system that runs on VAX, Alpha and Itanium-based families of computers. Contrary to what its name suggests, OpenVMS is not open source software; however, the source listings are available for purchase...
supports only ISO 9660 Interchange levels 1-3, with no extensions
External links
- ECMA-119 This is the ECMA release of the ISO 9660:1988 standard, available as a free download.
- http://www.y-adagio.com/public/standards/iso_cdromr/tocont.htm Technical information on ISO 9660:1999
- ISO 9660:1999 Draft Specification as single HTML document.
- ISO 9660 Specifications
- Description of data structures in ISO-9660
- CD Recording FAQ
- Media Sciences - Book types and compatibility, Multisession
- ISO files:
- Mode 1 and 2:
- Sony Storage Support - What CD-ROM Mode-1, Mode-2 and XA are ?
- Media Sciences - Varieties of Mode 2
- DivXLand - Mode 2 explanation and creation tools
- ISO 9660 Image Creator