Types of Operating System

OS Home Types of Operating System

 Batch operating system

 A 'batch' is the name given to the task of doing the same job over and over again, the only difference being the input data presented for each iteration of the job and perhaps the output file.

    Batch operating computer This kind of operating system requirement is common on a mainframe computer that was purchased specifically with massive repetitive data processing in mind. For example, a mainframe set up to process 30 million pension statements, each one calculated for a specific customer.

     The users of batch operating system do not interact with the computer directly. Each user prepares his job on an off-line device like punch cards and submits it to the computer operator. To speed up processing, jobs with similar needs are batched together and run as a group. Thus, the programmers left their programs with the operator. The operator then sorts programs into batches with similar requirements.

Setting up a batch job is a bit like filling out a form, with specific details needing to be provided. Details include:-

  • Job Owner
  • Priority of the Job (some jobs are less urgent than others)
  • How much processor time is allowed for the job (avoids CPU hogging)
  • Maximum lines to be printed (avoids infinite printouts)
  • Data file details (for input and output)
  • What to do if the job fails to run properly (e.g. create a failed jobs report)
  • Accounting data (to charge the Job Owner for the batch)

The problems with Batch Systems are following.

  • Lack of interaction between the user and job.
  • CPU is often idle, because the speeds of the mechanical I/O devices is slower than CPU.
  • Difficult to provide the desired priority.

Job Control Language (JCL) 

Job Control Language (JCL) is a name for scripting languages used on IBM mainframe operating systems to instruct the system on how to run a batch job or start a subsystem.

A time sharing system 

    A time sharing system allows many users to share the computer resources simultaneously. In other words, time sharing refers to the allocation of computer resources in time slots to several programs simultaneously. For example a mainframe computer that has many users logged on to it. Each user uses the resources of the mainframe -i.e. memory, CPU etc. The users feel that they are exclusive user of the CPU, even though this is not possible with one CPU i.e. shared among different users.

     Multiple jobs are executed by the CPU by switching between them, but the switches occur so frequently. Thus, the user can receives an immediate response. For example, in a transaction processing, processor execute each user program in a short burst or quantum of computation. That is if n users are present, each user can get time quantum. When the user submits the command, the response time is in few seconds at most.

Advantages of Timesharing operating systems are following

  • Provide advantage of quick response.
  • Avoids duplication of software.
  • Reduces CPU idle time.

Disadvantages of Timesharing operating systems are following.

  • Problem of reliability.
  • Question of security and integrity of user programs and data.
  • Problem of data communication.
Note: The term 'Time Sharing' is no longer commonly used, it has been replaced by 'Multitasking System'.

Distributed Operating System 

     Distributed Operating System is a model where 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.

     This system looks to its users like an ordinary centralized operating system but runs on multiple, independent central processing units (CPUs).

     These systems are referred as loosely coupled systems where each processor has its own local memory and processors communicate with one another through various communication lines, such as high speed buses or telephone lines. By loosely coupled systems, we mean that such computers possess no hardware connections at the CPU - memory bus level, but are connected by external interfaces that run under the control of software.

Below given are some of the examples of distributed operating systems:

1.  IRIX operating system; is the implementation of UNIX System V, Release 3 for Silicon Graphics multiprocessor workstations.

2.  DYNIX operating system running on Sequent Symmetry multiprocessor computers.

3.  AIX operating system for IBM RS/6000 computers.

4.  Solaris operating system for SUN multiprocessor workstations.

5.  Mach/OS is a multithreading and multitasking UNIX compatible operating system;

6.  OSF/1 operating system developed by Open Foundation Software: UNIX compatible.

The advantages of distributed systems are following.

  • With resource sharing facility user at one site may be able to use the resources available at another.
  • Speedup the exchange of data with one another via electronic mail.
  • If one site fails in a distributed system, the remaining sites can potentially continue operating.
  • Better service to the customers.
  • Reduction of the load on the host computer.
  • Reduction of delays in data processing.

A network operating system (NOS)

A network operating system (NOS) is a computer operating system system that is designed primarily to support workstation, personal computer, and, in some instances, older terminal that are connected on a local area network (LAN). Examples of network operating systems are Microsoft Windows Server 2003, Microsoft Windows Server 2008, UNIX, Linux, Mac OS X, Novell NetWare, and BSD.

The advantages of network operating systems are following.

  • Centralized servers are highly stable.
  • Security is server managed.
  • Upgrades to new technologies and hardwares can be easily integrated into the system.
  • Remote access to servers is possible from different locations and types of systems.

The disadvantages of network operating systems are following.

  • High cost of buying and running a server.
  • Dependency on a central location for most operations.
  • Regular maintenance and updates are required.

Differences between a distributed operating system and a network operating system

     Network OS is used to manage networked computers, means there would be a server and one or more computers will be managed by that server like in your college, 
you might have got one dedicated server and it will manage your individual computers or laptop.

     Distributed OS is one where all of computers that are connected can share in tasks.For instance, if you and your friend are connected each other using distributed OS then 
you can use a program which is actually on someone else's computer.This is the reason distributed OS needs more RAM & High speed processor.

A real-time operating system (RTOS)

     A real-time operating system (RTOS) is an operating system that guarantees a certain capability within a specified time constraint.The time taken by the system to respond to an input and display of required updated information is termed as response time. So in this method response time is very less as compared to the online processing.

     Real-time systems are used when there are rigid time requirements on the operation of a processor or the flow of data and real-time systems can be used as a control device in a dedicated application. Real-time operating system has well-defined, fixed time constraints otherwise system will fail.For example Scientific experiments, medical imaging systems, industrial control systems, weapon systems, robots, and home-applicance controllers, Air traffic control system etc.

There are two types of real-time operating systems.

Hard real-time system 

    A hard real-time system (also known as an immediate real-time system) is hardware or software that must operate within the confines of a stringent deadline. The application may be considered to have failed if it does not complete its function within the allotted time span. Examples of hard real-time systems include components of pacemakers, anti-lock brakes and aircraft control systems.

Soft Real-time System

     Soft real time is a property of the timeliness of a computation where the value diminishes according to its tardiness. A soft real-time system can tolerate some late answers to soft real-time computations, as long as the value hasn't diminished to zero. A soft real-time system will often carry meta requirements such as a stochastic model of acceptable frequency of late computations. 

     Example: A practical example would be your Mobile phone when you try to find out a phone number and you expect your phone to respond in a timely manner. However, if it takes much time to respond rather than the few milliseconds nothing catastrophic will occur. Perhaps you may shut down some apps to make it fasters.