An Operating System (OS) is an essential program that the computer cannot work without. It is usually stored on the computer's hard disk and is subsequently loaded into the computer's RAM whenever the computer is switched on.
The 3 main functions of an operating system:
Manage hardware& software resources;
Provide a user-interface.
Provide a platform on which applications can run without needing to worry about the underlying hardware also known as a hardware abstraction layer (HAL).
Drivers
A Driver is a piece of software written by the manufacturer of a piece of hardware in order to allow the operating system to make the best possible use of that hardware. The driver communicates directly with the firmware stored on the hardware.
Most operating systems provide a set of generic drivers which work with most hardware
Microsoft OS Examples
DOS (text-based UI)
Windows 3.1, 95, 98, ME, NT, 2000, XP, Vista, 7
Windows Server 2008
Apple OS Examples
Apple DOS (apple II operating system)
Mac OS X v10.0-10.6
Mac OS X Server
Linux OS Examples
Suze
Fedora
RedHat
Mandrake
Ubuntu
Smartphone OS Examples
Android (Linux based - open handset alliance Owned - open source)
Symbian (Nokia owned)
Windows Mobile
iOS (Apple iPhone – Unix Based)
Palm OS
Embedded Operating System
An embedded operating system is an operating system for embedded computer systems. These operating systems are designed to be very compact and efficient, forsaking many functions that non-embedded computer operating systems provide, and which may not be used by the specialized applications they run. They are frequently also real-time operating systems. Examples of embedded operating systems could include the software used in Automated Teller Machines, Cash Registers, CCTV systems, TV box set, GPS, jukeboxes, etc.
Firmware
This is the name given to software that is permanently stored on a ROM chip. Embedded OS are often also firmware because they cannot be edited. Other examples of firmware are the BIOS, the software in the chipset.
Real-time operating systems are designed to respond to an event within a predetermined time. These types of operating systems are found within environments where computers are responsible for controlling systems. A key difference between a common OS and an RTOS is the level of its consistency concerning the amount of time it takes to accept and complete an application's task; the variability is called jitter.