Lecture 12: Putting Everything Together

11 November, 2011

This week, I will put most of the things that we have learnt together in CS2106 and traced through an example of what happen when you execute a command. We will also go into details of some steps that we haven’t have time to cover before.

Having a hardcopy of slides during lecture would be helpful. Be prepare to take notes during lecture.

Download Slides: PDF

Lecture 11: File Systems

4 November, 2011

We focus on file systems in this week’s lecture. Will talk a little bit about disk performances as well.

Having a hardcopy of slides during lecture would be helpful. Be prepare to take notes during lecture.

Download Slides: PDF

Reading:

  • Section 4.3, 4.4
  • Section 5.4.3
  • Section 10.6.3

Related Wikipedia entries are listed below. These are for students who are keen to go beyond what is covered in CS2106. Read the articles with a critical mind since Wikipedia is editable by anyone.

Lecture 10: Memory Management III and Introduction to File Systems

28 October, 2011

This lecture cleans up the remaining topics on memory management and introduces system calls related to file management

Having a hardcopy of slides during lecture would be helpful. Be prepare to take notes during lecture.

Download Slides: PDF

Reading:

  • Section 3.5.3, 3.5.6, 3.5.7
  • Section 3.7 (excluding 3.7.1, 3.7.2)
  • Section 10.4.2
  • Section 4.1, 4.2

Related Wikipedia entries are listed below. These are for students who are keen to go beyond what is covered in CS2106. Read the articles with a critical mind since Wikipedia is editable by anyone.

Lecture 9

21 October, 2011

This lecture is the second of a three-part series looking into memory management issues in OS.

Having a hardcopy of slides during lecture would be helpful. Be prepare to take notes during lecture.

Download Slides: PDF

Reading:

  • Section 3.4
  • Section 3.5.1, 3.5.2
  • Section 3.6.1, 3.6.2, 3.6.4, 3.6.5

Related Wikipedia entries are listed below. These are for students who are keen to go beyond what is covered in CS2106. Read the articles with a critical mind since Wikipedia is editable by anyone.

Lecture 8: Memory Management

14 October, 2011

This lecture is the first of a two-part series looking into memory management issues in OS.

Having a hardcopy of slides during lecture would be helpful. Be prepare to take notes during lecture.

Download Slides: PDF

Reading:

  • Sections 3.1 – 3.3, 3.5.4 – 3.5.6

Related Wikipedia entries are listed below. These are for students who are keen to go beyond what is covered in CS2106. Read the articles with a critical mind since Wikipedia is editable by anyone.

Lecture 7: Deadlock

30 September, 2011 This week we will look at deadlock in more details, as well as other nuisances caused by buggy synchronization code, including livelock, starvation, and priority inversion. Having a hardcopy of slides during lecture would be helpful. Be prepare to take notes during lecture.

Download Slides: PDF

Reading:

  • Chapter 6 (exclude 6.5, 6.7.1, 6.7.2, 6.8)

Related Wikipedia entries are listed below. These are for students who are keen to go beyond what is covered in CS2106. Read the articles with a critical mind since Wikipedia is editable by anyone.

Lecture 6: CPU Scheduling

16 September, 2011

We have mentioned CPU scheduler several time in the past lectures. This week, we finally get to meet the scheduler! We will discuss different CPU scheduling algorithms, starting with simple algorithms and slowly build up towards complex scheduling algorithms used in Linux today. Having a hardcopy of slides during lecture would be helpful. Be prepare to take notes during lecture. Download Slides: PDF Reading:

  • Section 2.4 Scheduling (up to and include Shortest Process Next only)
  • Section 10.3.4 Scheduling in Linux (Note: the 2nd edition of the textbook describes an older version of Linux scheduler)

Related Wikipedia entries are listed below. These are for students who are keen to go beyond what is covered in CS2106. Read the articles with a critical mind since Wikipedia is editable by anyone.

The book “Operating Systems: Four Easy Pieces” by Remzi and Andrea Arpaci-Dusseau has a nicely written chapter on MLFQ.

For those who are interesting in the glory details of Linux scheduler (in version 2.6), you can take a look at the relevant pages from “Understanding the Linux Kernel” by Daniel Pierre Bovet and Marco Cesati. Here is the link to the pages from Google Book.

Lecture 5: Inter-process Communication II

9 September, 2010

While previous lecture focuses on mutual exclusion, this second lecture on inter-process communication (IPC) focuses on synchronization among processes. You will learn about using semaphore to solve the producer-consumer problem and dining philosopher problem. We will end the lecture on threads programming in C.

Having a hardcopy of slides during lecture would be helpful. Be prepare to take notes during lecture. Demo code will be shown during lecture and posted after the class along with screencast.

Download Slides: PDF

Reading:

  • Section 2.3.5 Semaphore
  • Section 2.3.6 Mutexes
  • Section 2.5.1 The Dining Philosophers Problem

Related Wikipedia entries are listed below. These are for students who are keen to go beyond what is covered in CS2106. Read the articles with a critical mind since Wikipedia is editable by anyone.

Here is a nice tutorial on phtread programming by Blaise Barney of Lowrence Livermore National Laboratory.

Lecture 4: Inter-process Communication

2 September, 2011

This is the first of a two-lecture series on inter-process communication (IPC). You will learn about share memory and message passing as two generic methods for IPC, and learn about signals and pipes, two communication abstractions on UNIX. We will then discuss the complexities that arise from sharing of resources between two processes (or two threads), and cover the concepts of race conditions, mutual exclusion, critical regions, and consider various methods to ensure mutual exclusion (including test-and-set, peterson’s algorithm, and disabling interrupts).

Having a hardcopy of slides during lecture would be helpful. Be prepare to take notes during lecture.

Download Slides: PDF

Reading:

  • Section 2.3 (up to and include 2.3.4)

Related Wikipedia entries are listed below. These are for students who are keen to go beyond what is covered in CS2106. Read the articles with a critical mind since Wikipedia is editable by anyone.

Here are related man pages: kill | signal