Operating system (OS) is a program used in either software or a firmware. This program is composed of a set of instructions for managing resources of a particular system. It also acts as the bridge between the user and the computer hardware thus providing instructions for easy and maximum usage of computer resources.
When a particular hardware is turned on, the instruction register(IR) is set to a fixed value by the internal hardware inside the CPU, and the CPU then starts to execute whatever program is at the address pointed to by the IR. The program located at the address is usually contained in a special type of memory chip called Read Only Memory (ROM). This program is embedded in the chip. The CPU then starts to execute the program in ROM, and this program tells the computer to load in a more elaborate program from the hard disk called the operating system.
The size and complexity of an operating system depend on several factors such as:
The OS is the first program that gets loaded into the memory of the computer when the machine is started. Some parts of the OS remains permanently in the computer memory when the computer runs user programs. This parts of the OS is called memory resident. Other parts of the OS are being swapped in and out of the memory as the need arises. This are called non-memory resident.
OS offers the following services for convenient program development and execution:
- I/O operations – most common is the device driver
- CPU Scheduling – provides a schedule in executing several processes
- Memory management – allocates memory to several processes for proper execution
- File systems – manages the secondary storage devices
- Protection and security – prevents unauthorized access to data
- Communication and resource sharing – provides communication of processes and cooperation
- Utilities – provides date, time, debugging and other utilities
- Interpreter – serves as interface between user input to machine language