Introductory Notes




What is an Operating System?

  1. Provide an environment in which programs and users can work.

  2. Clever OS algorithms squeeze the most usage out of slow machines and limited resources

  3. HIDE the reality of the system from the programs and users.




Principles that an OS will work by

Principles will include things like:

  1. Respond to the user interface as quick as possible. Everything else can wait.

  2. Only load into memory the absolute minimum that we need to work with. We can load more if and when needed.
    For example, just load the initial code to display a program and its menus. Don't load the code to handle specific menu items until they are called (which often never happens).

  3. Only write to disk the absolute minimum we need to make the changes.
    Example: Editing a 5 M file. Added a few lines to the end. Press "Save".

  4. When deleting large areas of memory or disk, just put markers at the start of block and end of block showing it is free to be overwritten if and when needed in the future. There is no need to actually go through every location and scrub it clean.
    Example: Delete a 10 G file.




"Never enough"

The whole history of Operating Systems / Computers can be summarised as:

"Never enough".

Never enough CPU speed.
Never enough disk space.
Never fast enough disk access.
Never enough memory.
Never enough screen size.

Never enough bandwidth.

Never enough battery life time.