Operating Systems

An operating system (OS) is software, consisting of programs and data, that runs on computers and manages the computer hardware and povides common services for efficient execution of various application software. For hardware functions such as input and output and memory allocation, the operating system acts as an intermediary between application programs and the computer hardware, although the application code is usually executed directly by the hardware, but will frequently call the OS or be interrupted by it. Operating systems are found on almost any device that contains a computer - from cellular phones and video game consoles to supercomputers and web servers.

Broadly the tasks of the Operating system are

Processor Management: The main tasks in processor management are ensuring that each process and application receives enough of the processor's time to function properly, using maximum processor cycles for real work as is possible and switch between processes in a multi-tasking environment.

Memory and Storage Management: The tasks include allotting enough memory required for each process to execute and efficiently use the different types of memory in the system.

Device Management: The operating system manages all hardware not on the processor through driver programs. Drivers provide a way for applications to make use of hardware subsystems without having to know every detail of the hardware's operation. The driver's function is to be the translator between the electrical signals of the hardware subsystems and the high-level programming languages of the operating system and application programs. One reason that drivers are separate from the operating system is for upgradability of devices.

Providing Common Application Interface: Application program interfaces (APIs) let application programmers use functions of the computer and operating system without having to directly keep track of all the details in the processor's operation. Once the programmer uses the APIs, the operating system, connected to drivers for the various hardware subsystems, deals with the changing details of the hardware.

Providing Common User Interface: A user interface (UI) brings a formal structure to the interaction between a user and the computer.