Operating Systems
(material from Schneider & Gersting  An Invitation to Computer Science Ch 7)


The Naked Machine : Computers would be very hard to use if all programming had to be in machine code and all programs had to be "hand-loaded" into the computer's memory. In the beginning all programming was done this way which was an inefficient use of hardware and time consuming for the programmer. For example to execute a program on a naked machine a programmer would have to
  1. code the program in binary machine code
  2. represent all data in binary notation
  3. hand load the code into consecutive memory locations on memory  - one memory location at a time
  4. hand load the data into memory making sure the addresses where the data was located agreed with the corresponding addresses given by the code
  5. start the program by inserting the first address of the code into the PC register
Over time programs were written to ease some of the programming burden. Simple programs called loaders were written to load code into the memory of a computer. These evolved into operating systems. Operating systems
  1. hide the user from messy and unnecessary details of underlying hardware
  2. present system information in meaningful way that does not requires in-depth knowledge of internals
  3. allow easy access to system resources
  4. prevent accidental or intentional damage to hardware, programs and data
Operating System : One or more programs that controls the allocation and usage of hardware (e.g. memory, CPU,  disk space, peripheral devices) software resources (e.g. files containing data and/or code) and functions as an interface between the user, application programs, and the hardware. Examples: MS-DOS 6.2, Windows 3.1 (GUI), Windows98, Windows XP, Unix

The interface to an operating system is either "command line" (e.g. MS-DOS) where the user types in commands or "graphical user interface" (GUI) like Windows where the user uses a pointing instrument (e.g. mouse) to click on icons etc.

Today when you power on a computer, a small hardwired bootstrap loader program starts the process of loading the O/S  "kernel" into  main memory where it permanently resides (until the power is turned off). The entire O/S does not reside in memory at one time - it's too big. Instead programs and utilities belonging to the O/S are swapped into and out of memory as needed.


Operating Systems have a number of functions


Historical Overview of Operating Systems


Return to Comp 150 HomePage