330 likes | 564 Views
Windows NT A Distributed Architecture. Professor: Mohamed Khalil CSE 8343 GROUP-A5 Dhaval Sanghvi Amit Sharma Ali Abbas (Video-Tape). Agenda. Features
E N D
Windows NT A Distributed Architecture Professor: Mohamed Khalil CSE 8343 GROUP-A5 Dhaval Sanghvi Amit Sharma Ali Abbas (Video-Tape)
Agenda • Features • Design goals of Windows NT • Architecture • Three Layers • Upper Layer - Executive • Middle Layer - Kernel • Lower Layer - Hardware Abstraction Layer • Environment Subsystem • Summary • Biblography
Features • Preemptive Multitasking • Support for Symmetric Multiprocessing • Integrated Networking services • Client/Server Architecture • Support for several file systems • Virtual Memory Management • Support for 2 GB linear space for application and also 2GB for OS
Design goals of Windows NT • Extensibility • Portability • Reliability • Compatibility • Security • Performance • Scalability • Localization
Windows NT Architecture • Windows NT is a modular operating system composed of simple modules : kernel mode and user mode. • Kernel Mode composed of mainly 3 layers: • Upper layer - Executive layer • Middle layer - The kernel • Lower layer - Hardware Abstraction Layer(HAL) • User Mode is composed of environment subsystems.
Executive Layer • Each component of NT Executive provides a set of API’s • Some API’s are designed to be invoked by user-mode processes. • Some API’s are visible only in the kernel mode inside the Executive • NT’s API’s are flexible enough to implement a wide range of operating system environments. • NT’s Executive has six subsystems - Object Manager, Process Manager, Virtual Memory Manager, Security Reference Monitor, Local Procedure Call Facility, I/O subsystem
Object Manager • An object is a representation of a conceptual or physical entity in the system. • Examples of Objects: • Files • Directories • Processes • Threads • Synchronization Objects (semaphores, mutexes, events, timers) • Virtual Memory objects • Mostly everything passed around and processed within NT is represented as an object.
Security Reference Monitor • Checks for proper authorization before granting access to objects • Object Manager is a customer of a SRM: it asks SRM if a process has the proper rights to execute a certain type of action on an object. • Implements auditing functions to keep track of attempts to access an object • Implements high level security: • Resource owners must be able to control who has access to it. • Unique user name and password identification • Audit trail of successful and unsuccessful attempts • Protection from unauthorized tampering of files
Process Manager • Creates,deletes and modifies processes and threads • Does not dispatch or schedules any work. This is done by the kernel • A process is represented within NT by a process object • Process Object = (process’ virtual address space, resources visible to the process, process threads) • NT does not maintain parent-child information between related processes.
Virtual Memory Manager(VMM) • Implements a fetch policy(when the pager brings a page from disk to memory). Uses a demand paging algorithm with the locality of reference(“clustering”) • Implements shared memory segments(used by LPC to transfer large messages) • Certain parts of the VMM are processor dependent (e.g. page table entries,page size,virtual address translation) • Manages file system drivers,device drivers and network drivers
VMM - cont’d • Drivers can be dynamically loaded, unloaded, started and stopped without rebooting the system • Multiple installable file systems including MS-DOS FAT ( File Allocation Table), High Performance File System(HPFS), the CD-ROM file system and the NT File System(NTFS)
I/O Manager • Mapped file I/O capabilities for image activation, file caching and application use • Packet driven I/O system. Every I/O request is represented by an IRP (I/O Request Packet) that moves from one I/O system component to the other • Manages buffers for I/O requests • Provides time-out support for drivers • Records which installable components are loaded in the system
I/O Manager - cont’d • NTFS extends MS-DOS FAT with HPFS with: • Quick recovery of disk data after system failure • Ability to handle very large files (17 billion GB) • Security features (e.g. execute only files) • Support for POSIX OS environments • Features for future extensibility(e.g. transaction-based operations to enhance fault tolerance,user-controlled file version numbers, flexible options for file naming and file attributes)
Kernel Layer • Schedules threads to run. • Handles hardware interrupts and dispatches them to appropriate drivers and threads. • Handles software and hardware generated exceptions (e.g. writing to non-existing memory position, memory parity errors) • Graceful system shutdown and restoration after power failure • Provides an API to the executive to kernel-managed objects (e.g. events, mutexes, semaphores and timers)
Hardware Abstraction Layer • Isolates the kernel from hardware variations • Exports an API to upper layers to handle hardware dependent issues such as: • Processor initialization( support for SMP computers) • Instruction cache and data cache • Device driver support(e.g. bus addressing, interrupt control, DMA functions) • Timing and interrupt functions • Firmware interface functions • Low level error handling
Environment subsystem • User mode process that provides services to applications • These services emulate the behavior of a specific OS • Converts requests made by an application to requests that NT’s kernel mode component understand • Implemented using Client/Server model: • Application Client • Environment subsystem Server
Win32 Subsystem • Implements the Win32 API • Each Win32 application runs on its own address space separate from Win32 subsystems’ address space • Manages all the keyboard and mouse input and all screen output for entire system acts as a server to the other environment subsystems
OS/2 Subsystem • Supports OS/2 up to 1.3 character-mode applications • Each OS/2 application runs on its own separate address space and separate from the OS/2 subsystem’s address space POSIX Subsystem • Supports POSIX character-mode applications • Each POSIX application runs on its own separate address space and separate from POSIX subsystem’s address space
MS-DOS Environment • Associates each DOS application with Virtual DOS Machines (VDM) • Each DOS applications runs on its own address space • A VDM provides the DOS application with: • Execution of Intel x86 instructions • Simulated DOS INT 21 services • Simulated DOS BIOS interrupt services • Simulated standard PC hardware devices
Windows 16-Bit Environment • All Win16 applications are supported by a single VDM called WOW (Win16 on Win32) • WOW is like a virtual windows machine • The WOW runs on an address space separate from all other user level processes • A WOW emulates a PC as a DOS VDM does • WOW converts Win16 API’s and messages to and from Win32 • The Win32 subsystem is used to execute the translated calls
Win 16-Bit Environment – cont’d • Each Win16 application is assigned to a different thread within the WOW VDM process • Each such thread must yield control before another thread of the WOW is allowed to run • If Win16 application crashes it may take the whole WOW down but it does not affect the other Win 32 applications
Bibliography • http://www.win2000mag.com/ • Windows NT server 4.0 Administrator’s Bible, R.Cowart and K.Gregg, IDG Books • Inside Windows NT Workstation, George Eckel, New Riders, 1996.