Thursday, June 27, 2019
Home > Operating System > Day 4: Operating System Structure

Day 4: Operating System Structure

Operating System Software Is Organised With Operating System Services And The Components Of The Operating System.

The Picture Shows You The Operating System Services.

The Above Picture Shows The Overview Of The Operating System Services.

  • Program Execution
  • I/O Operation
  • File Systems
  • Communication
  • Resource Allocation
  • Accounting
  • Error Detection
  • Protection And Security

All These Services Are Managed By The Operating System. These Services Work Together.

An Operating System Is A Very Complex Software When You Are Developing This Complex Software, You Can Design In The Way In Which The Services Can Work Together.

The Early Design Were:-

1. Monolithic/Simple Structure 

Which Means There Is No Structure At All, But There Were Ideas To Organise The Interfaces Between The Services,

The First Way To Do Those Was Layered Approach

2. Layered Approach 

Then There Was Microkernel

3. Microkernel 

4. Modular

5. Hybrid

Many Modern System Today Use Hybrid, Which Is The Combination Of These Different Types Of Structures.


Layered Design

Layered Designed Means That You Have Clearly Defined Interfaces Between The Services And The Services Are On A Particular Layer.

See The Below Picture,

“Layer 0” Is The Hardware


“Layer N” Is The Applications And The Interface With The Operating System Then All Of The Services Of The Operating System Are Placed On Different Layer.

So, A Layer Will Use All Of The Services What Is Below It And The It Will Provide Services What Is Above It.

So The Problem Lies In ” What If The Service Needs A Service That’s In A Layer Above It?”

And If It Wasn’t Clearly Layered Out Then You Would Have Problems Because In A Strict Hierarchical Layer Software Development Structure You Can Only Use The Layers Below.

But There Are Some Benefits Using The Layered Design, You Have Clear Design Clearly Defined Interfaces Between The Services And It Is Good For Development Purposes Because If You Know If A Layer Is Working And Then You Go To Get The Next Above It, You Start Working On The Next Layer Above It, You Start Run Into Problems Then You Know That That’s The Problems Are Going To Be In The New Layer That You Are Making.

So There Are Benefits If You Use Layered Structure.



In This Design, The Idea Was To Move Most The Services Out Into User’sSpace Run All Those Services As Your Applications And Have Very Very Small Kernal And So When System Goes To Load Up, All You Have To Load Up Is Very Small Kernal Which Is Basically A Communication A Little Bit Of Scheduling And Memory Management And Move All Of The Other Services Of Operating System Out Side Of Kernal Space.

So The Benefits Of That Is Its Easier To Port Different Architectures, It’s Easy To Extend, You Can Make New Services, That Are User Applications And You Just Have To Bind Them With And Have Them Work With The Micro Kernal, It’s More Reliable, Its More Flexible, So There Are Lot Of Benefits To Using This microkernel

The Detriment Comes In The Overhead, Now Because The Microkernal Needs To Have Control Of All Of The Applications On The System It Also Have Control Of All The Kernal Services That Are Run As User Applications On The System.

So There Is A Ton Of System Calls Going On And A Ton Of System Calls For Communication, So That Is Not A Benefit Of This Because It Slows Down The Process, You Have To Constantly Have The Operating System Get Involved When Any Kind Of Services Need To Work Together.



The Modular Is The Latest And Uses The Object-Oriented Approach, This Has Small Kernal. The Components Once They Are Loaded In They Can Work Together So Its Similar To A Layered And There Is Interfaces Between The Servies Its Similar To The Microkernel And That It Has A Small Kernal And More Flexible And This Is Clearly The Best Way For Implementation And However If You Notice When You Get To The Point Where You Are In Modular You Have All Of These Services Working Together And Interfacing With Each Other Without Kernal Involvement Then You Are Actually Almost Coming Right Back To Around To A Modal Effect Structure Where You Just Have Processes That Are Running On Your System And Not In Any Kind Of Strict Hierarchy.


So Most Systems Do Use A Hybrid Structure Where They Would Have Some Type Of Layered Structure With Certain Functions And Services And Certains Layers And May Be A Microkernel And They Are Just Modulars There Is Always New Ideas Come Along But This Is Just A Basic Understanding Of The Different Ways You Can Structure The Services And The Software Of The Operating System.


Modular Vs Layered

Modular vs Layered Comparision

Virtual Machine

Virtual Machine Allows One Hardware To Run Different Types Of Systems Now This Is Been Around A Very Long Time I Know Now You Can Run Windows On Apple Computer But The Idea Came About A long Time Ago Four Isolating Different Systems From Each Other On One Hardware For Testing, So It Was Developed A Long Time Ago This Virtual Machine It Usually Didn’t Have A Host Operating System It Just Had A Host Software Which Was Called A Virtual Machine Monitor Or Virtual Machine Manager And You Could Run Different Completely Isolate Each System From Each Other And Run Different Processes All On One Hardware Or Run Different Operating Systems On The Same Hardware And One Could Crash And It Wouldn’t Effect The Other One.






One thought on “Day 4: Operating System Structure

Leave a Reply