An operating system is fundamental computer software that coordinates how the computer hardware and other software interfaces with the user. It manages all the computer resources and files. There are many types of operating systems which include batch, and network systems among others.
The main functions of the operating system are processor, main memory, input and output, file, and, secondary storage management. It is classified by the number of users or tasks and human-computer interfaces that they use.
Functions of operating system
1. Management of input/output devices
Operating System manages the peripheral devices by coordinating their operations and assigning them to different tasks being performed at a time. The most important task is assigned to a device first then the other jobs come later.
2. Processor management
Processor management is one of the main functions of the operating system. It manages the processor by assigning the processor to tasks according to priority. The job that has more priority is processed first then the less. Different processor scheduling algorithms are used to achieve this objective.
3. Interface between the user and the hardware
It interprets the instructions given by the user by sending them to the hardware part assigned to that task and translating the code from human to machine language. It enables the user to give commands that are passed to the hardware of the device.
4. Secondary storage management.
The operating system manages storage devices such as hard disks, flash disks, and optical disks. It decides where specific data will be stored and retrieved from the device. It helps store and retrieves data from the secondary storage. It allocates file to free spaces on the disk and ensure overall management.
5. Provide a platform for other software
Application and utility software run on the operating system. Application software receives commands from the user and then forwards them to the operating system to be passed to the required hardware. Without an operating system, other software cannot function or even be installed.
6. Memory management (RAM)
Main memory (RAM) is a critical resource in a computer system and the operating system manages it. OS decides which program or process is to be assigned a certain space for its operation. It allocates free space in the RAM and ensures the security of partitions, and, file sharing within the memory.
7. Error handling
An operating system is tasked with ensuring that the system is error-free. It checks for any errors and tries to rectify them if not possible it generates a pop-up message for the user for further actions.
8. Interrupt handling
Computers generate different types of interrupts that help the system to function well. The function of the operating system is to ensure that all interrupts generated are directed to the right place for action to be taken. Interrupts are used to manage when data from a consumer and producer device are of different speeds or sizes.
Operating system examples
There are many types and examples of operating systems in the market that are being used by modern devices. The examples include
- Microsoft Window versions e.g. Windows XP, 7, 8,10,11,
- Linux versions,
- Apple MAC Operating system
- Google Android OS, etc.
3 Categories of operating system
Classification of the operating system according to the number of users
Multi-user: They are the type of OS that allows more than one user to operate the computer concurrently. The user can manipulate different files of the user account and any given time.
Single user: They are a type of operating system that only allows one user operates at a time. Most command-type systems are single users.
Classification of the operating system according to the number of tasks
Single-task: The operating system allows the processing of one program/process at a time. Most of the old systems used to be single task/job types.
Multi-task: They are systems that support many programs or processes to be executed at the same time. Most modern systems are multitasking operating systems. They can run many processes at the same time using different techniques to achieve that. MS windows are multi-tasking.
Classification of the operating system according to user interface
Command Line Interface (CLI)
These are the OS that mostly uses command as the main way that user send the signal. Most server system prefers to use a command system since they require fewer resources to execute a command.
The main disadvantage of the command-line system is that the learning curve for users is very stiff. They mostly use a keyboard to key in commands.
Menu driven interface
The systems replace commands with select options that users can use to give instructions to the system. Users select the required command from a list of options. The menu type is mostly integrated both in command line systems and, or graphic systems.
Graphic User Interface (GUI)
The commands are represented with a small graphic called icons. The user executes a command by clicking on the icon using a pointing device. These systems are more user-friendly but they require more resources to operate. This is because the icon (small graphics) consumes more RAM and storage capacity.
Most of the end-user operating systems use GUI since it is simple to learn and use.
8 Factors to consider when choosing an operating system
- Hardware compatibility: consideration of the computer hardware you will install the OS should be factored in. Check the processor type, size of the main memory available, and secondary storage available.
- Consider if the hardware supports 64bit or 32ype of software. Also, the manufacturer hardware like Apple computers works best with MAC OS. Latest OS supports both 32 and 64bit systems.
- Purpose of the computer being installed the OS. The OS selected will depend on the type of services that you intend to run on your computer. For server service purposes Linux types command based on OS will be best since it uses fewer resources.
- Cost or open source: you can choose a vendor-based type of operating systems such as windows and MAC OS or open source such as Linux- based OS.
- Resource utilization requirement: graphic-based types use more system resources compared to command-based systems. Depending on your resource requirement you can choose from either.
- User-friendly or computer-human interface. Depending on the level of user you can choose from either graphic user interface (GUI) or command-based. GUI systems are simple to learn even for beginner users. For a command-based system such as Linux, they require an advanced user.
- Community of user support: chose an operating system that has established online user support. The more users a system has means more places that you can get help in case of having problems. Open source versions of the OS have a more established community of user support.
- Reliability: the operating system should be able to operate without crashing and shutting down regardless of user error. Errors generated by users should not crash the operating system at any time.