Windows Operating System Architecture Microsoft Windows Operating System System series are one of the most popular operating system among the users. The first Windows was released in 1985 1985 ( (Windows Windows 1.0) 1.0) and since then till today the Microsoft OS has dominated the personal computer market. Windows has been written in Assembly Assembly,, C and C++ C++ languages languages and it is simply a graphical user interface (GUI (GUI)) that manages and maintains the users computer resources and components. components. !omputer software is categori"ed in Application software and software and ystem software. software. #pplication software can perform a specific task, a te$t or image editor such as Microsoft Word or #dobe %hotoshop are some e$ample of #pplication software. &ut system software refers to the software that enables a computer to function efficiently. These special sorts of software consist of programs, interpreter, and languages to control the operation of a computer system. 'n this post we will talk about the Windows !peratin" ystem e#ol$tion and e#ol$tion and its arc%itect$re as arc%itect$re as system software. So before we start, let see what an operating system is e$actly. e$actly.
Operating System #n operating system (! ( !)) is ystem software. software. 't is a collection of programs programs that acts as an interface or mediator between the user (user programs) and the computer hardware. 't proides a human friendly enironment enironm ent for users to e$ecute hisher program. program. Operating systems allow us to operate and maintain the hardware in desired way and and according to our needs. needs. Some e$amples of OS are Microsoft Microsoft Windows, *inu$, Macintosh OS + and -'+. en today, mobile phones hae their own operating system.
Tasks of an Operating System We need to use computers as a daily base to perform certain tasks like reading our email, writing a letter or watching a ideo. We also need to store our data in the system for later references or uses. #ll these tasks and process must be done by the operating system. #n OS must hae built in facilities to proide us some serices to accomplish all these /obs. Otherwise Otherwise we end up with an an undependable undependable and unsecured unsecured system. The The serices or tasks that an OS offers users are categori"ed in 0&rocess 0&rocess 'ana"ement, 'ana"ement, Inp$t(o$tp$t !peration )I(!*, )I(!*, ile 'ana"ement and 'ana"ement and 'emory 'ana"ement0. 'ana"ement0.
Process Management # process process is is an instant of a pro"ram that1s pro"ram that1s currently running. %rocesses can run simultaneously and the OS manages and control all the processes. # user can listen to the music while heshe is making a spread sheet (m$ltitas,in" m$ltitas,in"). ). $ecution of any program needs resources like memory and !%. Today the modern computers hae ability to perform different tasks at the same time. 'f you are using a network, then sharing the information between the nods and processes is necessary. #n OS can create and delete a process, manage the resources for processes, synchroni"es their e$ecution and allocate the memory.
Input/Output Operation Operating system control Inp$t Inp$t and and !$tp$t !$tp$t deices, deices, so the user can enter data and access the output. OS schedules the allocation of the 'O deices for all processes. #s a user, when we e$ecute a program we need to enter data and get our desired result. 2or e$ample, if a user writes ('nput) a letter with a te$t editor, he also needs to print (Output) the same letter or iews it on the monitor. ach input or output deice (3eyboard, Mouse, %rinter, etc.) has its own controller controller.. The operating system must hae the power to manage all these deices and hide (abstraction ( abstraction)) their hardware details from the user.
File Management #n OS gies you a user friendly enironment for ile operations like operations like creating a new file, rename a file, delete an e$isting file etc. we all need some space on our local machine for storing information and data permanently. These data and information can include different type of files like image, te$t, ideo, or een programs. We also need space to sae the output or result of a program in our system. #ll these files must be organi"ed in a manner that can retriee easily wheneer we need them. 2or storing the data permanently we use secondary storage deices such as a hard drie. The operating system creates, manipulates, organi"es and manages all files.
Memory Management #s ' mentioned in the %rocess Management, the OS manages memory allocation for the running processes. When a program e$ecuted, it is e$ecuted as processes. 'n other words, a process encapsulates the conte$t of a running program. One e$ecution of a process finished, it should remoe from the system. There might be many programs running at the same time that they need to access the 'ain memory. ery memory location (array of bytes or words) has different addresses. The !% can access these addresses directly. So the operating system has to allocate memory to allow the e$ecution of processes. When the main memory is not aailable and occupied by other processes, the OS must use the secondary storage deice as an alternatie to store some of the waiting processes and frees the memory. Allocation and de-allocation of memory is one important feature of an operating system.
Evolution of Windows OS The ability to eole is another feature of a good 4uality operating system. With the fast growing of the technology, users need new improement and serices eery day. The design of an operating system must be in a way that can proide easy installation of new serices and updates. Since 5678 that Microsoft introduced the Windows 5.9, this operating system has eoled from Windows ./ family to the Windows . #ll the Windows ersions came from these two families, some of them originating from Windows :.+ and another from Windows -T.
Windows !" family Windows !# Microsoft Windows .1 was the first member of windows family. 't had a graphical user interface (GUI) and was based to run on the 2! (;isk Operating System). Windows :.5$ is a 13-bit operating system that was designed for personal computers.
Windows for Workgroups !## The main feature of Windows for Wor,"ro$p .11 was the networ, support. 't supported 4-bit access, full :<=bit network re=directors and ran on the 2!.
Windows $% The Windows 95 was a significant improement from the preious Windows ersions. 't was designed for end= user desktop with better user interface, network support and pl$"-and-play feature (connect deices to the system without the need of configuration).
Windows $& The second ma/or release in the Windows 6$ family was the Windows 98. 't included new features such as Wiards, Utilities, ools and resources for better performance. The Windows 67 is a 13-bit(4-bit OS with an '-2! based boot stage. This operating system was faster than the Windows 68 and contained enhanced teleision, ideo playback, and new hardware support.
Windows Me The last operating system released in the Windows 6+ series was the Windows 'illenni$m or '6 and it was designed by Microsoft for home users. 't had the ability to connect users computers at home to create a local area networ, with better 'nternet connectiity, and work with rich multimedia content such as photos, ideos, and music.
Windows 'T family Windows 'T
The first ersion of Windows )ew ec%nolo"y* family was released in 199. 'ts design was based on Windows 68 user=interface and was a m$ltiprocessor and m$lti$ser operating system. 't was a true 4-bit operating system, which was optimi"ed to work with :<=bit architecture hardware deices. #t this stage, Microsoft started to remoe the dependencies on ;OS and began to fully rely on the 7ernel.
Windows ())) Windows 4000 design was built on Windows 67 user=interface and made business user more productie. Windows <999 introduced many of the new features of Windows 67 and Windows 67 S into the -T family. Windows <999 made b$siness $ser more productie. 'ts integrated Web capabilities and support for mobile computers and hardware deices made Windows <999 the easy way for business user to connect to the 'nternet anywhere and anytime.
indows "P Microsoft used power of Windows <999 and business features of Windows 67 and Me and made Windows /&. Windows +% was a smarter OS and introduced seeral new features to the Windows line, such as >;'? graphics subsystem and improed image management, Start Menu and Taskbar improements, 'ntegrated -etworking and Multimedia support and many more. The operating systems that eoled after origin of Windows <999 were based on the Windows 4000 arc%itect$re only. The other Windows operating systems after +% include Windows ista, , and Windows 8.
Windows *rc+itecture Windows 4000 arc%itect$re is the latest architecture of Windows operating system and the newer ersions of the Windows OS hae the same structure as Windows <999. This structure is a mod$lar structure, composed of seeral simple modules. These modules are@ •
Aardware #bstraction layer
•
3ernel
•
$ecutie Serices
•
%rotected Subsystems
•
nironment
,ardware *-straction .ayer What we mean by :ardware Abstractions is a set of routines that gie a program direct access to the hardware resources. The :ardware Abstraction ;ayer ):A;* makes the %ardware dependencies transparent to the rest of the operating system. This allows Windows <999 to be portable from one hardware platform to another. 't is a thin layer of software or programming that hides ( Abstraction) the hardware differences from the operating system. The A#* consists of a series of function that hides or abstract differences between hardware platforms. 2or e$ample, the processor used in your system can be from any endor, such as 'ntel, #danced Micro ;eices, and Motorola. 'n the Windows -T OS, the A#* is placed in the 7ernel and in the space between hardware and the Win -T serices.
ernel The 7ernel works ery closely with the :A; and is the heart of the operating system. 't schedules the actiities to be performed by the !%. On a computer that has multiple processors, the kernel synchroni"es actiity among processors to optimi"e performance. 2or e$ample, if you open more than one application, such as, MSWord, MS $cel, and %ower%oint, the kernel schedules the processors time within all applications. 7ernel-mode de#ice dri#ers enable the Windows -T to interact with hardware components. These driers hae some system routines that represent all the system deices seen as a file ob
Model (W'2). The lowest leel directly controls the hardware and do not rely on the intermediate or high leel driers. #nother term that we are seeing in the Windows architecture is the 'icro,ernel. The Microkernel is a collection of programs that can proide tasks such as address space mana"ement, t%read mana"ement and interprocess comm$nication (I&C). The Microkernel along with the Windows kernel are in charge to make the operating system work efficiently.
E0ecutive Services The 6=ec$ti#e er#ices, which includes the kernel and the A#*, proides a set of common serices that the user can use. This section interacts with Inp$t(o$tp$t de#ices, ob
Ob/ect Manger
•
%ower Manger
•
%rocess Manager
•
'O Manager
•
Cirtual Memory Manager
•
*ocal %rocedure !all 2acility
•
!ache Manager
•
Security Deference Monitor
•
%lug and %lay Monitor
•
;eice ;rie Manager
O-1ect Manager The !b
Power Manager The &ower 'an"er deals with power eents like power-off , stand-by, and %ibernate. Windows <999 supports all of the latest standards in %ower Management including the Ad#anced &ower 'ana"ement (A'&) and Ad#anced Confi"$ration and &ower Interface (AC&I). !onse4uently, network deices can be powered off when not in use and dynamically reactiated when network access is re4uired. Windows <999 also supports Wa,e-on-;A technology, allowing an entire machine to be powered down and then reactiated ia incoming network re4uests. With A&' and AC&I support, Windows <999 has the potential to run for longer periods of time on battery powered systems due to its ability to consere power when not in use and then be dynamically reactiated ia incoming network re4uests.
Process Manager The &rocess 'ana"er manages the creation and deletion of processes. 't proides a standard set of serices for creating and using processes. The windows %rocess Manager works in con/unction with the ec$rity 'odel and
the irt$al 'emory 'ana"er to proide inter-processes protection.
I/O Manager The I(! 'ana"er manages all the inp$t and o$tp$t for the operating system. 't supports all file system driers, hardware deice driers and network driers, and proides a heterogeneous enironment for them. The 'O Manager proides a common interface that all driers, such as A file system drier and drier can call. This allows the 'O Manager to communicate with all driers in the same way, without any knowledge of how the deices they control actually work. The 'O Manager proides a cac%e mana"er for improing the dis, performance by caching the read re4uest and then writes them on the disk in the background.
2irtual Memory Manager The memory architecture for Windows<999 is a demand-pa"ed #irt$al memory system, accessed ia 4-bit address. irt$al 'emory is the term used to describe the techni4ue where the operating system can allocate more memory than what is physically aailable. ach process is allocated its own uni4ue irtual address space, which appears to be > "i"abytes (G?) in si"e. This address space is diided into block of e4ual si"e called &a"es. 2emand &a"in" is a method by which data is moed in pages from p%ysical memory to a temporary pa"in" file on the disk. #s the process needs data, it is paged back into physical memory. The Cirtual Memory Manager maps irtual addresses in the processs address space to physical pages in the computers memory. 't hides the physical organi"ation of memory from the processes. This ensures that processes do not access the memory of other processes.
.ocal Procedure 3all Facility Windows <999 proides a communication mechanism between the applications and the enironment subsystems. The e$ecutie system implements a message passing facility called a ;ocal &roced$re Call (;&C). #pplications communicate with the enironment subsystems by passing messages ia the *%! facility. The *%! contains interprocess comm$nication ports that can be used by $ser-mode s$bsystem for communication.
3ac+e Manager The Cac%e 'ana"er is a part of the I(! architecture. 't handles caching for the entire 'O system. !aching is used to improe the performance of the 'O systems. 'nstead of reading and writing directly to disk, fre4uently used files are temporarily stored in a cache in memory, and read and write operations are performed to these files in the memory. This improes the performance since reading and writing to memory is much faster than reading and writing to disk. The !ache Manager proides caching serices for all file systems and network components under the control of the 'O Manager. The !ache Manager dynamically changes the si"e of the cache as the amount of aailable D#M aries. When a process opens a file that is already present in the cache, the !ache Manager copies data from the cache to the processs memory, and ice ersa, as read and write operations are performed.
Security 4eference Monitor The ec$rity @eference 'onitor (@') is responsible for enforcing the access #alidation and a$dit"eneration policy defined by the local security subsystem. 'ts also responsible for controlling which ob/ects hae permissions to which resource. ach ob/ect has an Access Control ;ist (AC;) that is 4ueried when the ob/ect makes a serice re4uest. #ccess to resources is allowed or disallowed according to the right the module has in the #!*. 2or e$ample, you hae created a shared directory haing read permission. 'f other users try to write into the directory, the Security Deference Monitor will check for the permission and will deny writing into the directory.
Plug and Play Manager &l$" and &lay, which made its first appearance with Microsoft Windows 95, is now a feature of Windows 4000. !hanges hae been made within the system architecture of Windows <999 to accommodate this facility. !ompatible deices can now be introduced and Windows will configure the deice. &n& supports de#ice detection and installation at boot time which may re4uire the reconfiguration of other deices. %lug=and=%lay automatically tells the software (deice driers) where to find arious pieces of hardware deices such as modems, network and sound cards etc. 'ts task is to match the physical deices with the software that operates them and to establish channels of communication between each physical deice and its drier.
5evice Manager
2e#ice 'ana"er allows you to check the status of your %ardware de#ices and to update de#ice dri#ers for the hardware installed on your computer. 't also checks how the hardware interacts with your computer programs. Eou can also use ;eice Manager to check the status of your hardware and update deice driers for the hardware installed on your computer.
Environment Su-systems Windows <999 allows many different types of applications to run on the same graphical desktop. 't runs applications for operating systems such as MS=;OS, OS<, Windows and %OS'+. Windows <999 support a ariety of applications through the use of 6n#ironment $bsystems, which are Windows <999 processes that emulate different operatin" system en#ironments. 2or e$ample, through command prompt of Windows <999, you can get the !' enironment of ;OS.