An operating system is system software that ensures the smooth functioning of a computer system.
In earlier days of computing, the only job of a computer was to compile source code into a program. There were programs to do other tasks such as printing, loading source code, etc. These programs are called system programs because they interact with hardware on behalf of users.
How Operating Systems Evolved
The first generation computers run programs that were written in machine language.
The batch system allows running similar programs into batches where control is automatically transferred to the next job in the batch. A user cannot interact with the system directly or the job.
The CPU utilization is still low in a batch system because jobs that are Input/Output bound have to wait for the device to complete and CPU remains idle during this time. Therefore, the batch system is suitable for a batch queue with bigger jobs.
The multiprogramming system is based on the fact that if CPU or I/O (input-output devices) is waiting, then it must switch to a job from other users increasing the overall utilization.
The time-sharing system is a kind of multiprogramming system where all users interact with the system at the same time. This is because the switching between jobs is so fast and efficiently time-based.
The system programs are bundled into a system software called an operating system. We have listed below the primary activities of an OS.
- The operating system is also a resource manager. It allocates an appropriate amount of CPU time, memory, disk space to each program.
- An OS must ensure that each program should run in its own space without crashing other programs. The hardware system must support such functionality.
- Ensure high performance through scheduling programs and its activities.
Parts of a Computer System
A computer system has four important components or parts. Each of these components interacts with each other to get a computational job done.
- Application programs
- Operating systems
- Hardware systems
Users – The users run the application programs and provide the input data. Users receive the output of the application.
Application programs – They solve a specific computing problem for the users, by utilizing hardware resources of a computer.
Operating System – It manages the resources for application programs and control user inputs.
Kernal – It is the core of an operating system that always runs in the main memory. It has all the frequently used functions.
Hardware – The processor, the disk, the memory, and the input/output devices are the resources for solving computing problems.
Services provided by OS
An operating system resource manager provides many services listed below.
- Process creation
- Execute programs
- Control user input/output
- File access control
- System protection and security
All of these are discussed in more detail in future articles.
Abraham Silberschatz, Peter B. Galvin, Greg Gagne (July 29, 2008) Operating System
Concepts, 8 edition edn., Wiley.
Tanenbaum, Andrew S. (March 3, 2001) Modern Operating Systems, 2nd edn., Prentice