CS 438/505 - Operating Systems Analysis
Semester: Fall 2013
Information / Announcements
Final exam
scheduled for Tue, 12/17/2013, 07:45PM - 09:45PM, HH-310
Material up to and including Memory Management will be covered.
Will focus more on second half of semester material
C programming will be included.
You will need to be able to start your Intel-based Android Virtual Device in the lab during the exam.
Expect true-false, multiple choice and short written answer format.
About 30 questions
Notes
Introduction
(Updated: 9/3)
C for Java Programmers (PDF)
Computer Architecture Overview
(Updated: 9/5)
OS Evolution
(Updated: 9/5)
Modern OS Structures
(Updated: 9/12)
Modern OS Abstractions
(Updated: 9/12)
Processes and Address Spaces
(Updated: 9/24)
System Calls
(Updated: 10/3)
Also read:
The UNIX Time-Sharing System
, Dennis M. Ritchie and Ken Thompson, Bell Laboratories, 1974 (PDF version)
Kernel command using Linux system calls
, M. Tim Jones, IBM developerWorks Technical Library, 2010
System Calls, The Linux kernel
, Andries Brouwer, aeb@cwi.nl, 2003
SYSENTER Based System Call Mechanism in Linux 2.6
, Manu Garg
Signals, Shared Memory and IPC
(Updated: 10/8)
Also read (on the Android IPC model):
http://www.angryredplanet.com/~hackbod/openbinder/docs/html/BinderIPCMechanism.html
http://www.nds.rub.de/media/attachments/files/2012/03/binder.pdf
Threads
(Updated: 10/24)
Linux Processes
(Updated: 11/5)
Linux Interrupts
(Updated: 11/7)
Synchronization with Locks
(Updated: 11/14)
Synchronization with Semaphores and Monitors
(Updated: 11/21)
Scheduling and Deadlock
(Updated: 12/2)
Memory Management
(Updated: 12/10)
File Systems
(Updated: 12/10)
Tasks
Set up virtual Android environment
Compile and run the Android goldfish kernel
Compile and run the Android goldfish kernel for Intel x86
Compile and run simple C programs on your Android AVD
Writing your own UNIX shell
List of assignments
(Updated: 12/2)
Links and Resources