What is an Operating System?
It is an important system software package found in almost all computer installations. An operating system is a program that acts as an interface between the user and the computer hardware. Without an operating system, a computer and software programs would be useless. It is responsible for integrating, controlling, and managing different resources of a computer by providing basic functionality such as processor management, memory management, file management, etc. to the computer.
Types of Operating Systems:
Operating Systems are classified into the following types depending on their processing capabilities-
(1) Batch Processing Operating System- In this operating system, users submit tasks to a central place where all the interrelated tasks are grouped together to form a batch. This batch is then submitted for processing. The batch-processing operating system allows only a single program to execute at a time. This operating system is responsible for scheduling the jobs according to the priority and the resources required. It is commonly used in payroll processing, forecasting, etc.
(2) Time-Sharing Operating System- It allows multiple users to access a single computer system. The attention of the CPU is switched among users on a timed basis, which is controlled by the operating system. As long as the computer system does not have more users than the operating system can handle, it will appear as if each user has uninterrupted access to the CPU. If the number of users exceeds the operating system’s capability, noticeable delays in processing will result.
(3) Multi-Programming Operating System- In this operating system, more than one program is executed concurrently. The CPU time is distributed among the programs, allowing users to execute more than one program at the same time. For example, users can work on an excel document and listen to songs at the same time.
(4) Real-Time Operating System- These operating systems are used in environments where a large number of events, mostly external to the computer system, must be accepted and processed in a short time or within certain deadlines. Such applications include industrial control, telephone switching equipment, stock exchanges, flight control, and real-time simulations. Real-time systems are also frequently used in military applications.
(5) Multi-Processor Operating System- It allows the simultaneous execution of programs on a computer that has several CPUs. Many computer systems such as mainframes and supercomputers have more than one CPU. It helps in improving the performance of the system by executing more tasks in less time. In addition, the failure of one processor does not halt the system, as other processors carry on with the tasks specified to them.
Services Provided by Operating Systems:
An operating system provides an environment for the execution of programs. It provides certain services to programs and to the users of those programs. The specific services provided, of course, differ from one operating system to another, but we can identify common classes. These operating-system services are provided for the convenience of the programmer, to make the programming task easier.
(1) Program Execution- Users will want to execute programs. The system must be able to load a program into memory and run it. The programs must be able to end their execution either normally or abnormally.
(2) Input/Output Operations- A running program may require input and output. This I/O may involve a file or an I/O device. Since a user program cannot execute I/O operations directly, the operating system must provide some means to do so.
(3) Information and Resource Protection- An operating system is responsible for making sure that information and resources available to the computer are used in an efficient and appropriate manner. Any attempt to use computer resources and information by an unauthorized user is foiled by the operating system.
(4) Resource Allocation- When there are multiple users or multiple jobs running at the same time, resources must be allocated to each of them. Many different types of resources are managed by the operating system.
(5) Accounting- An operating system is responsible for keeping a track of how many users are logged in, how many processes are there in memory, how many resources are allocated to a process, etc.
(6) Communication- There are instances where processes need to communicate with each other to exchange information. It may be between processes running on the same computer or running on different computers. By providing this service the operating system relieves the user from the task of passing messages between processes. In cases where the messages need to be passed to processes on the other computers through a network, it can be done by the user programs. The user program may be customized with the specifications of the hardware through which the message transits and provides the service interface to the operating system.
(7) File System Manipulation- An operating system is responsible for reading and writing files, deleting files, deciding how and where a particular file will be stored, etc.
(8) Error Detection- An error is one part of the system that may cause malfunctioning of the complete system. To avoid such a situation the operating system constantly monitors the system for detecting errors.
Functions of Operating System:
The operating system manages computer resources, especially the allocation or assignment of resources among other programs. Management tasks include scheduling the resources to avoid conflicts and interference between programs. The various functions of an operating system are given below-
(1) Processor Management- A process is an execution of a sequence of instructions or programs by the central processing unit (CPU). It can also be referred to as the basic unit of a program that the operating system deals with the help of the processor. For example, a text editor program running on a computer is a process. This program may cause several other processes to begin like it can furnish a request for printing while editing the document. Thus, we can say that the text editor is a program that initiates two processes- one for editing the text and the second for printing the document. Hence, a process is initiated by the program to perform an action, which can be controlled by the user or the operating system. A process in order to accomplish a task needs certain resources like CPU time, memory allocation, and I/O devices. Therefore, the idea of process management in an operating system is to accomplish the process assigned by the system in such a way that the resources are utilized in a proper and efficient manner.
(2) Memory Management- A computer program remains in the main (RAM) memory during its execution. To improve CPU usage several processes are being executed simultaneously in the memory. The operating system keeps track of every memory location, that is either assigned to some process or is free. It also checks how much memory should be assigned to each process.
(3) Device Management- An operating system manages different input and output devices. Generally, users do not interact with the hardware devices directly, instead, they interact with devices through a device driver. A device driver is software that acts as a translator between a device and a program that uses the device. For example, when a user issues a print command, the processor issues a set of general commands to the printer driver. The printer driver in turn translates these general commands into specialized commands that only the printer understands.
(4) File Management- An operating system stores and manages information or files on various storage devices and transfers these files from one storage device to another. It allocates the file (opens the file) for use and de-allocates it (closes the file) after use.
|Internet and Its Uses|
World Wide Web (WWW)
Malicious Software (Malware)
Database Management System (DBMS)
Computer Input Devices
Computer Output Devices
Operating system– Wikipedia