CITS2002 Systems Programming  
next CITS2002 CITS2002 schedule  

An Introduction to Operating Systems

What is an operating system?

A piece of systems software that provides a convenient, efficient environment for the execution of user programs.

It's probably the largest and most complex program you'll ever run!

Why do we need an operating system?

  • The user's viewpoint:
    to provide the user interface, command interpreter, and directory structure, and to execute application programs (word processor, email client, web browser, MP3 player).

  • The programming environment viewpoint:
    to enhance the bare machine, to provide utility programs (such as compilers, editors, filters), to provide high-level input and output (I/O), to structure information into files, and to improve access to memory (size, protection, sharing).

  • The efficiency viewpoint:
    to replace the (long departed) human operator, to schedule tasks, to efficiently store and retrieve data, and to invoke and share programs.

  • The economic viewpoint:
    to allow simultaneous use and scheduling of resources, including disk-bound data and expensive peripherals.

Traditionally, we would summarize an operating system's goals as making "the system" convenient to use and scheduling its resources efficiently and fairly.

In addition, it must support hardware and software not yet developed.

 


CITS2002 Systems Programming, Lecture 3, p1, 31st July 2023.