Operating Systems (CS240)
Welcome to Operating Systems CS240.
This course is offered in the Spring Semester 2008 at the
University of Idaho in Moscow.
The course is taught by Dr. Axel Krings.
This web-page
contains information about the course, e.g. syllabus, class notes, pointers
to interesting places etc.
Material can be down-loaded in pdf (or postscript) format, and will be made
available in the updated form as the class goes on.
If you have comments, please let me know.
Course description from UI General Catalog:
CS 240 Computer Operating Systems (3 cr),
Overview of operating systems, Operating system principles, Concurrency, Scheduling and dispatch, Memory management, Introduction to net-centric computing, OS security. Process management. Concurrent programming using threads.
Prereq: CS 121 and 150,
Coreq: CS 270.
Text: William Stallings, Operating System: Internals and Design Principles, 5th Edition, Prentice Hall, 2005.
- Contact information:
- Axel Krings (PhD), JEB 320,
- Phone: 208-885-4078, fax: 208-885-9052.
- Email: krings@cs.uidaho.edu (see comments in syllabus on email procedures)
- Office Hours:
(see here)
- Class times: MWF 2:30-3:20 pm room EP216.
Class Handouts:
- The handouts are ordered by sequence numbers which used to be the lecture numbers.
The dates indicate the date the handout was posted.
With class changes from MWF to TR etc. there is no longer a 1-to-1 correspondence
and the sequence numbers are simply an ordering mechanism.
- If there are any problems with accessing the handouts,
please let me know (email, phone, smoke signs, drums, ...)!
- Corrections: some slides may contain formatting errors, typos etc.
which have been addressed in class, but have not been reflected
in the notes posted here.
- WARNING LOCAL STUDENTS:
Do not send pdf files (i.e. files in pdf format) to the printer!
Pdf files are binary files and printing them "directly" will
result in a big printer mess!!!
Use acroread to view and print the file!!!
-
Syllabus
- Lecture Notes
- Lecture 1 (01/09/08): [1/1-1/13]
Sequence 1, (pdf),
Introduction, Processors, Instruction and program execution, DMA, Interrupts, Multiprogramming, Memory hierarchy
- Lecture 2 (01/11/08): [1/14-1/24]
Sequence 2, (pdf),
OS objectives, OS services, Kernel, Linux
- Lecture 3 (01/14/08): [1/25-1/35]
- Lecture 4 (01/16/08): [1/34-1/46]
Sequence 3, (pdf)
:
Evolution of OSs, JCL, I/O Devices - Speedup, uniprogramming, multiprogramming, time sharing,
major achievements in OSs
- Lecture 5 (01/18/08): [2/12]
- Lecture 6 (01/23/08): [3/20]
- Lecture 7 (01/25/08): [4/06]
Sequence 4, (pdf)
:
Microkernel, multithreading, SMP, Overview: Microsoft Windows Architecture, Unix Architecture
- Lecture 8 (01/28/08): [5/17]
Sequence 5, (pdf)
:
Processes, process execution states
- Lecture 9 (01/30/08): [5/24]
Sequence 6, (pdf)
:
Processes cont., linux and OS x monitoring utilities
- Lecture 10 (02/04/08): [6/19]
- Lecture 11 (02/06/08): [7/1-7/5] Discussion assignment 2.
Sequence 7, (pdf)
:
Process creation in unix, fork()
- Lecture 12 (02/08/08): [6/20-6/32] finishing up exec (from sequence 7),
processes cont.
- Lecture 13 (02/11/08): [8/1-8/12]
Sequence 8, (pdf)
(Research Talk)
:
:
Threads, singel and multithreaded process model,
Research applications: Processes and Threads in GRID application
- Lecture 14 (02/13/08): [9/1-9/10]
Sequence 9, (pdf)
:
Research applications: processes and threads in GRID computing continued,
User and kernel level threads
- Lecture 15 (02/15/08): [9/11-10/2]
Sequence 10, (pdf)
:
User and Kernel threads cont.,
System Taxonomies, Flynn's Taxonomy
- Lecture 16 (02/20/08): [10/3-11/14]
Sequence 11, (pdf)
:
SMP, Microkernal Architecture and design,
Windows and Solaris processes,
Windows, Solaris and Linux process management
- EXAM 1 (02/22/08):
- Lecture 17 (02/25/08): [12/1-12/20]
Sequence 12, (pdf)
:
Concurrency, Mutual exclusion
- Lecture 18 (02/27/08): [12/20-13/7]
Sequence 13, (pdf)
:
Lamport's Algorithms, Peterson's Algorithm
- Lecture 19 (02/29/08): [13/8-]
Semaphores
- Lecture 20 (03/01/08): [14/01-14/11]
Sequence 14, (pdf)
:
Producer/Consumer problem using semaphores
- Lecture 21 (03/03/08): [15/01-15/08]
Sequence 15, (pdf)
:
Monitors,
- Lecture 22 (03/17/08): [15/09-15/21] (video)
message passing, reader/writer problem solutions
- Lecture 23 (03/19/08): [16/01-16/11] (video)
Sequence 16, (pdf)
:
Deadlock
- Lecture 24 (03/21/08): [17/01-17/14] (video)
Sequence 17, (pdf)
:
Deadlock avoidance, Banker's Algorithm
- Lecture 25 (03/24/08): discussion of HW 3. Questions about previous material.
- Lecture 26 (03/26/08): [18/01-18/10]
Sequence 18, (pdf)
:
Discussion homework 3 & 4,
Deadlock detection, Dining Philosopher Problem,
- Lecture 27 (03/28/08): [18/11-18/25]
Discussion homework 3 & 4,
Unix concurrency mechanisms, pipes, spinlocks...
- Lecture 28 (03/31/08): [19/01-19/26]
Sequence 19, (pdf)
:
Memory management
- Lecture 29 (04/02/08): [20/01-20/10]
Sequence 20, (pdf)
:
Paging, Frames and Segmentation
- Lecture 30 (04/04/08): [21/01-21/13]
Sequence 21, (pdf)
:
Virtual Memory
- Lecture 31 (04/07/08): [22/01-22/13]
Sequence 22, (pdf)
:
Page tables, TLB
- Lecture 32 (04/09/08): [22/14-23/09]
Sequence 23, (pdf)
:
Segmentation tables, Fetch and Replacement Policies
- Lecture 33 (04/11/08): [23/10-24/22]
Sequence 24, (pdf)
:
Page replacement algorithms
- Lecture 34 (04/14/08): [25/01-25/13],
Sequence 25, (pdf)
:
Scheduling
- Lecture 35 (04/16/08): [26/01-26/10],
Sequence 26, (pdf)
:
Scheduling cont.
- Lecture 36 (04/18/08): Exam, material up to (and including) sequence 24
- Lecture 37 (04/21/08): [26/11-27/16],
Sequence 27, (pdf)
:
Scheduling cont.
- Lecture 38 (04/23/08): [assignment 4],
Sequence 28, (pdf)
:
File system, file types (pile, sequential, indexed sequential, indexed, hashed)
- Lecture 39 (04/25/08): [28/01-28/27], files cont.
- Lecture 40 (04/28/08): [28/28-29/37],
Sequence 29, (pdf)
:
File system cont., directory structure, file allocation strategies, Unix file system
- Lecture 41 (04/30/08): [29/38-31/05],
Sequence 30, (pdf)
:
general I/O management
- Lecture 42 (05/02/08): [31/06-31/35],
Sequence 31, (pdf)
:
I/O management, disk scheduling
- Extra (if time allows)
Sequence 32, (pdf)
:
Networking
- Final Exam: Tuesday, May 6, 3:00-5:00pm.
Homeworks/Projects/Exams:
- Expectations: Homeworks/Assignments/Project reports are expected to look professional!
Depending on the type of writeup, e.g. if mathematical derivations are included,
they do not have to be typed in order to look good,
but be aware that I will not accept scribbles etc.
Use a new page for each problem and staple the final submission.
- Assignment 0
- Assignment 1 (pdf)
- Assignment 2 (pdf)
- Assignment 3 (pdf)
- Assignment 4 (pdf)
CS240 old exams:
- Note that some of the material covered in an old exam
might not overlap with the material covered this term.
- Exam 1
(07),
- Exam 2
(07),
- Exam 3
(07),
Interesting Links
Back