A5_Presentation2

Download Report

Transcript A5_Presentation2

Windows NT
A Distributed Architecture
Professor: Mohamed Khalil
CSE 8343
GROUP-A5
Dhaval Sanghvi
Amit Sharma
Ali Abbas (Video-Tape)
1
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
2
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
3
Design goals of Windows NT

Extensibility
 Portability
 Reliability
 Compatibility
 Security
 Performance
 Scalability
 Localization
4
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.
5
Architecture - cont’d
6
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
7
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.
8
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
9
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.
10
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
11
VMM - cont’d

Drivers can be dynamically loaded, unloaded,
started and stopped without rebooting the
system
 Multiple installable file systems including MSDOS FAT ( File Allocation Table), High
Performance File System(HPFS), the CDROM file system and the NT File
System(NTFS)
12
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
13
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)
14
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 kernelmanaged objects (e.g. events, mutexes,
semaphores and timers)
15
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
16
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
17
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
18
Win32 Subsystem - cont’d
19
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
20
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
21
MS-DOS Environment - Cont’d
22
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
23
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
24

Summary
25
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.
26
Any Questions
?
27