Post on 02-Jan-2016
description
1
Windows NT Windows NT A Distributed ArchitectureA Distributed Architecture
Professor: Mohamed Khalil
CSE 8343
GROUP-A5
Dhaval Sanghvi
Amit Sharma
Ali Abbas (Video-Tape)
2
AgendaAgendaFeaturesDesign goals of Windows NTArchitecture
• Three Layers Upper Layer - Executive Middle Layer - Kernel Lower Layer - Hardware Abstraction Layer
Environment SubsystemSummaryBiblography
3
Features Features
Preemptive MultitaskingSupport for Symmetric Multiprocessing Integrated Networking servicesClient/Server ArchitectureSupport for several file systemsVirtual Memory ManagementSupport for 2 GB linear space for application
and also 2GB for OS
4
Design goals of Windows NTDesign goals of Windows NTExtensibility PortabilityReliability CompatibilitySecurityPerformanceScalability Localization
5
Windows NT ArchitectureWindows NT ArchitectureWindows 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 layerMiddle layer - The kernelLower layer - Hardware Abstraction
Layer(HAL)User Mode is composed of environment
subsystems.
7
Executive LayerExecutive LayerEach component of NT Executive provides a set of API’sSome API’s are designed to be invoked by user-mode
processes.Some API’s are visible only in the kernel mode inside the
ExecutiveNT’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
8
Object ManagerObject 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.
9
Security Reference MonitorSecurity 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
10
Process ManagerProcess ManagerCreates,deletes and modifies processes and threadsDoes not dispatch or schedules any work. This is
done by the kernelA process is represented within NT by a process
objectProcess Object = (process’ virtual address space,
resources visible to the process, process threads)NT does not maintain parent-child information
between related processes.
11
Virtual Memory Manager(VMM)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
12
VMM - cont’dVMM - 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)
13
I/O ManagerI/O ManagerMapped file I/O capabilities for image
activation, file caching and application usePacket 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 requestsProvides time-out support for driversRecords which installable components are
loaded in the system
14
I/O Manager - cont’dI/O Manager - cont’dNTFS 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)
15
Kernel LayerKernel LayerSchedules 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)
16
Hardware Abstraction LayerHardware Abstraction Layer Isolates the kernel from hardware variationsExports 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
17
Environment subsystemEnvironment subsystemUser mode process that provides services to
applicationsThese services emulate the behavior of a specific
OSConverts requests made by an application to
requests that NT’s kernel mode component understand
Implemented using Client/Server model:– Application Client– Environment subsystem Server
18
Win32 SubsystemWin32 Subsystem Implements the Win32 APIEach 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
20
OS/2 SubsystemOS/2 SubsystemSupports OS/2 up to 1.3 character-mode
applicationsEach OS/2 application runs on its own separate
address space and separate from the OS/2 subsystem’s address space
POSIX SubsystemSupports POSIX character-mode applicationsEach POSIX application runs on its own
separate address space and separate from POSIX subsystem’s address space
21
MS-DOS EnvironmentMS-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
23
Windows 16-Bit EnvironmentWindows 16-Bit EnvironmentAll Win16 applications are supported by a single
VDM called WOW (Win16 on Win32)WOW is like a virtual windows machineThe WOW runs on an address space separate from
all other user level processesA WOW emulates a PC as a DOS VDM doesWOW converts Win16 API’s and messages to and
from Win32The Win32 subsystem is used to execute the
translated calls
24
Win 16-Bit Environment – cont’dWin 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
26
BibliographyBibliography
http://www.win2000mag.com/Windows NT server 4.0 Administrator’s
Bible, R.Cowart and K.Gregg, IDG BooksInside Windows NT Workstation, George
Eckel, New Riders, 1996.