Windows Architecture - Advanced Operating Systems - Lecture Slides, Slides of Advanced Operating Systems

Main points of this lecture are: Windows Architecture, Current Version of Windows, Windows Nt Design Goals, Distributed Processing, Transport Protocols, Remote Procedure Calls, Reliability and Robustness, Kernel Mode, Hardware Abstraction Layer

Typology: Slides

2012/2013

Uploaded on 04/23/2013

atasi
atasi 🇮🇳

4.6

(32)

134 documents

1 / 36

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
CS 620 Advanced Operating
Systems
Lecture 6 Windows Architecture
Docsity.com
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24

Partial preview of the text

Download Windows Architecture - Advanced Operating Systems - Lecture Slides and more Slides Advanced Operating Systems in PDF only on Docsity!

CS 620 Advanced Operating

Systems

Lecture 6 – Windows Architecture

Windows Architecture

  • The current version of Windows (Windows 7),

as well as Vista, XP and 2000 are based on the

Windows NT kernel

  • This lecture describes the Windows NT architecture
  • Previous versions of Windows (ME, 98, 95, 3.1) are based on a different (less advanced) kernel which was an extension of MS-DOS

Windows NT Design Goals

  • Security : Windows NT has a uniform security

architecture designed to provide a safe environment to run mission-critical applications. It has met the requirements for C2 level security.

  • Distributed Processing : NT is designed with

networking built into the base OS. NT supports a number of transport protocols and named pipes, remote procedure calls (RPCs), and Windows Sockets.

Windows NT Design Goals

  • Reliability and Robustness : this means that the architecture must protect the OS and applications from damage. Applications cannot read or write outside of their own address space. The OS is isolated from applications.
  • Localization : NT is offered in many countries around the world, in local languages, and supports Unicode.
  • Extensibility : the modular design of NT allows modules to be added to all levels of the OS.

Windows NT Architectural

Modules

  • User mode is a less privileged processor mode with no direct access to hardware. Code running in user mode acts directly only in its own address space. It uses well- defined operating system application program interfaces (APIs) to request system services. The environment and integral subsystems run in user mode.
  • In Windows NT 4.0, the Windows Manager, the Graphics Device Interface (GDI), and graphics device drivers have been moved from the Win32 subsystem to the Windows NT Executive. This was done to improve performance, but it reduces the reliability of the system.

Windows NT Architectural

Modules

  • Windows NT 4.0 moves further away from a pure microkernel architecture.
  • Pure microkernel architectures are modular, and they keep the number of components running in kernel mode to a minimum.
  • These architectures are inherently more reliable, but they may suffer from performance problems due to constant context switches.
  • Windows NT is a modified microkernel architecture.

Windows NT 4.0 Architecture

Unix Architecture

Application

X-Windows (^) User Mode

Kernel Mode

Device Drivers Process Mgmt., Memory Mgmt, etc.

Hardware Dependent Code

System Services

Namespace and Object

Management

  • Kernel subsystems define Object Manager objects to represent the subsystem’s resource types, and rely on the Object Manager’s support routines for naming and security.
  • Processes are represented as process objects, files as file objects, etc.
  • The Object Manager notifies subsystems that own an object when applications close, open, or query the object. This is done via method functions registered when the object type is defined.
  • In response, subsystems can perform actions particular to the object type.

Namespace and Object

Management

  • UNIX’s object-tracking mechanism is not as formal

as NT’s. It is based on i-nodes.

  • Remember that files represent devices and

sockets as well as “normal” files.

  • The kernel notifies file system drivers of actions

that applications perform on i-nodes.

  • This is done by calling functions registered in a

table that the file system associates with i-nodes.

  • Both namespaces are hierarchical.

Process Management

  • The NT scheduler divides time between threads (not between applications). Applications can create additional threads, and all of an application’s threads share resources and memory space.
  • The scheduler attempts to give CPU time to the highest-priority thread available.
  • There are two classes of threads: dynamic (with a priority value of between 1 and 15) and real-time (with values between 16 and 31).

Process Management

  • Real-time priority values are fixed; the scheduler

does not adjust those priority values.

  • Typically, only a few OS-owned threads execute in the real-time range.
  • Same priority threads are scheduled in a

preemptive, round-robin manner.

  • The NT scheduler can also preempt the kernel.

Further, multiple threads can execute kernel code on separate CPUs.

  • These two features allow for SMP.

Process Management

  • Process management in modern UNIX systems is similar to NT process management.
  • UNIX schedulers usually implement three priority classes - realtime, system, and dynamic - that span priority numbers from 0 to 100.
  • The kernels of most UNIX implementations are fully preemptible and reentrant. - Several varieties of UNIX (HP-UX, AIX, Solaris) run on large SMPs with 32 or more CPUs, some run on asymmetric multiprocessors. NT 4.0 was limited to 8 CPU SMPs.

Memory Management

  • An OSs memory manager is responsible for defining virtual address spaces for application code and data, and for sharing the physical memory resource of the computer among applications.
  • NT’s Memory Manager defines a 32-bit virtual address map for 4GB of virtual memory. Usually, NT assigns the low 2GB to the user mode and the upper 2GB to the kernel mode. - Applications do not have direct access to the kernel- mode portion of the address space.