add directory study
This commit is contained in:
81
study/sabre/os/files/FileSystems/DesignGoalsHPFS/ifs.html
Normal file
81
study/sabre/os/files/FileSystems/DesignGoalsHPFS/ifs.html
Normal file
@@ -0,0 +1,81 @@
|
||||
<html><head>
|
||||
<title>HPFS: Installable File Systems</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<center>
|
||||
<h1>Installable File Systems</h1>
|
||||
</center>
|
||||
|
||||
Support for installable file systems has been one of the most eagerly
|
||||
anticipated features of OS/2 Version 1.2. it will make it possible to
|
||||
access multiple incompatible volume structures--FAT, HPFS, CD ROM, and
|
||||
perhaps even UNIX on the same OS/2 system at the same time, will
|
||||
simplify the life of network implementors, and will open the door to
|
||||
rapid file system evolution and innovation. Installable file systems
|
||||
are, however, only relevant to the HPFS insofar as they make use of
|
||||
the HPFS optional. The FAT file system is still embedded in the OS/2
|
||||
kernel, as it was in OS/2 1.0 and 1.1, and will remain there as the
|
||||
compatibility file system for some time to come. An installable file
|
||||
system driver (FSD) is analogous in many ways to a device driver. An
|
||||
FSD resides on the disk in a file that is structured like a
|
||||
dynamic-link library (DLL), typically with a SYS or IFS extension,
|
||||
and is loaded during system initialization by <tt>IFS=</tt> statements
|
||||
in the <tt>CONFIG.SYS</tt> file. <tt>IFS=</tt> directives are processed
|
||||
in the order they are encountered and are also sensitive to the order of
|
||||
<tt>DEVlCE=</tt> statements for device drivers. This lets you load a
|
||||
device driver for a nonstandard device, load a file system driver from
|
||||
a volume on that device, and so on. Once an FSD is installed and
|
||||
initialized, the kernel communicates with it in terms of logical requests
|
||||
for file opens, reads, writes, seeks, closes, and so on.
|
||||
The FSD translates these requests--using control structures and tables
|
||||
found on the volume itself--into requests for sector reads and writes for
|
||||
which it can call special kernel entry points called File System Helpers
|
||||
(FsHlps). The kernel passes the demands for sector I/O to the appropriate
|
||||
device driver and returns the results to the FSD
|
||||
(<a href="#fig6">Figure 6</a>).
|
||||
The procedure used by the operating system to associate volumes with
|
||||
FSDs is called dynamic mounting and works as follows. Whenever a volume
|
||||
is first accessed, or after it has been locked for direct access and then
|
||||
unlocked (for example, by a FORMAT operation), OS/2 presents identifying
|
||||
information from the volume to each of the FSDs in turn until one of them
|
||||
recognizes the information. When an FSD claims the volume, the volume is
|
||||
mounted and all subsequent file I/O requests for the volume are routed to
|
||||
that FSD.
|
||||
<p>
|
||||
|
||||
|
||||
<center>
|
||||
<a href="fig6.gif" name="fig6">
|
||||
<img src="fig6.gif" alt="[Fig. 6]" border=0></a>
|
||||
</center>
|
||||
<p>
|
||||
<b>FIGURE 6</b>:
|
||||
A simplified sketch of the relationship between an application program, the
|
||||
OS/2 kernel, an installable file system, a disk drlver, and the physical
|
||||
disk device. The applicatIon issues logical file requests to the OS/2 kernel
|
||||
by callng the entry points for DosOpen, DosRead, DosWrlte, DosChgFilePtr, and
|
||||
so on. The kernel passes these requests to the appropriate installable file
|
||||
system for the volume holding the file. The installable file system translates
|
||||
the logical file requests into requests for reads or writes of logical sectors
|
||||
and calls a kernel File System Helper (FsHlp) to pass these requests to the
|
||||
appropriate disk drlver. The disk driver transforms the logical sector requests
|
||||
into requests for specific physical units, cylinders heads, and sectors, and
|
||||
issues commands to the disk adapter to transfer data between the disk and
|
||||
memory.
|
||||
|
||||
|
||||
<p>
|
||||
<hr>
|
||||
|
||||
< <a href="ea.html">[Extended Attributes]</a> |
|
||||
<a href="hpfs.html">[HPFS Home]</a> |
|
||||
<a href="perform.html">[Performance Issues]</a> >
|
||||
|
||||
<hr>
|
||||
|
||||
<font size=-1>
|
||||
Html'ed by <a href="http://www.seds.org/~spider/">Hartmut Frommert</a>
|
||||
</font>
|
||||
|
||||
</body></html>
|
||||
Reference in New Issue
Block a user