CE 01000 6 Operating Systems Lecture 4 Overview

  • Slides: 36
Download presentation
CE 01000 -6 Operating Systems Lecture 4 Overview of Windows Operating Systems

CE 01000 -6 Operating Systems Lecture 4 Overview of Windows Operating Systems

Overview of Windows OS In this lecture we shall give an overview of 1.

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 l

Evolution of Windows l l Original versions of Windows – Windows 1. 0, 2.

Evolution of Windows l l Original versions of Windows – Windows 1. 0, 2. 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 l l Domestic consumer market with Windows 95, 98 & ME Corporate business market with Windows NT 3. 1, 3. 51 & 4. 0

Evolution of Windows (Cont. ) l l l Windows 95 took over responsibility for

Evolution of Windows (Cont. ) l l l 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

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

Evolution of Windows (Cont. ) l l l 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 OS 2 Goal for corporate business market meant it emphasised security and reliability over friendliness of the user interface and multimedia/gaming support

Evolution of Windows (Cont. ) l The 2 separate families of OS were independent

Evolution of Windows (Cont. ) l 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

Evolution of Windows (Cont. ) l l l Having 2 separate OS ‘lines’ proved

Evolution of Windows (Cont. ) l l l 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 renaming or re-branding of what was in fact Windows NT 5 – i. e. Windows 2000 is a development from Windows NT 4

Evolution of Windows (Cont. ) l Windows XP is essentially Windows NT 5. 1

Evolution of Windows (Cont. ) l Windows XP is essentially Windows NT 5. 1 and was a simple development from Windows 2000 (NT 5) l l l 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.

Version numbers, Builds and Service Packs l If you look at the internal version

Version numbers, Builds and Service Packs l If you look at the internal version number for XP you will see something like: Microsoft ®Windows Version 5. 1 (Build 2600. xpsp_sp 3_gdr. 0902601234: Service Pack 3 l The internal version number gives the version number of the evolution from the Windows NT operating system

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

Version numbers, Builds and Service Packs (Cont. ) l l 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

Version numbers, Builds and Service Packs (Cont. ) l So Build numbers and Service

Version numbers, Builds and Service Packs (Cont. ) l 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

Original design goals of Windows NT l l Extensibility - easy to modify, add

Original design goals of Windows NT l l 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

Original design goals (Cont. ) l Reliability – OS must be able to protect

Original design goals (Cont. ) l 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 l l 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.

Original design goals (Cont. ) l l l Compatibility - OS should be able

Original design goals (Cont. ) l l l 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

Original design goals (Cont. ) l l Distributed computing - should be able to

Original design goals (Cont. ) l l 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 C 2 certification

Reminder – OS models l Remember from last lecture – there are 3 common

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

Windows NT design l l Windows NT uses a mixed design using both a

Windows NT design l l 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: l l l Hardware Abstraction Layer (HAL) Device drivers and the kernel NT Executive

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

Windows NT design (Cont. ) l l 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

Windows NT design (Cont. ) l l Problem/issue: Most of Windows code is written

Windows NT design (Cont. ) l l 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

Windows structure overview

Windows structure overview

Hardware Abstraction Layer l Hardware Abstraction Layer (HAL) – provides a low level interface

Hardware Abstraction Layer l 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 l l l 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

Device drivers l l Device drivers - software that controls/manages the operation of the

Device drivers l l 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 l 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. )

Device drivers (Cont. ) l l File system access – file system drivers control/manage

Device drivers (Cont. ) l l 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

Kernel l Kernel – Ntoskrnl. exe – provides mechanisms for other components of OS

Kernel l 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

Kernel (Cont. ) l The Kernel includes: l l Thread scheduling and synchronisation Interrupt

Kernel (Cont. ) l The Kernel includes: l l 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

NT Executive l l NT Executive - hardware independent organised as a set of

NT Executive l l 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

NT Executive Components l l l Major components of NT executive: IO manager –

NT Executive Components l l l 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

NT Executive Components (Cont. ) l l l Memory manager – implements virtual memory

NT Executive Components (Cont. ) l l l 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

NT Executive Components (Cont. ) l l l Security Reference Monitor – enforces security

NT Executive Components (Cont. ) l l l 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

NT Executive Components (Cont. ) l l Object manager –all elements within Executive are

NT Executive Components (Cont. ) l l 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

NT Executive Components (Cont. ) l l Win 32 GDI & USER – provides

NT Executive Components (Cont. ) l l Win 32 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 l l in turn GDI graphics functions are implemented by graphical device drivers for relevant graphical display device Win 32 GDI & USER originally ran as user level services – but were later incorporated into lower level of OS to increase speed of processing graphics requests

Subsystems and Services l l Above the NT Executive comes the user programs and

Subsystems and Services l l 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

Subsystems and Services (Cont. ) l l Various system support processes and system services

Subsystems and Services (Cont. ) l l 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

NTDLL l l l NTDLL is a system interface library module it provides an

NTDLL l l l 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

NTDLL (Cont. ) l NTDLL translates those requests into system calls to services provided

NTDLL (Cont. ) l NTDLL translates those requests into system calls to services provided by the various NT Executive modules l [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]

References l Operating System Concepts. Chapter 22 & Appendix C.

References l Operating System Concepts. Chapter 22 & Appendix C.