Types of Operating System


TYPES OF OPERATING SYSTEMS
There are various types of operating system are available which are as follows,
1.  Batch Processing OS
 2. Real time operating system
 3. Multi programming operating system
 4.Network operating system
5.Time sharing operating system
6.Distributed operating system
7.Multiprocessing operating system
8. Embedded OS
We shall now briefly discuss about these operating systems,

1 BATCH PROCESSING OS :
The earliest computers were dedicated to execute a single program at a time.  The programmer was given full access to the entire machine in order to develop and debug his or her program.  So there, was no operating system at this time.  If a programmer wanted to execute a program, he was asked to type his program and data on a punched card (s) and submit it as a job to the computer operator in the computer center for execution.  The computer operator would handle the card decks and eventually the computer operator would set execution of a program on the computer.  The operator too had to load these decks of cards physically into the card reader and press some switches to initiate processing of a program.  The CPU of the computer remains idle during the time the task of I / O was performed.  To |  overcome the wastage of time, the batch processing was introduced.


ADVANTAGES OF BATCH PROCESSING.

  •  The use of resident monitor improves computer efficiency as it eliminates CPU time between two   jobs.
  • Batch processing is particularly useful for operations that require the computer or a peripheral device for an extended period but need very little user interaction.  .
  • For large systems, the hardware required to implement a batch processing system can often be cheaper than that required to implement a transaction or real-time system to do the same job. 
  • Batch processing can be carried out automatically at a time when the computer system would not normally be used, e.  g.  overnight.  By doing this, a company can get more work out of the computer hardware it owns. 
 DISADVANTAGES OF BATCH PROCESSING

  •  Processor remains idle for the time between two batches.
  • In batch processing, it is difficult to provide the desired priority scheduling.  For example, IT two high priority jobs were to be run but were in separate batches one would have to wait until the other's batch was completely processed.
  • No interaction is possible with the user while jobs are being executed.  Because jobs are executed off-line by computer operator.
  • User first needs to submit his job and then after some time.  he / she collects the results.  Application result in very long turnaround time in this mode of processing.  Programmer cannot correct bugs as they occur. 
  • Multiple jobs cannot be executed at a time



3. MULTI PROGRAMMING OS :
As far as batch processing was concerned, numbers of programs were loaded in a sequence in the main memory.  Then the operating system picks one job and starts executing it.  When the job needs to perform I/O operation then CPU allocated sits idle for that time.  This leads to under - utilization of system resources and the system's performance degrades.  To overcome this, the multi programming was introduced.  Multi programming refers to execution of two or more different and independent programs by the same CPU.  In this, number of programs reside in main memory at a time and are executed concurrently.  This is done by switching the CPU from one program to another almost instantaneously.  In multi programming systems, when one program during execution needs I / O transfer, the CPU switches to the other program and starts executing it.  Applications definitely need to share the main memory and they need to share other system resources among themselves.  If at some point of time, the program which is executing by CPU needs I / O transfer and the previous program I / O transfer is completed, the CPU may start executing the program that it left earlier.  Hence, at one point of time only one program has the control of CPU.  A single CPU cannot execute more than one program simultaneously.
Multiprogramming OS


 ADVANTAGES OF MULTI PROGRAMMING

  • Throughput of system is increased as CPU always has one program to execute. 
  • Response time can also be reduced.

DISADVANTAGES OF MULTI PROGRAMMING

  •   Programs may have different sizes because memory needs to be partitioned in different sizes dynamically.  For this, complex intelligent memory management algorithms are needed to accommodate them in memory.
  •   Many programs may be ready to run simultaneously on the CPU, which implies the need of CPU scheduling.  Multi programming systems provide an environment in which various system resources are used effectively but they do not provide any user interaction with the computer system,

4. TIME SHARING OS :
Batch processing and multi programming OS provide non - interactive computing environment.  Both these systems provide poor user service.  In interactive computing environment, a user can provide input to a program from keyboard and examine its output on monitor screen.  Timesharing OS provide such an environment.
In Time sharing (or multitasking) OS, computer resources are allocated in a time dependent fashion to several programs simultaneously.  Thus, it helps to provide a large number of users direct access to the main computer.  It is a logical extension to multiprogramming.  In timesharing, the CPU is switched among multiple programs given by dif ferent users on a scheduled basis.  Thus, each user is given a brief share of the CPU time unlike multi programming where CPU is allocated to programs on priority basis.  This very brief share of CPU time is called the timeslice that may vary from 10 milliseconds to 20 milliseconds.
Timesharing OS


ADVANTAGES OF TIME SHARING OS

  •  Effective utilization and sharing of the resources: The main memory, disk storage, CPU 15 optimally utilized and shared by different users. 
  • Reduces CPU idle time: The CPU is busy most of time as it switches from one program to another in rapid succession.  This increases throughput and lowers turnaround time. 
  • Avoids duplication of software: It avoids duplication of software that is used by most of the users.  This software is stored in the system libraries.
  • Reduces response time Since time slice is of few milliseconds so users can get the output of programs more quickly in comparison in other modes that are expensive also.
  • Users can interact with the program while it is executing but this is not possible in batch system

DISADVANTAGES OF TIME SHARING OS

  •  Security and integrity of user programs loaded in memory and data need to be maintained as a large number of users access the system simultaneously.
  • Data transmission rates are very high in comparison to other methods. 
  • Since regular swapping needs to be done so when a large number of users are accessing the CPU then overhead may be involved.  This results in a poor response.

4. MULTIPROCESSING OS :
Various operating systems discussed so far are uniprocessor systems.  To improve performance further, more than one CPU (ie. Multiple processors) can be used within one computer system.  Multiple CPUs are interconnected in such a way that a job can be divided among them for faster execution, when a job finishes, results from all CPUs are collected and compiled to give final output.
Jobs need to share main memory and they may also share other system resources among themselves.  Multiple CPUs can also be used to run multiple jobs simultaneously, whereas in case of single processor system using multiprogramming OS, if one jobs starts executing, remaining ones will have to wait for CPU, in ready queue.  In multi processing system, instructions from different and independent programs can be processed at the same instant of time by different CPUs.

The advantages of multiprocessing are:

  •  Increased Reliability: Due to multiprocessor system, processing tasks can be distributed among several processors.  This increases reliability as if one processor fails, the task can be given to other processor for completion.
  • Increased throughput: As number of processors increase, more work can be done in less time. 
  •  Economy of Scale: As multiprocessor systems share peripherals, secondary storage devices and power supplies;  so they are relatively cheaper than the single processor systems. 

There are two types of multiprocessing systems:
• Symmetrical Multiprocessing System
• Asymmetrical Multiprocessing System

5. REAL TIME OS :
A Real Time OS (RTOS) is a special purpose os used in computers that has strict time constraints defined for any job to be performed.  System responses that arrive later than the expected time are either irrelevant or meaningless.  It is employed mostly in those systems in which the results of the computations are used to influence a process while it is executing.  Whenever an event external to the computer occurs, it is communicated to the computer with the help of some sensor used to monitor the event.  The sensor produces the signal that is interpreted by the OS as an interrupt.  On receiving an interrupt, the os invokes a specific process or a set of processes to serve the interrupt.  This process is completed uninterrupted unless higher priority interrupt occurs during its execution.  It is possible that more than one interrupt can occur at the same time.  Therefore, there must be strict hierarchy of priority among the interrupts.

 The RTOS has two types:

  •  Hard RTOS - In hard RTOS, all critical tasks have to be completed strictly within the specified amount of time i.  e.  within the given deadline.  Not meeting the deadline would result in critical failure such as damage to equipment or even loss of human life.  Consider an example of air bags provided by carmakers along with handle in the driver's seat.  When the driver applies brakes at a particular instance, the air bags grows and prevent the driver's head to hit the handle.  Had there been some |  delay even of milliseconds then it would have resulted in an accident.  This example of hard real time processing systems.  Similarly, consider an on-line stock trading software, if someone wants to sell a particular share then the system must ensure that the command is performed within given critical time, otherwise if market falls abruptly, it may cause huge loss to the trader.
  •  Soft RTOS - Soft RTOS is less restrictive type of RTOS.  In this system.  if the deadline is not met, the complete system does not fail but the performance deteriorates.  An example is audio / video transmission over the Internet.  Although violation of constraints may result in degraded sound or image quality but the system can continue to operate.  Real time systems employ special computer OSs because traditional OSs do not provides such performance.  Some examples of RTOS are MTOS, Lynx, QNX.  VxWorks etc.

RTOS ADVANTAGES

  • Unlike other OSs, the real time operating systems are more compact so these systems require less memory space.
  •   Easy to design, develop and execute real time applications under real time oSas compared to other types of Os.

RTOS DISADVANTAGES

  • RTOS has complex design concepts and is very costly tordevelop.
  • RTOS are very complicated and can consume a critical CPU cycles.

6. NETWORK OPERATING SYSTEM (NOS):
 An operating system, which includes software and associated protocols to communicate with other autonomous computers via a network in a convenient and cost effective manner, is called Network Operating System or NOS.  The individual machines that are part of the network have their own Os, the NOS resides on the top of the individual machines.  Since individual machines have their own OSs so in order to access resources from other computers, the user has to log into another machine  using proper password.  This feature also results in no process migration and processes running at different machines cannot communicate.  It allows devices like disk, printer etc.  to be shared between computers.  An example of resource sharing is like having one printer in computer lab that all other systems can share, using a NOS.  However, files can be transferred from other machines using file transfer commands but they cannot be shared.  This result in multiple copies of files and thus resulting in wastage of space. 
    Such operating systems are specialized to provide the networking services.  NOS can be specialized to serve as peer - to - peer operating system or as client server operating system.  Microsoft Windows NT is a popular NOS.
      Networks vary by the protocols used, the distance between nodes and the transport media.  TCP / IP is the most common network protocol.  Networks are simplest typeset based on the distance between their nodes.  The network can be of three types:

  • LAN: Local Area Network.  It exists in room;  floor etc.
  • MAN: Metropolitan Area Network
  • WAN: Wide Area Network 
The media to carry networks are equally varied.  They include copper wires, fiber strands, when computing devices are connected to cellular phones, they create a network.The networks can be based upon the two types of systems.
  • Client Server System
• Peer to Peer System

7. DISTRIBUTED SYSTEM:
Distributed OS means, the whole OS is not installed on single machine, it is divided into parts, and these parts are loaded on different machines.  The use of multiple processors is invisible to the users.  Moreover, the users are also not aware of where their programs are run and where their files are residing, the distributed OS automatically handles them.  A part of distributed OS is installed on each machine to make their communication possible.  Unlike NOS, the distributed OS often allows program and processes to run on several CPUs at the same time, thus requiring more complex processor scheduling.  Switching of processes or part of processes can take place with or without any knowledge of the user to attain computational speedup and proper load balancing.  Distributed OS are much more complex, larger and sophisticated than NOS, because they have to take care of varying networking protocols also.  These days parallel computing and cloud computing are very popular which are special cases of distributed systems.

8. EMBEDDED OPERATING SYSTEM:
An Embedded operating system runs on most of the mobile devices.  It generally resides on devices whose operating system is typically built into the firmware and is highly tailored to the system ROM chip that are designed to be compact, reliable and efficient at resource usage.  This operating system generally includes personal management functions (such as contact lists, schedules, calendars etc.), allow devices to easy browse on the Internet, access email, listen to music, take pictures, capture videos and receive instant messaging.  Users typically enter data by pressing keys on the Keypad/ Keyboard, touching the screen and writing on the screen with stylus.  These operating systems are also known as RTOS (Real time operating OS) as it has all its capabilities.  Some popular embedded  systems for consumer products such as PDAs / smartphones include Windows Embedded CE, Windows Mobile, iPhone OS, Google Andriod, Symbian OS.  Among these Google Andriod and symsbain OS are Open Source multitasking operating systems. 

No comments

Powered by Blogger.