230 likes | 246 Views
This course summary from the Computing Department at Lancaster University, UK covers key areas of Windows 2000 system architecture, including components, subsystems, kernel functionality, processes, threads, scheduling, memory management, and networking concepts. It provides in-depth insights into the design objectives, environment subsystems, kernel-mode programming environment, and memory management principles of Windows 2000.
E N D
Windows 2000 Course Summary Computing Department, Lancaster University, UK
Overview • Goals • Provide a summary of the whole course • Highlight key areas of importance
System Architecture (1) • What is Windows 2000? • Features overview • Design objectives • How these differ from Win9x • Product Packaging • Key Concepts • Win32 API • Processes, Thread and Jobs • Virtual Memory • Kernel Mode vs. User Mode • Registry
System Architecture (2) • Windows 2000 Architecture Components • Executive • Kernel • HAL • Device Drivers • Win32 User/GDI • In further detail: • The role of each component • Interaction between components
System Architecture (3) • Environment Subsystems • Subsystem Components and their Role • Overview of OS/2, POSIX and Win32 subsystems • Subsystem Function Paths • Image Headers (Subsystem Type/Native Images) • POSIX Experimentation
System Architecture (4) • OS Kernel Functionality • NTOSKRNL.EXE • Internal Naming Convention • Listing Undocumented Functions • Mechanism for Invoking System Functions from User Mode • Differences between Win32 and NtDll.Dll • Location of Operating System code • System Processes • Processed-Based Windows 2000 Code • Process Creation Hierarchy • System Start-up Processes
System Mechanisms (1) • Objects and Handles • Introduction to objects • Benefits of using objects • Different types of Win32 objects • Kernel objects, GDI objects and User objects • Handles and Reference Counts • Security • Object Manager Functionality
System Mechanisms (2) • Kernel Mode Programming Environment • Invoking Kernel-Mode Routines • Trap Dispatching • Interrupts and Exceptions • How interrupts/exceptions are generated • Dispatching of Interrupts • Interrupt Precedence via IRQLs • Software Interrupts • Hardware Interrupt Processing on x86
Overview of Windows 2000 Management Mechanisms • The registry • Contents • Organisation • Access • Services • General concepts • Components • Examples • Windows Management Instrumentation • Windows 2000 WMI-enabled tools
Processes, Threads and Scheduling (1) • What are processes, threads and jobs? • In further detail: • What each process has associated with it • Viewing process information • What each thread has associated with it • Viewing thread information • Fibers • General concepts / implementation “environment” • Win32 process and thread APIs • Exiting of processes • Different API calls used
Processes, Threads and Scheduling (2) • General scheduling concepts • Views of priorities • The Win32 point of view • The Windows 2000 scheduler point of view • Win32 priorities versus kernel priorities • Manual process priority adjustments • Win32 scheduling-related APIs • Thread scheduling • General Windows 2000 scheduler concepts • Multiprocessor issues • Scheduling scenarios: preemption, voluntary switch, running thread experiences quantum end
Processes, Threads and Scheduling (3) • Thread scheduling (cont.) • Quantum details • Thread scheduling states • Watching the scheduler • Priority adjustments • Applicable classes • Non applicable classes • Boosting • Conditions for boosting • General concepts • CPU starvation • Balance Set Manager
Processes, Threads and Scheduling (4) • Thread scheduling (cont.) • Multiprocessor support • Concept of soft affinity • Concept of hard affinity • Hard affinity example
Memory Management (1) • Virtual memory • General principles • Application’s view • Mapping virtual memory to physical memory pages • Virtual address space • Windows 2000 memory manager • Virtual address space allocation • Different regions • Page sizes within NT and 2000
Memory Management (2) • Virtual address space (cont.) • Division between process space and system space • Process space - unique per process, user accessible • Contents • System space - system wide, kernel mode accessible • Contents • Windows 9x virtual address space • Additional user-mode shared memory - system wide • Virtual address translation
Memory Management (3) • Physical memory • Maximum memory support • Under NT • Under 2000 via extended addressing support - “PAE” • Increased limits under 64-bit Windows 2000 • Page files • Size • Events when page file space runs low • Who is consuming space? • Page faults
Memory Management (4) • Physical memory (cont.) • Working set • General concepts • Working set limit • Page replacement algorithm • System services • Adjust size, self-initiated trimming • System working set • Accounting for physical memory usage • Memory management information • General, process and physical memory information
Windows Networking (1) • OSI model and Windows 2000 networking components • OSI reference model overview • Mapping of components against OSI layers • What each component does, and what layer it fits into • Networking APIs • Transport Driver Interface (TDI) clients • TDI transports (also known as protocol drivers) • NDIS library • NDIS miniport drivers
Windows Networking (2) • Windows 2000 networking stack: • Services • Remote access • Active directory • File replication service • Network load balancing • Networking APIs • Windows Sockets (Winsock) • Named pipes and mailslots • Remote procedure call (RPC) • NetBIOS • Other • Telephony API, DCOM, message queuing
Windows Networking (3) • Windows 2000 networking stack: (cont.) • Protocol drivers • Purpose • Drivers natively supported by Windows 2000 • Other driver support • NDIS drivers • Purpose • NDIS 5 features
Windows Networking (4) • Winsock2 • Basic concepts • Overview of main features • Simultaneous access to multiple transport protocols • Winsock2 API / SPI separation • Winsock2 DLL • Winsock1.1 backward compatibility • Source code compatibility • Binary compatibility • Layered protocol architecture • Layered protocols and base protocols • Protocol chains
I/O System, Cache Manager, File Systems (1) • I/O System • Design goals • Components • I/O operations • Flow of a typical I/O request • Types of device driver • Including user-mode drivers… • Win32 I/O APIs • Device-independent APIs • Device-type-dependent APIs
I/O System, Cache Manager, File Systems (2) • Cache Manager • Overview • File system types supported • Types of data to be cached • Key features • Interaction between cache and memory manager • File Systems • Others • CDFS, UDF, FAT12, FAT16 and FAT32 • NTFS • Overview • Advanced features