Hardware Reference
In-Depth Information
alphanumeric characters. If the actual file name conforms to the MS-DOS 8+3 na-
ming rule, a secondary MS-DOS name is not used.
Next comes the security information. In versions up to and including Win-
dows NT 4.0, the security field contained the actual security descriptor. Starting
with Windows 2000, all the security information was centralized in a single file,
with the security field simply pointing to the relevant part of this file.
For small files, the file data itself is actually contained in the MFT entry, sav-
ing a disk access to fetch it. This idea is called an immediate file (Mullender and
Tanenbaum, 1984). For somewhat larger files, this field contains pointers to the
clusters containing the data, or more commonly, runs of consecutive clusters so a
single cluster number and a length can represent an arbitrary amount of file data.
If a single MFT entry is insufficiently large to hold whatever information it is sup-
posed to hold, one or more additional entries can be chained to it.
The maximum file size is 2 64 bytes. To get an idea of how big a 2 64 -byte (i.e.,
2 67 -bit) file is, imagine that it were written out in binary, with each 0 or 1 occupy-
ing 1 mm of space. The 2 67 -mm listing would be 15 light-years long, reaching far
beyond the solar system, to Alpha Centauri and back.
The NTFS file system has many other interesting properties including support
for multiple data streams for each file, encryption, data compression, and fault tol-
erance using atomic transactions. Additional information about it can be found in
Russinovich and Solomon (2005).
6.5.4 Examples of Process Management
Both UNIX and Windows 7 allow a job to be split up into multiple processes
that can run in (pseudo)parallel and communicate with each other, in the style of
the producer-consumer example discussed earlier. In this section we will discuss
how processes are managed in both systems. Both systems also support paral-
lelism within a single process using threads, so that will also be discussed.
UNIX Process Management
At any time, a UNIX process can create a subprocess that is an exact replica of
itself by executing the fork system call. The original process is called the parent
and the new one the child . Right after the fork , the two processes are identical and
even share the same file descriptors. Thereafter, each one goes its own way and
does whatever it wants to, independent of the other one.
In many cases, the child process juggles the file descriptors in certain ways and
then executes the exec system call, which replaces its program and data with the
program and data found in an executable file specified as parameter to the exec
call. For example, when a user types a command xyz at a terminal, the command
interpreter (shell) executes fork to create a child process. This child process then
executes exec to run the xyz program.
 
 
Search WWH ::




Custom Search