Provides an interface between user and
the machine
Originally each program would have to
separately deal with input and output
from / to the computer.
The OS was created to deal with this issue.
The OS would contain useful code that
most programs would frequently use
(such as dealing with input and output) in
order to make the programming process
more efficient.
These pieces of pre-written code to deal
with input and output led to the
input-output control system (IOCS). At first
the IOCS only needed to read from a
punched card and punch holes in a card to
output data but as input and output media
became more complex so did the IOCS.
Provides an interface between software
and the machine
When computers were first invented they were
programmed through binary code. When low-level
programming languages (such as assembly) and
high level programming languages (such as Visual
Basic) were invented, systems had to be created so
that the computer could understand them.