System components and peripherals, by themselves, are nothing more than a collection of electronics and mechanical parts. To get these parts to work together to perform a specific task, a special type of computer program, known as an operating system (OS), is required.
Suppose that a user wants to write a report and print it out on an attached printer. A word processing application is required to accomplish this task. Information is entered from the keyboard, displayed on the monitor, saved on the disk drive and then finally sent to the printer.
In order for the word processing program to accomplish all of this, it must work with the OS, which controls input and output functions.
In addition, the entered data is manipulated inside of the computer, stored in RAM and processed by the CPU.
This internal manipulation and processing is also controlled by the OS. All computerised devices, such as servers, desktops, laptops or handhelds, require an OS in order to function. The OS acts like a translator between user applications and the hardware.
A user interacts with the computer system through an application, such as a word processor, spreadsheet, computer game or instant messaging program. Application programs are designed for a specific purpose, such as word processing, and know nothing of the underlying electronics. For example, the application is not concerned with how information is entered into the application from the keyboard.
The operating system is responsible for the communication between the application and the hardware.
When a computer is powered on, it loads the OS, normally from a disk drive, into RAM. The portion of the OS code that interacts directly with the computer hardware is known as the kernel. The portion that interfaces with the applications and user, is known as the shell. The user can interact with the shell using either the command line interface (CLI) or graphical user interface (GUI).
When using the CLI, the user interacts directly with the system in a text-based environment by entering commands on the keyboard at a command prompt. The system executes the command, often providing textual output. The GUI interface allows the user to interact with the system in an environment that uses graphical images, multimedia, and text. Actions are performed by interacting with the images on screen. GUI is more user friendly and requires less knowledge than CLI of the command structure to utilize the system. For this reason, many individuals rely on the GUI environments. Most operating systems offer both GUI and CLI.
Operating systems have complete control of local hardware resources. They are designed to work with one user at a time. They enable the user to multitask. The operating system keeps track of which resources are used by which application.
In order to work with resources that are not directly connected to the computer system, a special piece of software must be added that allows a device to send and receive data from the network. This software, known as a redirector, may either be an integral part of the OS or may need to be installed separately as a network client. When installed, the operating system becomes a network operating system (NOS).
A NOS offers complex scheduling and user management software that allow a device to share resources between many users and treat networked resources as though they are directly connected.