Operating Systems – ENTIRE Summary

Current version is COMPLETED: 10:47pm – 24/01/10
Please note there have been BIG CHANGES to the ‘Virtual Memory’ section.

Well here are my notes for Operating Systems, if they help that’s great! I’ll continue revising them and working on the layout.

Read more of this post


Operating Systems – Operating Systems Concepts

Computer Hardware

There are many components within a computer, all of which have to communicate with each other. An example of the components are:

Read more of this post

Operating Systems – Synchronization

Process / Thread Synchronisation

Note: This works the same way for processes and threads, so when I say processes it could equally apply to threads.

Pretend you live in a flat with 2 other people. Maybe you already do (now you don’t need to pretend!).

  • Flatmate #1 wakes up at 8am, sees that you’ve run out of pilk (pig’s milk), then goes out for the day. Read more of this post

Operating Systems – Process & Thread Scheduling

Process & Thread Scheduling

Basic concepts

If there are 2 processes in the ready state and only 1 CPU, the OS must choose which one to run next. The part of the OS that makes this choice is the scheduler. It uses a scheduling algorithm to choose.

If an OS has support for kernel level threads, it is threads and not processes that are being scheduled. Here we are just going to talk about process scheduling but it’s mostly the same. Read more of this post

Operating Systems – Process Management

Process management

This is handled by the process manager of the OS (see here)

First a little history..

  • In early computers, only one program could be executed at a time. This is much different from now. Right now as I type this, I am running Finder, Safari, Chrome, iTunes, iChat, RSS, Tweetie, Spotify, Pages and Last.fm (This has nothing to do with the post, I just wanted to show off all my cool apps) Read more of this post

Operating Systems – OS Concepts

Operating System Concepts

What does an OS do?

  • It manages resources:
    • The different processes running have to compete for memory, CPU etc
    • You can’t leave sharing upto the individual programs as they won’t share! Read more of this post

Operating Systems – Process/Thread Syncing

Process Synchronization

OK, so a background Process Syncing. Process Syncing is concurrent access to shared data that may result in in data inconsistency. There are however some mechanisms required to help maintain data consistency.

Read more of this post

Operating Systems – Process Scheduling


We noticed from the previous OS post that “Shortest-Job-First”, or SJF, can sometimes produce a better result. It can be proved that SJF is optimal for a given set of processes that become available simultaneously.

Read more of this post

Operating Systems – Process and Thread Scheduling

Recall: Process States

DO you remember the states of a process from one of the previous posts? Either way im going to remind you 🙂

Read more of this post