What is an Operating System(OS)?


  • An Operating system is a program that manages all the resources of the computer (i.e. hardware and software).
  • It is a software that is running at all the times on computer system.
  • It act as the interfacing between application program and hardware.
  • It allows us to communicate with computer system without knowing how to code in computer language(i.e. Machine level language). 
  • In limited resources, we can do unlimited task and is possible due to operating system.
  • It act as government because as government controls and manages all the citizens, like wise operating system(OS) also controls and manages all the resources of computer system.
  • Without Operating system , a computer is like a useless machine(Dead).
  •  It act as a soul of computer system. 
  • Example: Windows , Mac , LINUX , UNIX etc.

Fig. An Overview of Operating System



Evolution/Development of operating system :


There is a big and interesting history of Operating system.


1. Serial Processing (First Generation, 1945-55):

  • In earlier computer system, from the late 1940s to the mid-1950s, the programmer interacted directly with the computer hardware, because there was no operating system.
  • A single group of People designed, built, programmed, operate and maintain each machine.
  • At that time there is the need to learn all the codes of assembly language to interact user with the computer for all the task.
  • It waste the CPU time if the user complete its task before allocated time.
  • So, there is the need of Operating System.
2. Simple Batch system (Second Generation, 1955-65) :

  • The first batch operating system was developed in the mid-1950s by General Motors for use on an IBM701.
  • In such system, user doesn’t interact with the computer directly.
  • There is an operator that takes similar jobs(having same requirements) and group them into batches. After this a special program called Monitor manages the execution of each program in a batch.
Example: Bank statement , Payroll system etc.


                                             Fig. Batch Operating System


Drawback of Batch OS:

  • The CPU is often idle because the speed of I/O devices is much slower as compared to the speed of CPU.
  • There is no any mechanism for prioritizing the processes.
  • Waiting time is more for the processes/programs.
  • So, there is the need for another operating system to develop.

3. Multiprogramming (Third Generation, 1965 – 1980) :

  • Multiprogramming allows the single processor to handle multiple jobs at a time.
  • Multiprogramming increases CPU utilization by organizing jobs in such a manner that CPU has always one job to execute. In this system, number of processes resides in main memory and OS picks one job at a time from main memory and then execute it.
  • If any process / job need to wait for some time then the CPU switches from that job to another job.
  • Hence, in multiprogramming system, CPU never remains idle and keep on processing.
Example: A computer running MS-Word and Chrome browser simultaneously is an example of multiprogramming architecture of operating system.



Drawback:

  • User can't directly interact with the system.

4. Fourth generation operating system(1980's-till today):

  • The operating system such as time sharing, real-time operating system, distributed operating system, etc. were developed in 4th generation of operating system.


     A. Time sharing Operating system(Multitasking):
  • It is an extension of multiprogramming Operating System.

                                       fig. Time Sharing Operating system



  • In this system, there are more than one user interacting the system at the same time.
  • Here CPU time is shared by different processes. So this system is called as time sharing system.
  • The CPU scheduler selects a job from the ready queue and switches the CPU to that job. When the time slot expired, the CPU switches from this job to another job. Multiple  jobs are executed by switching the CPU between them but the switches occur so frequently that user can assume that he is only working on the system, but actually CPU is shared among different users.
Example: Multics, Unix etc.

Advantages:
  • The main advantage of time sharing system is, the user can interact with the job while it is executing.
  • Efficient CPU utilization.
  • Each tasks gets an equal opportunities.
Disadvantages:
  • As numbers of users are interacting with the processor at the same time, it is complex than multi programmed OS.
  • System must have memory management and protection, since several jobs are kept in memory at the same time. 
  • Disk management is also required.
  • Data Communication problem.


B. Multiprocessor OS/parallel systems or tightly coupled systems:


  • Multiprocessor system have more than one CPU within single computer system.
  • It is also called parallel system, because numbers of processors are executing their jobs in parallel.
  • These types of systems are used when very high speed is required to process a large volume of data.
  • These systems are generally used in environment like satellite control, weather  forecasting etc .                                                                 fig. Multiprocessor OS 


                                                               
Advantages:
  • Increased throughput : Throughput means the amount of work completed in unit time.
  • Increased reliability

Disadvantages:
  • Process synchronization: Process synchronization is a way to coordinate processes that use shared data
  • Task scheduling
  • Memory management
  • Security and protection, since main memory is shared among many physical processors.
Examples: Windows NT, 2000, XP, and Unix.

C. Distributed Operating System / Network Operating System:
  • In this model, distributed applications are running on multiple computers linked by communications.

  • A distributed operating system is an extension of the network operating system that supports higher levels of communication and integration of the machines on the network.


  • In distributed system, each processor has its own local memory.

  • A distributed operating system controls and manages the hardware and software resources of a distributed system.

  • The processors communicate with one another through various communication lines such as high speed bus.
                                                                                                                                                                             fig. Distributed Operating System
  • When a program is executed on a distributed system, user is not aware of where the program is executed or the location of the resources accessed. 
Example : LOCUS, MICROS etc. 


Advantages:
  • Resource sharing
  • Computation Speedup 
  • Reliability

D. Real time Operating System(RTOS):

  • The main objective of Real Time Operating System is to provide quick response to the user need. 

  • User convenience and resource utilization are secondary concern to these systems.

  •  A real time system has many events that must be accepted and processed in a short time or within certain deadline.

  • Real time OS has very less response time(i.e. very fast response time)
        Response time= Output time-Input time

  • Applications of RTOS include:
  1. Rocket launching
  2. flight control
  3. robotics
  4. hot air balloon control
  5. real time simulation
  6. telephone switching equipment 
  7. Air traffic control system
  8. Weapon system
  9. Industrial control system etc.
  • Real time systems are classified into two categories:
  1. Hard Real time System: These OS are used for the applications where time constraints are very strict and even the shortest possible delay is not acceptable. e.g. Flight control, missiles control etc.
  2. Soft Real time System: It is used where time constraint is less strict. e.g. telephone switching equipment etc.

Advantages:
  • Error free and is highly reliable
  • task shifting is quick
  • Focus on application
  • Memory allocation is also quick

Disadvantages:
  • Use heavy system resources
  • Complex algorithm
  • Risky












Post a Comment

Previous Post Next Post