计算机系 信息处理实验室 Lecture 12 I/O System
计算机系 信息处理实验室 the Inside of Windows Contents I/O System Components I/O Data Structures Driver Loading, Initialization, and Installation I/O Processing
计算机系 信息处理实验室 the Inside of Windows I/O System Components I/O manager
计算机系 信息处理实验室 the Inside of Windows The flow of a typical I/O request
计算机系 信息处理实验室 the Inside of Windows I/O Manager The I/O manager defines the orderly framework, or model, within which I/O requests are delivered to device drivers. Packet driven I/O request packet (IRP) Flexible I/O services
计算机系 信息处理实验室 the Inside of Windows Device Drivers Types File system drivers Windows 2000 drivers Legacy drivers display drivers WDM drivers Bus drivers Function drivers Filter drivers
计算机系 信息处理实验室 the Inside of Windows user-mode drivers Virtual device drivers (VDDs) Win32 subsystem printer drivers Driver components Class drivers Port drivers Miniport drivers
计算机系 信息处理实验室 the Inside of Windows Layering of a FSD and a disk driver
计算机系 信息处理实验室 the Inside of Windows Adding a layered driver
计算机系 信息处理实验室 the Inside of Windows Structure of a Drive The I/O system drives the execution of device drivers Primary device driver routines
计算机系 信息处理实验室 the Inside of Windows Plug and Play (PnP) Manager
计算机系 信息处理实验室 the Inside of Windows Power Manager Requirement hardware must comply with ACPI specification The six system power states See table 9-2table 9-2
计算机系 信息处理实验室 the Inside of Windows System power-state transitions Sleeping waking
计算机系 信息处理实验室 the Inside of Windows I/O Data Structures File Objects Driver Objects and Device Objects I/O Request Packets I/O Completion Ports
计算机系 信息处理实验室 the Inside of Windows File Objects File Object Attributes Filename Current byte offset Share modes Open mode flags Pointer to device object Pointer to the volume parameter block (VPB) Pointer to section object pointers Pointer to private cache map
计算机系 信息处理实验室 the Inside of Windows Opening a file object
计算机系 信息处理实验室 the Inside of Windows Driver Objects and Device Objects A driver object represents an individual driver in the system. A device object represents a physical or logical device on the system and describes its characteristics
计算机系 信息处理实验室 the Inside of Windows The driver object
计算机系 信息处理实验室 the Inside of Windows I/O Request Packets IRP is where the I/O system stores information it needs to process an I/O request.
计算机系 信息处理实验室 the Inside of Windows Data structures involved in a single- layered driver I/O request
计算机系 信息处理实验室 the Inside of Windows IRP Stack Locations IRP a fixed header one or more stack locations IRP Buffer Management Buffered I/O Direct I/O Neither I/O
计算机系 信息处理实验室 the Inside of Windows I/O Completion Ports The IoCompletion Object Applications use the IoCompletion executive object, which is exported to Win32 as a completion port, as the focal point for the completion of I/O associated with multiple file handles.
计算机系 信息处理实验室 the Inside of Windows I/O completion port operation
计算机系 信息处理实验室 the Inside of Windows Driver Loading, Initialization, and Installation Explicit loading Enumeration-based loading
计算机系 信息处理实验室 the Inside of Windows The Start Value boot-start (0) system-start (1) auto-start (2) demand-start (3)
计算机系 信息处理实验室 the Inside of Windows Device Enumeration PnP manager primary bus driver device tree
计算机系 信息处理实验室 the Inside of Windows Example device tree
计算机系 信息处理实验室 the Inside of Windows Devnodes
计算机系 信息处理实验室 the Inside of Windows Driver Installation
计算机系 信息处理实验室 the Inside of Windows I/O Processing Types of I/O Synchronous I/O and Asynchronous I/O Fast I/O Mapped File I/O and File Caching Scatter/Gather I/O
计算机系 信息处理实验室 the Inside of Windows Control flow for an I/O operation
计算机系 信息处理实验室 the Inside of Windows I/O Request to a Single-Layered Driver
计算机系 信息处理实验室 the Inside of Windows Servicing an Interrupt Phrase 1
计算机系 信息处理实验室 the Inside of Windows Phrase 2
计算机系 信息处理实验室 the Inside of Windows Completing an I/O Request Phrase 1
计算机系 信息处理实验室 the Inside of Windows Phrase 2
计算机系 信息处理实验室 the Inside of Windows I/O Requests to Layered Drivers
计算机系 信息处理实验室 the Inside of Windows Completing a layered I/O request
计算机系 信息处理实验室 the Inside of Windows Queuing associated IRPs
计算机系 信息处理实验室 the Inside of Windows Completing associated IRPs
计算机系 信息处理实验室 the Inside of Windows I/O Completion Port Operation
计算机系 信息处理实验室 the Inside of Windows Synchronization