Page 298 - DCAP404 _Object Oriented Programming
P. 298

Unit 13: Working with Files




          Other bookkeeping information is typically associated with each file within a file system. The  Notes
          length of the data contained in a file may be stored as the number of blocks allocated for the file
          or as an exact byte count. The time that the file was last modified may be stored as the file’s
          timestamp. Some file systems also store the file creation time, the time it was last accessed, and
          the time that the file’s meta-data was changed. (Note that many early PC operating systems did
          not keep track of file times.) Other information can include the file’s device type (e.g., block,
          character, socket, subdirectory, etc.), its owner user-ID and group-ID, and its access permission
          settings (e.g., whether the file is read-only, executable, etc.).
          The hierarchical  file system was an early research  interest of Dennis Ritchie of Unix fame;
          previous implementations were restricted to only a few levels, notably the IBM implementations,
          even of their early databases like IMS. After the success of Unix, Ritchie extended the file system
          concept to every object in his later operating system developments, such as Plan 9 and Inferno.
          Traditional file systems offer facilities to create, move and delete both files and directories. They
          lack facilities to create additional links to a directory (hard links in Unix), rename parent links
          (“..” in Unix-like OS), and create bidirectional links to files.
          Traditional file systems also offer facilities to truncate, append to, create, move, delete and in-
          place modify files. They do not offer facilities to prepend to or truncate from the beginning of a
          file, let alone arbitrary insertion into or deletion from a file. The operations provided are highly
          asymmetric and lack the generality to be useful in unexpected contexts. For example, interprocess
          pipes in Unix have to be implemented outside of the file system because the pipes concept does
          not offer truncation from the beginning of files.
          Secure access to basic file system operations can be based on a scheme of access control lists or
          capabilities. Research has shown access control lists to be difficult to secure properly, which is
          why research operating systems tend to use capabilities. Commercial file systems still  use
          access control lists.
          A file system is a method for storing and organizing computer files and the data they contain to
          make it easy to find and access them. File systems may use a data storage device such as a hard
          disk or CD-ROM and involve maintaining the physical location of the files, they might provide
          access to data on a file server by acting as clients for a network protocol (e.g., NFS, SMB, or 9P
          clients), or they may be virtual and exist only as an access method for virtual data.
          More formally, a file system is a set of abstract data types that are implemented for the storage,
          hierarchical organization, manipulation, navigation, access, and retrieval of data.




              Task  File systems share much in common with database technology, but it is debatable
             whether a file system can be classified as a special-purpose database (DBMS). Analyze.

          13.6.1 Types of File Systems

          File system types can be classified into disk file systems, network file  systems and  special
          purpose file systems.

          1.   Disk file systems: A disk file system is a file system designed for the storage of files on a
               data storage device, most commonly a disk drive, which might be directly or indirectly
               connected to the computer. Examples of disk file systems include FAT, FAT32, NTFS, HFS
               and HFS+, ext2, ext3, ISO 9660, ODS-5, and UDF. Some disk file systems are journaling file
               systems or versioning file systems.





                                           LOVELY PROFESSIONAL UNIVERSITY                                   291
   293   294   295   296   297   298   299   300   301   302   303