Unit-3: Operating system

Contents: Introduction, Functions and Types of Operating System and Open Source Operating System

Download the unit.

Introduction

An operating system is a software that makes the computer hardware to work while the computer hardware providers ‘raw computer power’, the operating system is responsible for making a computer more useful for users. The operating system provides an interface for users to communicate with the computer. It also manages the use of hardware, resources and enables proper implementation of application programs. In short, the operating system is the master of the control program of a computer.

The main function of the operating system includes:

functions of Operating System
Figure: Functions of Operating System

1. Operating CPU of the computer.
2. Controlling Input/ Output devices that provide an interface between the user and the computer.
3. Handling the working of application programs with the hardware and other software systems.
4. Managing the storage and retrieval of information using storage devices such as disks.

Functions of Operating System

functions of Operating System
Figure: Functions of Operating System

The main function of an operating system is t manage the resources such as memory and files of the computer system. The operating system also resolved the conflicts that arise when two users or programs request the same resources at the same time. Therefore it is also called resource manager of a computer. Some of the important functions of an operating system are:

1. Process management
It manages the processes running in the computer system process. A process is basically a program that is being currently run by a user or a computer.
Example: A word processor application program such as MS Word runs processes in a computer system.

2. Memory Management.
It manages the memory resources of a computer system. There are various resources of computer including primary memory or Random-Access Memory (RAM) and secondary memory like CDs and HDs. All the programs are loaded in the main memory before their execution. It is the function of the operating system to determine how much memory should we provide at each process.

3. File Management
It manages the files and directories of a computer system. A file can be defined as a collection of information or data that is stored in the memory of a computer system. Every file has a unique mane associated with it. The organization of files and directories in a computer system is referred to as a file system. An operating system allows users to create, modify, save or delete files in a computer system.

4. Device Management
The operating system deals with the management of peripheral devices such as printer, mouse and keyboard attached to a computer system. An operating system interacts with the hardware devices through a specific device driver. The primary task of the operating system is to manage the input/ output operation performed by end-users.

5. Security Management.
It ensures security for a computer system from various threats such as virus attack and unauthorized access. An operating system uses various technologies such as authentication, authorization, cryptography, etc. for ensuring the security of a computer system.

Types of Operating System

Based on the capabilities and the types of application supported, the operating system can be divided into six major categories viz.

1. Batch Processing Operating System
They are capable of executing only one job at a time. The jobs a program submitted by different users are grouped into batches and one batch of the job is to provide as input to the computer system at a time. The jobs in the batch are processed on a first come first serve basis. After execution of one job is completed the operating system automatically fetches the next job from the batch without any human intervention.

Advantages:
a) They were very efficient in their time as idle time for these computers is very less.
b) The OS facilitates execution of jobs in an organized manner.

Disadvantages:
a) Jobs are processed only in the order they are places and not per user’s priority.
b) Debugging of a program at execution is not possible.
c) The executing jobs may enter an infinite loop as each job is not associated with proper times.

2. Multi-user Operating System
The multi-user operating system enables multiple users to use the resource of a computer system at the same time. It allows a number of users to work simultaneously on the same computer. It is usually implemented by following multiterminal configuration. In the configuration, a single powerful computer is connected to multiple terminals through serial ports. The computer system is responsible for processing different requests generated by various terminals at a time. The control computer is equipped with a fast processor and a memory of large capacity for catering to multiple requests of end-users.
Example: Linux, Unix, VM-386, etc.

Advantages
a) Allows resources of a computer to be utilized an inefficient manner.
b) It enhances the overall productivity of various users by providing simultaneous access to various computer resources.

Disadvantages
a) It is complex and hence difficult to handle and maintain.
b) It may result in inconsistent data if activities of a user aren’t protected from other users.
c) It is required to have a robust security mechanism.

3. Multitasking Operating System
The multitasking operating system allows users to carry out multiple tasks at the same time on a single computer system. The multitasking OS are also known as several other names such as multi-processing, multi-programming, concurrent, or process scheduling operating system. In this type of operating system, different processes are executed simultaneously by implementing the concept of time slicing. According to this concept, a regular slice of CPU time is provided to each of the processes running in the computer system. It can be of two types, viz.

a) Preemptive Multitasking Operating System
In this OS, a slice of CPU time is allocated on some priority basis.

b) Co-operative Multitasking Operating System
In this OS, time slices of CPU are assigned to the process depending on whether or not to give up CPU control for other running processes.
Example: UNIX, Windows 2000, Linux, Windows XP.

Advantages:
a) It helps in increasing the overall performance of the system.
b) It helps in increasing the overall productivity of the user by performing a number of tasks at the same time.

Disadvantages:
a) A large amount of memory is required to execute several programs at a time.
b) Some mechanisms need to be implemented to ensure that the activity of one process does not interfere with the activities of other processes.

4. Rest- time Operating System
The real-time operating system is similar to the multi-tasking operating system in its functionality. However, these OS are specially designed and developed for handling real-time applications or embedded applications. The real-time applications are those critical applications that are required to be executed within a specific period of time.
Example of real-time applications is; industrial robots, space-crafts, industrial control applications.

It is of two types, viz.
a) Head Real-time OS
It is a type of OS where it is necessary to perform a task in a specified amount of time.

b) Soft Real-time OS
In Soft Real-time OS, a task can be performed even after its allocated time has elapsed.
Example: M tox, Lynx, RTX

Advantages:
a) It is easy to design, develop and execute the real-time application under the real-time OS.
b) It is usually more compact as compared to other operating systems hence requires less memory.

Disadvantages:
a) It is primarily focused on optimizing the execution time of an application and thus it sometimes overlooks some of the other critical factor related to the overall efficiency of the computer system.
b) It is used only for providing some dedicated functionality and cannot be used as a general-purpose OS.

5. Multiprocessor Operating System
Multiprocessor OS allows the use of multiple CPUs in a computer system for execution of multiple processes at the same time. The processes are executed faster compared to a single processor.
Example: Linux, UNIX, Windows 2000, etc.

Advantages
a) It helps in improving the overall efficiency and throughput of a computer system.
b) It helps in increasing the reliability of a computer. If one CPU fails, the other CPU takes control and execute the currently running processes.

Disadvantages:
a) Cost is very high.
b) A large amount of memory is required for running and executing several users program.

6. Embedded Operating System
It is somewhat similar to the real-time OS. The embedded OS is installed on an embedded computer system which is used for performing a computational task in electronic devices. This OS provides limited functionality that is required for the corresponding embedded computer system.
Example: Palm OS, Window CE.

Advantages:
a) It allows the implementation of an embedded system in an efficient manner.
b) A system with an embedded OS is easy to use and maintain.

Disadvantages:
a) It is possible to perform some specific operation with those OS.
b) This OS cannot be used in a frequently changing environment.

Open Source Operating System

Open Source is a methodology or approach towards the design and development of software with the intention of giving the user the access to the code. If we use open source software, not only we will be able to use it but also be able to see how it works, debug it, modify it and redistribute it. Open source software is licensed in a way that marked it legal to use as many copies as user wants. There’s a core difference between open source and free software, both represent the same core idea but the open resource allows the commercial utilization of code with the motive of profit.
Example: Red hat gains significant revenue from sales, distribution, maintenance and consulting service provided by Open Source Software.

Being an open source program, program code of an open source operating system are available. The user can modify these codes and develop a new application according to their requirement. Example: Linux

Linux
It is an open-source powerful UNIX based OS which runs on varieties of platforms including Intel, SPARCE and Power PC. It is a multi-user, multi-tasking, multi-programming operating system mainly popular for server OS. It is distributed through different distributors such as Red Hat, Mandrate, Open Suse, Ubuntu, Slackware, Sobayon, Debian, Mandriva, Fedora, Genten, Granular Linux.