230 likes | 236 Vues
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
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