Operating System

The most low-level program that runs on any computer. It is started the moment the computer is switched on, and only ends the moment the computer is shut down. Its main task is to execute ApplicationPrograms, that perform the tasks that the user really wants to have done.

Note that not every computer runs an operating system. Many embedded systems have applications directly running over the hardware. Some desktop systems intentionally blur the distinction between operating system and application (e.g. the OberonLanguage).

The LanguageIsAnOs -- for languages that were designed to run without benefit of an independent OperatingSystem.

See also PurelyFunctionalOperatingSystem, ObjectCapabilityOperatingSystem, KillerOperatingSystem.


An operating system is a program that provides an interface between the hardware and the business logic.


I take issue with the "started the moment the computer is switched on" statement:

In the MS-DOS world, the ROM BIOS starts up when the computer is switched on, and it may invoke a bootstrap loader from the disk, which in turn loads the "full blown" OperatingSystem. The ROM BIOS is OperatingSystem independent - it could start many different OSes.


I take issue with the "Its main task is to execute ApplicationPrograms"

The primary purpose of the operating system is to regulate access to hardware devices, including RAM, CPU, disk drives, etc. -- DavidCorbin

Yes, but this only matters in so far as it lets application programs run!

Yes, like provide a protected memory space (NT uses a 4GB virtual address space with lower 2GB for users and upper 2 GB for the system, although this can be set to 3 GB for users with a special setting) with a Virtual Memory Manager, some abstract model of dealing with hardware (NT has Hardware Abstraction Layer - HAL), device driver model, kernel, services, etc.

-- sg


There are OperatingSystems for embedded applications too... RealTimeOperatingSystems have rather special scheduling and synchronizing facilities. These ensure that the highest priority task that is ready to run will always get to the processor within a finite and deterministic amount of time (typically in the single-digit microseconds on mid-level Pentium hardware). Popular real time operating systems include:

An operating system is OnceAndOnlyOnce for the things that application programmers found themselves doing over and over.


Is anyone doing real research on operating systems these days? We can all see the effects of what has evolved over the last twenty years - we have advanced so much that Linux is now quite popular, and Apple have developed a new OS "based on Unix", while MicroSoft continues to produce new operating systems which try to do better, but usually don't.

EllFour? PlanB? Systems with OrthogonalPersistency?...

Unix is perhaps the best thing we have, but that doesn't mean that it's really good. However, there's not much incentive for anyone to develop a new system is there? What do you think a new operating system should have - or even an older, but refurbished one? See NewOsFeatures.

-- DavidMartland


The most low-level program that runs on any computer

As long as you don't count the MonitorRom?. In many older designs, and (as I understand it), some newer designs, a Monitor ROM got/gets control at PowerOn?. This Monitor ROM could/can be used to examine memory, boot from specific devices, enter code by hand, and other stuff. Some OS implementations were/are aware of the Monitor ROM and would/will allow escaping to it while preserving all other state.


MultiUser? OperatingSystems support many concurrent users SingleUser? OperatingSystems have grown over time

See OperatingSystemsDesign


CategoryOperatingSystem CategoryJargon

EditText of this page (last edited October 13, 2009) or FindPage with title or text search

Meatball