Home   Learning Computing History

Operating Systems
 

Up

 

 

 

 

 

 

A Brief History of Operating Systems

OS – A program that controls the execution of application programs and acts as an interface between the user and the hardware.  It does a high degree of coordination of resources in terms of memory, CPU cycles or process, I/O devices and file system.  

Back in the early days, program execution required significant preparation, physical separation of users and equipment led to the OS, which is a system to simplify program setup and simplify transition between jobs.  

An OS function:

  • Communicate or provides a method for other programs to communicate with the hardware.
  • Create a user interface—a visual representation of the computer on the monitor, and also enable user to manipulate the interface or changes to the computer.
  • Enable users to determine the available installed programs and run, use, and shut down the program at their choice.
  • Enable users to add, move and delete the installed programs and data.
  • The internal part of the OS is called the Kernel comprised of:
    • File Manager
    • Memory Manager
    • Device Drivers
    • Scheduler
    • Dispatcher

The Evolution of the OS

The Ancestors (   - 1945)

  •  Hardware mechanical
  •  No OS at all, built for a specific purpose
  • Code change by moving cables (!)
  •  Terminal are blinking lights; punch cards
  •  No interaction

Ø       Z3, the 1st programmable computing device, developed by Konrad Zuse, German engineer in 1941,

Ø       Colossus (UK), a device to decode German ENIGMA transmissions was built by the British & developed by Thomas Flowers, Max Newman & Associates of Bletchley Park in 1943

 

Pre-OS Stage

No real OS to speak of; hardware costs outweighed human cost (1945-1955)

  • Singular job processing & card fed libraries; hard-wired structure where changes & debugging are complicated.
  • Demand for alternative uses of computing equipment led to the ability of reprogramming via switches & modular sections instead of soldered connections

Ø       ENIAC, the world's first electronic digital computer, was designed by John Mauchly and J. Presper Eckert for Army Ordnance to compute World War II ballistic firing tables in 1947.

Ø       EDSAC (or Manchester Mark I) (UK), was a follow on employing many of John Von Neumann’s principles.  Lead by John E. Lennard-JonesMaurice Vincent Wilkes in 1948

Ø       UNIVAC/LARC, the first “so–called” supercomputer, was developed Herman Lukoff, founding member of Sperry-Rand, 1951

 

OS Stage 1

  • Simple OS structure – simple batch processing (1955 - 1965)
    • No memory management & protection
    • Punched Card  & tape program input
    • Monitor console to oversee job processing
    • Job debugging still complicated requiring dumps to debug
    • OS develops sophistication – overlapped CPU & I/O operations (1962 - 1969)
      • Buffering of slow jobs to fast tape & replicate I/O devices
      • Ability to Spool jobs to disk

Ø       MULTICS, a mainframe timesharing operating system, announced in 1963, not released until 1969

Ø       IBM OS/36, state-of-the-art, was released with over 1000 known bugs in 1964

 

OS Stage 2

  • OS extends to multi-programmed batch systems (1965 - 1970)
    • Multiple jobs on disk waiting to run
    • Multiprogramming – run several programs at the same time
      • Load jobs into memory as Schedules Jobs
      •  Load jobs that await tapes to be mounted
  • Interactive timesharing (1970 - 1980)
    •  One computer, many low-cost terminals
      • Concurrent user access of resources
      • Simpler debugging
    • Disk space becomes cheaper so programs are loaded to disk subsystems

Ø       UNIX, developed by Ken Thompson at Bell Labs, became a successful OS on the UNIVAC in 1969

Ø       First microchips appeared from both Intel & Fairchild independently of each other in 1970

Ø       DEC VAX11 780, Enhanced PDP-11 architecture to increase virtual address space from 16 to 32 bits, doubling general registers from 8 to 16 in 1978

 

OS Stage 3

  • Personal Computing (1980 - 1995)
    • One CPU per computer instead of dumb terminals (Computers for the masses!)
    • OS at the desktop is simplified by removing support for concurrency, memory protection & multiprogramming
    •  Emphasis on user interface & API

Ø       In 1977, Kildall & Digital Research re-wrote CP/M to make it suitable for running on the many microcomputers using the 8080, Zilog Z80, and other CPU chips.  

Ø       IBM 5150, the original “Personal Computer” which defined the term PC-Compatible in 1981

Ø       IBM accepted Gates’ DOS/BASIC package.  The revised system was renamed MS-DOS and quickly came to dominate the IBM PC market. 

Ø       Apple Lisa, ahead of its time, featured a mouse, icons, pull down menus, point and click, cut’n’paste in 1983, Apple Macintosh was the first affordable computer to include a Graphical User Interface in 1984. Apple products were developed under Steve Jobs & Steve Wozniak

Ø       Windows 3.1 over MS/PC/DR-DOS OSes allowed the PCs to utilize a GUI for the 1st time in 1985.

Ø       The desire for a free production (as opposed to educational) version of MINIX led a Finnish student, Linus Torvalds, to write Linux in 1991.

 

OS Today

  • Cutting Edge Computing (1995 - 2003)
    • High performance computers with pre-emptive multi-threaded multitasking OS layered with an intuitive GUI
    • Turnkey desktops & portables with applications & services ready for use OOB
    • Networked-assembled systems
    • End user skills minimalized to appliance implementer

Ø       Windows 9x (1995), although not purely 32-bit, it offered a family of stable personal desktop OS

Ø       Windows NT 4 (1996), Windows 2000 (2000), Windows XP (2001), From the ground up, the OS has been based on a secure model for the business environment, finally merging with the personal desktop in XP

Ø       MAC OS X PPC (2001), adopting a UNIX core, this GUI is powered by the PowerPC CPU.

 

OS Diversity: Each OS iteration is spawned by the advances achieved in their predecessors.  Each advancement in CPU development leads to more sophistication in the OS as well. 

Intel Based X86 & RISC Motorola
TRS-80 z80  ROM BASIC - 1977 MULTICS/UNIX - 1969 APPLE II 6502 - 1976
CP/M      Mini Computers - 1979 MS/PC/DR-DOS - 1981  
  TRS Color Computer - 1985 MAC Classic OS 5-7 - 1984
OS/2 1.X – i80286 ~ 386 - 1986 MINIX/XENIX/SCO - 1987  
Windows NT 3.x – Pentium - 1990 SOLARIS SPARC - 1989  
OS/2 2.x – i80386 ~ Pentium - 1991 LINUX  & variants - 1991  
Windows 9.x & NT4.x PII-III - 1995   MAC OS Quadra - 1994
Windows 2000 PIII - 2000   MAC OS 9 PPC - 2000
Windows XP PIII-P4 - 2001   MAC OS X  PPC - 2001

 

From the onset of computing, the OS has manifested itself from Single-User Systems, thru Batch processing, Spooling, Time Sharing, Multi-processing, Distributed Computing, Real-Time Computing,, Parallel Computing and beyond to the limit of our imagination. 

 
Last modified: 2004 December 5