Page 384 - DCAP103_Principle of operating system
P. 384
Unit 13: Input/Output and Security of Windows
Notes
Figure 13.2: Windows 2000 Allows Drivers to be Stacked
User process
User
program
Win 32
Rest of windows
Filter
Driver
Function Function
stack
monolithic Bus Bus
Hardware abstraction layer
Controller Controller Controller
One common use for stacked drivers is to separate out the bus management from the functional
work of actually controlling the device. Bus management on the PCI bus is quite complicated
on account of many kinds of modes and bus transactions, and by separating this work from the
device-specific part, driver writers are freed from learning how to control the bus. They can just
use the standard bus driver in their stack. Similarly, USB and SCSI drivers have a device-specific
part and a generic part, with common drivers used for the generic part.
Another use of stacking drivers is to be able to insert filter drivers into the stack. A filter driver
performs some transformation on the data on the way up or down. For example, a filter driver
could compress data on the way to the disk or encrypt data on the way to the network. Putting
the filter here means that neither the application program nor the true device driver have to be
aware of it and it works automatically for all data going to (or coming from) the device.
13.2 The Windows 2000 File System
Windows 2000 supports several file systems, the most important of which are FAT-16, FAT-32 and
NTFS (NT File System). FAT-16 is the old MS-DOS file system. It uses 16-bit disk addresses, which
limits it to disk partitions no larger than 2 GB. FAT-32 uses 32-bit disk addresses and supports disk
partitions up to 2 TB. NTFS is a new file system developed specifically for Windows NT and carried
over to Windows 2000. It uses 64-bit disk addresses and can (theoretically) support disk partitions
up to 264 bytes, although other considerations limit it to smaller sizes. Windows 2000 also supports
LOVELY PROFESSIONAL UNIVERSITY 377