Top Banner
CE01000-6 Operating Systems Lecture 4 Overview of Windows Operating Systems
36

CE01000-6 Operating Systems Lecture 4 Overview of Windows Operating Systems.

Dec 29, 2015

Download

Documents

Erin Brown
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: CE01000-6 Operating Systems Lecture 4 Overview of Windows Operating Systems.

CE01000-6 Operating Systems

Lecture 4Overview of Windows

Operating Systems

Page 2: CE01000-6 Operating Systems Lecture 4 Overview of Windows Operating Systems.

Overview of Windows OS

In this lecture we shall give an overview of

1. Evolution of Windows operating systems

2. Versions, Builds and Service Packs

3. Design goals of Windows

4. Overall design of Windows

Page 3: CE01000-6 Operating Systems Lecture 4 Overview of Windows Operating Systems.

Evolution of Windows

Original versions of Windows – Windows 1.0, 2.0, 3.0, 3.1 – were essentially just a GUI front end to a simple command line driven operating system – MS-DOS

Microsoft then focused developments aimed at 2 separate markets Domestic consumer market with Windows 95, 98 &

ME Corporate business market with Windows NT 3.1,

3.51 & 4.0

Page 4: CE01000-6 Operating Systems Lecture 4 Overview of Windows Operating Systems.

Evolution of Windows (Cont.)

Windows 95 took over responsibility for some of the OS functionality from DOS and introduced real OS elements e.g. virtual memory & multiprogramming – hence proper multi-tasking.

But still much of the OS functions were still provided by DOS including the file system

In addition much of the code in Windows 95 was legacy code i.e. older code that ran more slowly and had various limitations

Page 5: CE01000-6 Operating Systems Lecture 4 Overview of Windows Operating Systems.

Evolution of Windows (Cont.) Windows 98 & ME had further developments

but were still limited by the legacy code and were often quite unstable

Windows NT – NT = ‘New Technology’ was developed from scratch with newer 32 bit code. It was a joint venture with IBM and is similar to OS2

Goal for corporate business market meant it emphasised security and reliability over friendliness of the user interface and multimedia/gaming support

Page 6: CE01000-6 Operating Systems Lecture 4 Overview of Windows Operating Systems.

Evolution of Windows (Cont.)

The 2 separate families of OS were independent of each other with completely separate code even for elements of the 2 OS that performed exactly the same function in both OS families - the code had to be different as the rest of the OS code for both families was different

Page 7: CE01000-6 Operating Systems Lecture 4 Overview of Windows Operating Systems.

Evolution of Windows (Cont.)

Having 2 separate OS ‘lines’ proved expensive for Microsoft so they wanted to bring the 2 markets together

Windows 2000 was aimed at both the domestic and business markets

Windows 2000 was a user friendly re-naming or re-branding of what was in fact Windows NT 5 – i.e. Windows 2000 is a development from Windows NT 4

Page 8: CE01000-6 Operating Systems Lecture 4 Overview of Windows Operating Systems.

Evolution of Windows (Cont.)

Windows XP is essentially Windows NT 5.1 and was a simple development from Windows 2000 (NT 5) The XP? is just a brand name

Windows Vista is NOT a new operating system it is just an evolution from XP and is essentially Windows NT 6.

Windows 7 is a rewrite of the Vista kernel in RISC code to improve speed and efficiency.

Page 9: CE01000-6 Operating Systems Lecture 4 Overview of Windows Operating Systems.

Version numbers, Builds and Service Packs

If you look at the internal version number for XP you will see something like:Microsoft ®Windows

Version 5.1 (Build 2600.xpsp_sp3_gdr.090260-1234: Service Pack 3

The internal version number gives the version number of the evolution from the Windows NT operating system

Page 10: CE01000-6 Operating Systems Lecture 4 Overview of Windows Operating Systems.

Version numbers, Builds and Service Packs (Cont.) The Build number represents how many

times the various software components have been compiled together to produce a complete running OS

Service packs are sets of updates and bug fixes (patches) for the OS that are bundled together for convenience – there have been 3 service pack releases for Windows XP

Page 11: CE01000-6 Operating Systems Lecture 4 Overview of Windows Operating Systems.

Version numbers, Builds and Service Packs (Cont.)

So Build numbers and Service Packs that are incorporated into a particular running Windows may vary from one instance of XP to another, but ALL show the same version number of 5.1

Page 12: CE01000-6 Operating Systems Lecture 4 Overview of Windows Operating Systems.

Original design goals of Windows NT

Extensibility - easy to modify, add new features/code - implies that a highly modular structure is needed, with each module having clearly defined responsibilities and interface to other modules

Portability - easy to move to different hardware platforms - implies that most of the code is platform independent, limiting direct hardware access to a small amount of code in specific modules

Page 13: CE01000-6 Operating Systems Lecture 4 Overview of Windows Operating Systems.

Original design goals (Cont.)

Reliability – OS must be able to protect itself and user’s programs and data from errors created by hardware or by software (maliciously or from bugs). This implies that

Application programs should never be able to crash the operating system or harm other peoples code/data

System behaviour should be predictable under error conditions.

Page 14: CE01000-6 Operating Systems Lecture 4 Overview of Windows Operating Systems.

Original design goals (Cont.) Compatibility - OS should be able to run existing

software that was designed to run on earlier systems (Dos/Windows xx), and other competing systems (Unix/ OS/2).

Performance - maximise performance on each hardware platform consistent with the achievement of the other goals

Multiprocessing and scalability - should be able to exploit the processing power available on multiprocessor systems

Page 15: CE01000-6 Operating Systems Lecture 4 Overview of Windows Operating Systems.

Original design goals (Cont.)

Distributed computing - should be able to distribute its computing tasks automatically across a network to other computers as required

Security - government-certifiable – to provide security features as specified by US government C2 certification

Page 16: CE01000-6 Operating Systems Lecture 4 Overview of Windows Operating Systems.

Reminder – OS models

Remember from last lecture – there are 3 common types of operating system model – ways of designing overall structure of OS: Monolithic operating systems Layered operating systems Client/Server operating systems

Page 17: CE01000-6 Operating Systems Lecture 4 Overview of Windows Operating Systems.

Windows NT design

Windows NT uses a mixed design using both a layered/modular and client/server approach to its overall structure - though layered/modular approach is predominant

Layered portions of OS consist in: Hardware Abstraction Layer (HAL) Device drivers and the kernel NT Executive

Page 18: CE01000-6 Operating Systems Lecture 4 Overview of Windows Operating Systems.

Windows NT design (Cont.) the client/server portion consists in the various

subsystems and Windows services that user programs call to carry out the services they want

Fundamental core components of the OS are designed using basic object oriented design principles so that for example code from one module does not directly interact with data structures of another component but only does so via a defined interface

Page 19: CE01000-6 Operating Systems Lecture 4 Overview of Windows Operating Systems.

Windows NT design (Cont.)

Problem/issue: Most of Windows code is written in C rather than in an OO programming language like C++ (though a small amount is written in C++) – reason was when they started development of NT, C++ had itself only just been developed

Hence C is used to mimic OO structures and approaches

Page 20: CE01000-6 Operating Systems Lecture 4 Overview of Windows Operating Systems.

Windows structure overview

USER APPLICATION SYSTEM SYSTEM SUBSYSTEM DLL ENVIRONMENT SUBSYSTEM SUPPORT SERVICES

NTDLL.DLL USER MODE

KERNEL MODE EXECUTIVE

API

I/O MANAGER

CACHE MANAGER

PROCESS & THREAD MANAGER

SECURITY REFERENCE MONITOR

VIRTUAL MEMORY MANAGER

Win32 USER and GDI (Graphics engine)

FILE SYSTEMS

PLUG & PLAY MANAGER

POWER MANAGER

CONFIGUARION MANAGER??

OBJECT MANAGER /

LOCAL PROCEDURE CALL

Graphics drivers

DEVICE

DRIVERS KERNEL

HARDWARE ABSTRACTION LAYER (HAL)

Page 21: CE01000-6 Operating Systems Lecture 4 Overview of Windows Operating Systems.

Hardware Abstraction Layer

Hardware Abstraction Layer (HAL) – provides a low level interface to the hardware platform the OS is running on - presents an abstract representation of underlying hardware to other parts of operating system hides hardware specific details by providing a common

interface by which other OS components can access hardware

Windows internal components access hardware via HAL

Relevant HAL to use with your hardware is selected at installation time

Page 22: CE01000-6 Operating Systems Lecture 4 Overview of Windows Operating Systems.

Device drivers

Device drivers - software that controls/manages the operation of the various IO devices. However – uniquely to Windows - they do not manipulate hardware directly but do so via calls to HAL

Device drivers are for hardware IO devices (where IO involves anything not

on the motherboard of the PC e.g. hard disks, etc. are considered as IO as well as printers, visual display, mice, keyboard, game controllers, etc.)

Page 23: CE01000-6 Operating Systems Lecture 4 Overview of Windows Operating Systems.

Device drivers (Cont.)

File system access – file system drivers control/manage the lower level details of the file system

Network access - Network drivers implement network protocols such as TCP/IP or redirect requests to other machines on a network

Page 24: CE01000-6 Operating Systems Lecture 4 Overview of Windows Operating Systems.

Kernel

Kernel – Ntoskrnl.exe – provides mechanisms for other components of OS to use the processor, but it also isolates processor hardware specific variations from rest of OS i.e. rest of OS sees a common set of services regardless of processor architecture OS is running on

Page 25: CE01000-6 Operating Systems Lecture 4 Overview of Windows Operating Systems.

Kernel (Cont.)

The Kernel includes: Thread scheduling and synchronisation Interrupt handling and exception processing Context switching, etc.

Kernel manages a set of kernel objects that represent processor events and resources

Page 26: CE01000-6 Operating Systems Lecture 4 Overview of Windows Operating Systems.

NT Executive

NT Executive - hardware independent - organised as a set of modules at the same level but that talk to each other through defined interfaces.

Provides an interface via Ntdll.dll to user applications to use OS functions

Page 27: CE01000-6 Operating Systems Lecture 4 Overview of Windows Operating Systems.

NT Executive Components

Major components of NT executive: IO manager – provides services to other

components to allow device independent IO and manages device drivers to do this

Process and thread manager – provides service to other components allowing them to create, manage and terminate threads and processes – uses kernel and kernel objects to do this

Page 28: CE01000-6 Operating Systems Lecture 4 Overview of Windows Operating Systems.

NT Executive Components (Cont.)

Memory manager – implements virtual memory – providing address space exceeding actual physical memory

Cache manager – manages disk cache of recently accessed files/data from secondary storage – handles replacement and updating of data on disk

Configuration manager – implements and manages the system Registry – briefly Registry is a database of configuration information that is specific to the set up of the OS on an individual PC

Page 29: CE01000-6 Operating Systems Lecture 4 Overview of Windows Operating Systems.

NT Executive Components (Cont.)

Security Reference Monitor – enforces security policy on objects/components in the system – limiting access to resources and auditing that access

Plug and play manager – determines which drivers are required for which IO devices and loads appropriate drivers without user intervention

Power manager – provides power management services – particularly reducing power consumption of various devices including processor

Page 30: CE01000-6 Operating Systems Lecture 4 Overview of Windows Operating Systems.

NT Executive Components (Cont.)

Object manager –all elements within Executive are represented as objects – object manager supports creation, deletion and management of those executive objects for other components of OS

LPC (Local Procedure Call) – implements client/server communication local to the machine i.e. provides mechanism to support client/server components of OS

Page 31: CE01000-6 Operating Systems Lecture 4 Overview of Windows Operating Systems.

NT Executive Components (Cont.)

Win32 GDI & USER – provides window management functions – allows user code to define interface controls – menus, buttons, etc, and set up windows/dialog boxes, etc.

Windows manger uses GDI – Graphics Device Interface – which provides a set of device independent 2 dimensional graphics functions for other components on the system to use in turn GDI graphics functions are implemented by graphical device

drivers for relevant graphical display device

Win32 GDI & USER originally ran as user level services – but were later incorporated into lower level of OS to increase speed of processing graphics requests

Page 32: CE01000-6 Operating Systems Lecture 4 Overview of Windows Operating Systems.

Subsystems and Services

Above the NT Executive comes the user programs and the various environmental subsystems which user programs call

Different subsystems are designed to provide different environments for programs to execute in i.e. allow a program written to execute using a different operating systems to execute on Windows

Page 33: CE01000-6 Operating Systems Lecture 4 Overview of Windows Operating Systems.

Subsystems and Services (Cont.)

Various system support processes and system services – that provide a variety of services to support user and user application programs – such as logon and spooling

The subsystems and services have a client/server organisation with user programs making requests for service to the subsystems or the support services

Page 34: CE01000-6 Operating Systems Lecture 4 Overview of Windows Operating Systems.

NTDLL

NTDLL is a system interface library module it provides an interface to the Windows NT

Executive services that all the environmental subsystems can access

the various environmental subsystems translate the user application API requests into calls to the library of routines provided by NTDLL

Page 35: CE01000-6 Operating Systems Lecture 4 Overview of Windows Operating Systems.

NTDLL (Cont.)

NTDLL translates those requests into system calls to services provided by the various NT Executive modules [Note - the ‘.dll’ means Dynamic Linked

Library – which is a set of code modules which can be incorporated dynamically into the code of other programs, but do not form a separate program [no main() function]

Page 36: CE01000-6 Operating Systems Lecture 4 Overview of Windows Operating Systems.

References

Operating System Concepts. Chapter 22 & Appendix C.