An operating system is typically thought of as the lowest level of software running on a computer, which presents abstract interfaces to aplication programs.

The previous statement is in fact completely wrong. The BIOS and micro code are lower level. Most people don't distinguish or think of the operating system at all, since most computers only ever know one operating system most users think of the operating system as part of "the computer" and not part of "the software." Many of the interfaces presented by operating systems are, in fact, not abstract, but merely historical: new hardware is substituted for old on the basis that the applications can use the new hardware like they used the old hardware. Thus hard drives are substituted for floppies.


  1. UNIX - emphasis on multi-user facilities, security and networking
    1. Solaris (aka SunOS)
    2. Minix (a minimal UNIX implementation by Andrew Tanenbaum for use in teaching Computer Science)
    3. AIX (from IBM)
    4. HP-UX/HPUX (from Hewlett Packard)
    5. IRIX (from SGI aka Silicon Graphics Inc.)
    6. Xenix (Microsoft UNIX)
    7. BSD Family (Berkeley Software Distribution)
      1. BSD
      2. NetBSD (emphasis on portability)
      3. OpenBSD (emphasis on cryptography and security)
      4. FreeBSD
    8. Mac OS X/Darwin
    9. Linux (aka GNU/Linux from RMS and Linus Torvalds in several distributions)
      1. RedHat
      2. Debian
      3. Slackware
      4. Caldera
      5. Red Flag Linux
      6. Mandrake
      7. SuSE
      8. Yellow Dog(Mac)
      9. LinuxPPC (Mac)
  2. Microsoft Operating Systems (emphasis on compatibility with previous versions)
    1. MSDOS/DOS (Disk Operating System)
    2. Windows 3.1
    3. Windows 95
    4. Windows 2000
    5. Windows NT (Windows New Technology)
  3. BeOS (emphasis on media)
  4. AmigaOS
  5. MacOS (emphasis on ease of use a consistent user interfaces. see also Mac OS X/Darwin)
Other Operating Systems of mainly historical interest include: OS/2, VMS, OS/400, OS/390, MVS, ITS, TOPS-10, TOPS-20/TWENEX, WAITS, CP/M (predecessor of MSDOS/DOS), Multics (predecessor of UNIX), TOS.

Operating Systems typically provide:

  1. Input/Output access to:
    1. Storage (Disks, Tapes/Tape Drives, CDROMs, DVDs, ...)
    2. Keyboard, Mouse/Mice, screen/monitor/VDU, sound
    3. Generic interface ports (RS232, SCSI, parallel port, ...)
    4. Network cards (Token ring, Ethernet, FDDI, ATM, ...) and a high level TCP/IP interface to this network hardware
  2. Security features such as user authentication, process accounting, etc
  3. Development tools such as Compilers, Debuggers, ...
  • compatibility features such as emulation of older or foriegn systems.