A Computer uses its components and peripherals to carry on computing and various other operations. The device called hardware requires instructions to work as they cannot work by themselves.
The memory has to be managed, I/O operations have to be managed and various other functions have to be done. These operations are performed by giving necessary instructions; the instructions are given in machine understandable form.
A common program is required which is capable to do such common tasks, so the development of Operating system came to being. Operating System acts as a mediator between the user and the hardware.
It is responsible for the smooth and efficient working of the computer system. It manages all the resources of a computer like memory, CPU, I/O devices etc. So it is also called Resource Manager.
Components of Computer System:
As figure depicts that operating system directly controls computer hardware resources. Other programs rely on facilities provided by the operating system to gain access to computer system resources.
Services Provided By Operating System:
An Operating System performs large number of function. Each function is carried out by a component of the operating system. The components functions of an operating system are:-
- Process Management
- Memory Management
- File Management
- Device Management
- Security and Protection
- Job Sequencing
- Error Handling
- User Interface
Any program which is in execution is called a process. Operating System of a computer manages the creation and deletion of a process, scheduling of various system resources to different processes requesting them and provides mechanism for synchronization.
The operating system manages the main memory of the computer system. It takes care of the allocation and deal location of the memory space to the various programs.
The operating system is the custodian of the files and files related activities such as file organisation, storing, naming, sharing and protection of files. It allows certain programmers to use a set of operations which characterize the file abstraction and hence makes the programmer free concerning the details of space allocation and utilization of secondary storage devices.
The operating system manages all the input and output devices. It keeps the track of requests of processes from input/output devices, issues commands to the input/output devices and ensures that correct data transmission is taking place to and from the input/output devices.
Security and Protection:
The computer stores large number of data, which is highly sensitive and valuable to the users. The operating system ensures that the security of the system data is maintained hence protects it against destruction and un- authorised access.
Operating system helps in automatic job sequencing. It is the duty of operating system to ensure that the jobs entered in the computer are executed automatically in the given sequence.
Operating System handles errors as and when they occur and provides correction routines to remove them. The efficiency of an OS and overall performance of computerise measured by two factors:
§ Turn Around Time: The Time interval between the time user submits his job to the system for processing and the time when he receives the result (also called Response Time) . It is very important when multiple users share the same system.
§ Throughput: The total volume of work performed by the system over given period of time. Different OS like Single OS, Multi-user OS, Distributed OS, and Parallel Processing OS have been developed.
The main function of an operating system is to promote users with an interface to interact with computer system. It provides an easy to use interface to access the computer system through a combination of keyboard and mouse using menus, screens, commands etc.
Types of Operating System:
Single User OS:
This OS is made for those systems which are Single User Machines i.e. one person can use the machine at one time and OS is available to the single user that time.
Here, only one program can be executed at a time. Next program can be executed only when the previous one is complete. So, it is also called Sequential System
Example of this type of OS are:- MS-DOS(Microsoft Disk OS), PC-DOS, NOVELL DOS etc.
Multi User OS:
This OS is made for sharable machine that means data from one machine can be shared by other users working at other machines.
In this case, Security and Integrity are very important issues and it is job of OS to do it.
The OS is more complex in nature, bigger in size and more costly as compared to the single user OS.
Example of this type of OS are:-UNIX, ZENIX, Red Hat LINUX, WINDOWS 2000 etc.
Multi User OS can be categorised as follows:-
- Multi-Programming OS
- Multi-Tasking OS
- Multi-Processing OS
In case of Multi-Programming, more than one job/program can utilize the resources of CPU. If one of the programs is busy in input/output operation, the OS switches over to the next program.
Multi-Programming supports multiple user interaction and increase resource utilization. In this system, when one program needs input/ output transfer, CPU switches to the other program and starts executing it. Thus several users share CPU’s time.
If at some point of time, the program which is being executed in CPU needs input/output transfer and previous program’s input/output transfer is complete, the CPU may start executing the program which it left previously.
Multi-tasking is the capability of the OS to do more than one thing at given time. While referring to OS, multitasking is having more than one application being done at one time.
For example- at one time you are downloading something from the Internet, as well as you are writing mail to your friend and listening music also.
Multi-Processing increases the speed of the computer by employing two or more than two independent CPUs having the ability to simultaneously execute several programs.
In this system, each CPU performs a specific type of application assigned to it, one may handle batch processes and other may handle online jobs.
Time Sharing OS:
Timing Sharing is a technique where computer resources are allocated in a time dependent fashion to several programs simultaneously.
In time sharing mode, CPU is divided among different users on a scheduled basis and each user is given a brief share of the CPU time.
This brief time of the CPU is called the Time Slice; It may vary from 10ms to 20ms. Each user gets some time of the CPU and the next time slice is allocated after few seconds, the users get illution that he/she is the only user of CPU resources.
The computer systems in which various computations are distributed among several processors, which do not share a memory or clock, are better as known as Distributed System.
Processors are connected to each other communicate through various communication lines such as high-speed buses or telephone lines.
It is different from simple network because in case of a network one has to explicitly log on to machine, handle and all the network management personally.
Distributed System is a software system built on the top of the network and has high degree of transparency.
The best examples are LANs and WANs. It makes possible the sharing of resources and also speeds up the computation.
Parallel Processing System:
These are designed to perform data processing of different jobs simultaneously for increasing the computation speed of the computer system.
These systems are multiprocessors and each have more than one processor in close communication, sharing the memory, bus, clock and other peripheral devices.
In this system, the instructions may not be executed in a sequential manner, rather they are executed parallel.