394
◾
Linux with Operating System Concepts
More recent versions of Windows operating systems use the NTFS file system (new
technology file system), which utilizes a data structure called a B
+
tree for indexing. In
Linux, indexing is handled through the inode data structure. We explore this in Section
10.3 where you will see that every inode contains pointers to disk blocks that either store
data or additional pointers.
10.2.3 Other Disk File Details
Aside from determining the indexing strategy and the use/reuse of blocks, the file system
must also specify a number of other details. These will include naming schemes for file
entries (files, directories, links). It is common today for names to permit just about any
character, including blank spaces; however, older file systems had limitations such as eight-
character names and names consisting only of letters and digits (and perhaps a few types
of punctuation marks such as the hyphen, underscore, and period). Some file systems do
not differentiate between uppercase and lowercase characters while others do. Most file
systems permit but do not require file name extensions.
File systems will also maintain information about the entries, often called metadata.
This will include the creation date/time, last modification date/time and last access date/
time, owner (and group in many cases), and permissions or access control list. The access
control list enumerates for each user of the system the permissions granted to that user so
that there can be several levels of permissions over the Linux user/group/other approach.
Many different file system types have been developed over the years. Many early main-
frames had their own, unique file systems. Today, operating systems tend to share file sys-
tems or provide compatibility so that a different file system can still be accessed by many
different types of operating systems. Aside from the previously mentioned FAT and NTFS
file systems, some of the more common file systems are the extended file system family
(ext, ext2, ext3, ext4, derived originally from the Minix OS file system) used in Linux. NFS
(the network file system) is also available in Linux. Files-11, which is a descendant of the
file system developed for DEC PDP mainframes, and the Vax VMS operating system (and
itself a precursor of NTFS) are also available. While these multitudes of file systems are
available, most Linux systems primarily use the ext family as the default file system type.
10.3 FILES
In the Linux operating system, everything is treated as a file except for the process.
What does this mean? Among other things, Linux file commands can be issued on enti-
ties that are not traditional files. The entities treated like files include directories, physi-
cal devices, named pipes, and file system links. Aside from physical devices, there are also
150
381
153
Bad
156
155
732
EOF
Block
Next location
151
File allocation table (portion)
152
153
154
155
156
FIGURE 10.2
Excerpt of a file allocation table. (Adapted from Fox, R.
Do'stlaringiz bilan baham: