One of the primary task of operating system is to manage the internal resources (hardware) in such a way so that it should achieve the performance (service). It can also be understood by that OS has to coordinate the data processing with the required hardware in order to get the job done and distribute the output in the most effective and efficient way.
The most important resources in the computer is processor which is the brain of the machine and transform and execute all the activity within the computer system. That means performance of any computer is mostly depends upon the CPU architecture and it is only OS who always keeps the CPU busy by scheduling the various tasks to be processed within the system to provide services to the user like processing multiple applications at the same time, running OS simultaneously and monitoring various hardware activities.
In the era of technological advancement, the performance of CPU keeps on increasing and new values has been added to give ultimate performance to diverse customer groups.
It is very important to understand that any technological addition in the CPU, increases its scope of performance, but we need to also see, operating system has to be updated about the new architecture otherwise OS would not be able to extract the maximum performance out the CPU. There are different types of CPU is available like dual core, quad core with multi thread technologies which has two complete execution cores per physical processor, which can process multiple data at the same time thus increases the output performance.
If OS does not recognizes the processors physical capabilities, then OS cannot use them while trying to process the job commanded by the user. Therefore it is important to also equip OS with the required understanding on how to extract the best performance while installed in the diverse types of CPU types and various hardware.
Now lets discuss the Techniques of Operating System:-
Multi Programming:- It is a process of parallel execution of multiple programs / set of instructions in single CPU simultaneously. Using this technique single CPU works on two or more programs at the same time. Multi-programming allows the processor to handle either multiple batch jobs at a time (Batch Multi programming) or multiple interactive jobs shared among multiple users (Time Sharing Multi-programming).
Time-sharing is a technique that allows a CPU to simultaneously support the activities of several users by allocating fixed time slots (in milliseconds).
Examples of operating systems that support multi-programming are OS/2, UNIX and Mac OS7 +.
Multi Processing:- Since we have already understood Multi Programming which allows two or more programs to run in a single CPU simultaneously. Multi Processing can be easily understood by the induction of multiple cores in the CPU, means multi processing capability, therefore, Multiprocessing refers to the use of two or more CPUs to perform a coordinated task simultaneously within a single computer system.
Multi Tasking:- When you understand the Multi Programming and Multi Processing, which allows multiple data / programs can be executed simultaneously, then it is obvious that computer can perform multiple task at the same time. It is possible with the CPU capability and OS scheduling power which allows users to run multiple applications simultaneously.
Multitasking refers to the ability of an operating system to execute two or more tasks concurrently.In multitasking environment, the user opens new applications without closing the previous ones and the information can be easily moved among a number of applications.
Multi Threading:- Multi Thread is process of using CPU resources in such a way that it executes multi threads to run on each core of single CPU. It is the power of CPU to execute multiple threads or processes concurrently, which is supported by the operating system.
As a performance feature, it also increases processor throughput, improving overall performance on threaded software. It helps in running demanding applications simultaneously while maintaining the system responsiveness and keep system protected, efficient, and manageable while minimizing impact on productivity.
See a small video on how it works, please click the below link of Intel.
Follow me on twitter @amrishchoubey