Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Windows NT Design Goals - Operating Systems Computing - Lecture Slides, Slides of Operating Systems

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

Typology: Slides

2012/2013

Uploaded on 04/23/2013

ashakiran
ashakiran 🇮🇳

4.5

(27)

268 documents

1 / 34

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Windows NT Design Goals
Windows NT had a number of design goals:
Compatibility: Windows 95 interface, support for
the FAT file system, MS-DOS, OS/2, Windows 3.x
and POSIX applications and for a wide variety of
devices and networks.
Portability: Windows NT runs on both CISC and
RISC processors.
Scalability: NT takes full advantage of symmetric
multiprocessing (SMP) hardware. The Microkernel
can run on any processor.
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

Partial preview of the text

Download Windows NT Design Goals - Operating Systems Computing - Lecture Slides and more Slides Operating Systems in PDF only on Docsity!

Windows NT Design Goals

  • Windows NT had a number of design goals:
    • Compatibility : Windows 95 interface, support for the FAT file system, MS-DOS, OS/2, Windows 3.x and POSIX applications and for a wide variety of devices and networks.
    • Portability : Windows NT runs on both CISC and RISC processors.
    • Scalability : NT takes full advantage of symmetric multiprocessing (SMP) hardware. The Microkernel can run on any processor.

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 Architectural Modules

  • Windows NT 4.0 architecture is divided into two main sections: user mode and kernel mode. - Kernel mode is a highly privileged mode of operation in which the code has direct access to all hardware and all memory, including the address spaces of all user processes. The part of Windows NT running in kernel mode is called the Windows NT Executive. It includes the the Hardware Abstraction Layer (HAL), Microkernel, and the Windows NT Executive Service Modules.

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 3.51 Architecture

System Services Memory^ Virtual Manager^ Process Facility^ LPC Manager Reference^ Security Manager^ Object (^) Monitor File Systems I/O Manager Cache Manager Device Drivers Microkernel^ Network Drivers

NT Executive

Hardware Abstraction Layer (HAL)

Hardware

User Mode Kernel Mode

Process^ Logon

Subsystem^ Security

Subsystem^ OS/

Client^ OS/

Subsystem^ Win

Win32Client Subsystem^ POSIX

POSIXClient

Subsystems^ Protected

Applications

Message PassingSystem Trap Hardware Manipulation

Windows NT 4.0 Architecture

Namespace and Object Management

  • An OS namespace gives applications the ability to identify and share resources. The file-system namespace is a well known part. Other resources include synchronization resources and shared memory.
  • NT’s Object Manager subsystem implements NT’s namespace. - The Object Manager is a collection of kernel functions that provide uniform resource tracking, naming, and security to applications and other kernel-mode subsystems.

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.

Process Management

  • NT and UNIX are time-sharing OSs that try to divide CPU time fairly between applications competing for the CPU.
  • Neither OS is suitable for a “hard” real-time environment.
  • NT defines an application using a process object , which serves as a container for all information about the application. - Includes a memory space definition that contains the application’s code and data, a table of resources, and one or more threads of execution.

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

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 is limited to 8 CPU SMPs.

Memory Management

  • Some versions of NT (e.g., NT Server 4.0, Enterprise Edition) support a switch that changes the virtual address space division to 3GB for user space and 1GB for kernel space.
  • The kernel space permanently maps the NT kernel and device drivers, but user-space mapping changes to reflect the map of the currently executing thread.
  • NT’s Memory Manager implements demand- paged virtual memory, in which the Memory Manager brings code and data into physical memory as an application accesses the code and data.

Virtual Memory