Changes between Version 2 and Version 3 of GSoC/2011/ISO9660_Filesystem

Jul 5, 2011, 9:43:34 PM (8 years ago)
Christophe Huriaux

ISO9660 introduction


  • GSoC/2011/ISO9660_Filesystem

    v2 v3  
    8 '''Possible Mentors:''' Multiple possible.  Ask if interested.
    10 '''Status:''' ''Work in progress (C. Huriaux, GSoC 2011)''
     8'''Status:''' ''Work in progress (C. Huriaux mentored by Chris Johns as part of GSoC 2011)''
    1210'''Introduction:''' This project will implement the ISO9660 file system on RTEMS.  This is the filesystem used on CD-ROMs and DVD-ROMs.  It may be possible to port an implementation from another OS or project (with appropriate license).
    2119 *  None yet.
    22 = Actual work =
     20= About the project =
     21= ISO9660 =
     23ISO9660<ref></ref> is an ISO standard describing a pre-mastered file-system aimed to be used in read-only medium (also known as '''WORM''' - '''W'''rite '''O'''nce '''R'''ead '''M'''any). It is widely used nowadays in optical disks (CD and DVD) as well as file snapshots of these disks, commonly known as ''iso files''. The last revision of the standard, ISO9660:1999, is freely and publicly available as the ECMA-119<ref></ref> standard.
     25An ISO9660 volume is intrinsically designed for optical drives thanks to his sequential layout. Since the volumes are created in one pass and thereafter never modified, they keep their optimized structure.
     26== Hardware level ==
     28From the optical drive point of view, the smallest block readable from the disk is 24 bytes long and is called a ''frame''. These frames are aggregated in various arrangement depending on whether the data contained on the disk is tolerant to errors or not. The standard for computer data was described years ago in the ''Yellow Book'' and consists of 98-frames ''sectors'' : 12 frames are used for error detection while the 86 remaining frames contains 12 bytes of synchronization, a 4 bytes header and 2048 bytes for the user application.
     29== File-system structure ==
     31The user available sector size is thus 2048 bytes wide and is the standard entity on a ISO9660 volume. The volume itself doesn't start at the first sector of the disk : 16 sectors (32,768 bytes) are reserved for system use and are '''not''' used by the ISO9660 volume at all, nor described in the standard.
     32= Development application =
    2434The actual code could be retrieved through the dedicated [ Google Code project]. The [ SVN repository] could be used to check out the code.
    2535= References =
    28  *
    30  *
    3239'''Other sections:''' If you have more to say about the project that doesn't fit in the proposed sections of this template, feel free to add other sections at will.