An operating system is a set of software that allows computers to perform basic tasks for people. The most common operating systems today are Microsoft Windows, Google's Android (a Linux variant), Apple's Mac OS, and Linux / Unix / BSD
An operating system is defined into a few basic parts:
- The BIOS, which handles all hardware related things. Often a computer has a BIOS integrated within its hardware, though some operating systems such as Linux are independent of this BIOS.
- The Kernel, which handles all software related operations and acts as an interpreter between applications and the hardware.
- The shell or User Interface - Software that draws forms, toolbars, menus, main task bar, typing commands for the computer to execute, etc. Shells typically provide a primitive programming capability, called scripting, such as DOS command scripts, JCL, DCL, and Windows script.
- System programs that come packaged with the operating system, such as browsers, file backup/restore, sorting utilities, login/logout programs, etc.
General-purpose operating systems are designed to be flexible in what applications they can run, provide an interface, support multitasking, offer feature-laden file systems, and most of them support multiple users. These are the operating systems with which most people are familiar.
Real-Time operating systems (RTOS) are designed to have minimal overhead so that they can respond immediately to events. As such, they tend to have no file system, or a simple file system optimized for speed. Real-time operating systems are used by embedded controllers in many devices, including industrial equipment, kitchen appliances, and automobiles. These controllers need to recognize task priority, and perform their primary function without delay when called upon. For example, the airbags in cars are controlled by an RTOS; every millisecond is critical in the processing speed for safety devices such as these.
An RTOS that ran on the popular PDP-11 minicomputers was RT-11. Today, VxWorks is the most popular RTOS.
General-purpose operating systems typically offer the following features:
- Hardware Abstraction, which allows programs to make use of hardware without having to know about the specifics of any given hardware device. It is responsible for displaying the graphics on screen and outputting sound to the speakers, controlling input from the mouse and keyboard, and allowing hardware to work properly. Usually this is implemented in the BIOS or a separate HAL (Hardware Abstraction Layer).
- Load programs from secondary stores into memory and execute them.
- File Systems, which handle storing and retrieving files stored on hard disks, USB drives, magnetic tapes, and CDROM/DVDROMs.
- Security. Prevent unauthorized access to system resources.
- Multiprocessing. Allow multiple programs to run simultaneously and share system resources.
- Networking. Allows interfacing with other computers on a network.
- User interfaces, such as a Graphical User Interface (GUI), and system programs that provide users way of accessing hardware, files, programs, processes, and networks.
Popular or Historic Operating Systems
- Google Android
- iOS for iPhone/iPad
- Mac OS for Mac
- Microsoft Windows
- Linux / Unix / BSD
- Tails Anonymous Secure Operating System
- MS DOS