|
An operating system has several functions that can be broken down in to two categories.
These are;
1. Interfacing with the hardware
2. Process Management
Let us take a look at number one: Interfacing with the hardware...
INTERFACEING WITH THE HARD WAREZ
The Operating System, on a base level, performs read and write operations on a variety of devices - such as the hard drive, the RAM, and so on. The O/S interfaces with system drivers that instruct the operating system how to interface with the hard ware - such as in put and out put ports - how much data to read or write - and which interrupts to use for the hard ware.
That said, looking at the bottom up model - the O/S simplifies the interface (usually with a GUI and point and click mechanism) to the hard ware level giving an easy to use abstraction.
PROCESS MANAGEMENT
This in effect has several facets to it self. The O/S prioritises processes, executes each process in turn on a single or multiple processor machine making multitasking possible, and also sends interprocess communications to processes to block, sleep, wake, and so on so that the operating system runs smoothly.
The O/S actually activates each process in a round-robin fashion, starting with the first, moving to the next, and eventully reaching the end and returning to the beginning of the process tree. I call it a tree, because of its heirarchical nature. This, by essence, gives certain system processes for example, a higher priority than the lower user processes. There fore, if any system processes need to execute - they will do so until all system processes have completed, then user processes get executed in turn. The O/S usually gives each process 500ms to execute, sometimes more, sometimes less, depending on the purpose of the O/S and the types of programs it runs. Real Time Operating systems are a different breed of donkey altogether - and will not be mentioned any further for risk of sounding like an idiot out of his depth.
This is the basic details of an operating system. The kernel performs such tasks in Linux systems, as does the core in MSN systems. Every operating system has these basic elements to perform, and how it performs them seperates each O/S from the next. Thus ends this tutorial on Operating System Design.
Written by: Anonymous for Blacker Media
|