Lectures: Tuesdays and Thursdays 3:00PM-4:15PM, POST 127
Professor: Henri Casanova
(henric@hawaii.edu, 956-2649)
Office Hours: Wed 1PM-3PM
TA: Ali Altunkaya (altunkay@hawaii.edu)
Office Hours: Mondays 10:30-12:30, POST 303-2
Class Goals
Syllabus
The syllabus for the class is available here in PDF format.
Textbook
|
The textbook for the class is: Operating System Concepts, 8th Edition, by Silberschatz, Galvin, and Gagne. Wiley Publisher, 2008 |
You are strongly encouraged to use your own computer for this course. If, for some reason, you cannot, then I can povide you with an account on a Linux box. If you use your own computer, at some point you'll need to have Linux running.
To run linux, you can install a linux partition on your machine. (Google is your friend about how to do this.) Alternately, you can run a virtual machine that runs Linux as a guest OS. Technologies to do this include VMWare, VirtualPC, and VirtualBox. VirtualBox, who was suggested by a student in class seems good, and I am putting here a little VirtualBox how to. This is by no means authoritative and just goes through the steps I went through to install Ubuntu (a Linux distribution) on my laptop. Also, I do not mean to imply that VirtualBox is the best solution, but since it's free and seems solid it's obsviously a strong candidate.
Here are a few random slide on the UNIX/Linux command-line environment ([PPT], ([PDF]).
Links for more general information about Nachos:
See the
| Topic | Lecture Notes | Reading | Additional Material and Source Code |
| Course Introduction | [PPT] [PDF] | ||
| OS Overview | [PPT] [PDF] | Chapter 1 | |
| OS Architecture | [PPT] [PDF] | Chapter 2, without Section 2.8 | |
| Processes | [PPT] [PDF] | Sections 3.1, 3.2.3, and 3.3 |
fork_example1.c
fork_example2.c
fork_example3.c wait_example1.c wait_example2.c signal_example.c zombie_example.c nozombie_example.c orphan_example1.c orphan_example2.c nozombie_interrupted.c nozombie_interrupted_fixed.c exec_example.c |
| IPCs | [PPT] [PDF] | Sections 3.4-6 |
posix_shm_example.c socket_server.c socket_client.c dup_example1.c dup_example2.c |
| Threads | [PPT] [PDF] | Chapter 4 | pthread_creating_joining.c |
| Synchronization | [PPT] [PDF] | Sections 6.1-2, 6.4-8 | race_condition_example.c |
| Deadlocks | [PPT] [PDF] | Sections 7.1-4, 7.5 (not 7.5.3), 7.6 (not 7.6.2), 7.7-8 | |
| CPU Scheduling | [PPT] [PDF] | Sections 3.2, 5.1-3, 5.6 | |
| Nachos and Projects | [PPT] [PDF] | ||
| Main Memory | [PPT] [PDF] | Chapter 8 | tlb_stress.c |
| Virtual Memory | [PPT] [PDF] | Sections 9.1-8, 9.10-11 | |
| Mass-Storage | [PPT] [PDF] | Sections 12.1-7 | |
| Fils System Interface | [PPT] [PDF] | Sections 10.1-4, 10.6, 10.7 | |
| Fils System Implementation | [PPT] [PDF] | Sections 11.1-8 |