CS 4210 Advanced Operating
Systems
Summer 2001, TTH 10:00-11:45AM, CCB 101
Basic Information:
-
Instructor: Beth Plale, Ph.D.,
CCB 222, 404-894-1540
beth@cc.gatech.edu
Office Hours: TTh 11:45-1:15 p.m.
-
Teaching Assistant: Durga Mannaru, CCB
225E, 404-385-2021
durga@cc.gatech.edu
Office Hours: MW 10:00 - 11:30 a.m.
-
Suggested Textbooks:
Operating Systems Concepts, Silberschatz and Galvin, Fifth
Edition, Addison Wesley, Recommended.
Multithreaded Programming with Pthreads, Lewis and Berg, Prentice
Hall. Recommended
Pthread Programming, Nichols, Buttlar, and Farrell O'Reilly. Recommended.
Distributed Operating Systems, Tannenbaum, Prentice Hall. Recommended.
-
Syllabus (in pdf)
Lectures
-
Tue May 15: Silberschatz
and Galvin Chapter 4 (review)
-
Thur May 17: "
An Introduction to Programming with Threads" by A. Birrell
-
Tue May 22: Thread Design Structure Patterns (Lewis & Berg, Ch. 13, Nichols,
et al. Ch. 2)
-
Thur May 24: A Short Introduction to Pthreads. Project
1 assigned; due Thursday 14 June 2400 hrs.
-
Tue May 29: Thread Models, Scheduling, Synchronization, and Real-time Threads (Lewis & Berg Ch. 5,
6)
-
Thur May 31: "
Beyond Multiprocessing -- Multithreading the SunOS Kernel", by Eykholt et al.
-
Tue June 5: "Implementing Lightweight Threads", by Stein and Shah
-
Thur June 7: "First-Class
User-Level Threads", by Marsh et al (in the Psyche parallel operating system)
-
Tue June 12: Advanced Synchronization Constructs: Monitors,
Serializers, and Path Expressions
-
Thur June 14: Synchronization Constructs: Serializers, Path
Expressions, RWLocks, and Sempahores. HW2
and Project
2 assigned.
-
Tue June 19: Webserver architecture:
"Flash: an Efficient and Portable Web Server", by Pai et al.,
-
Thur June 21: Midterm. Project
1 Tips for More Robust Web Server by Durga Mannura.
-
Tue June 26: Introduction to SMP Architectures;
"Performance of Spinlock Alternatives for SMPs" (Anderson's paper)
-
Thur June 28: User-Level Inter-Process Communication for SMP (Bershad et al paper)
-
Tue July 3: Sun RPC tutorial
-
Thur July 5: "Implementing Remote Procedure Calls" by Birrell and
Nelson.
Project
3 handed out. Due Thursday July 26 at 2400 hours.
- Tue July 10: Advances in RPC (asynchronous RPC, Java RMI);
"A Note on Distributed Computing" by Waldo, Wyant, Wollrath, Kendall.
-
Thur July 12: "The Spring Nucleus: A Microkernel for Objects" by Hamilton, Kougiouris (doors)
-
Tue July 17: Distributed File Systems (Tanenbaum Ch. 5, Silberschatz and
Galvin Ch. 17),
Distributed File Systems case studies: The Sprite file system (recommended paper: Caching in the Sprite Distributed File System by Nelson et al.)
-
Thur July 19: Distributed Shared Memory (Tanenbaum, Ch. 6)
-
-
Tue July 24: Sr. Project Case Studies (4 presentations)
-
Thur July 26: Sr. Project Case Studies (3 presentations). Final day
of class.
-
Mon July 30: Final exam (will be comprehensive); 2:50 - 5:40 p.m. in CCB 101.
Papers for Senior Project Case Studies
Some .jpg Images
La
gata
Chip
and ant
Soccer
player
Pointers to Technical Information:
-
JPEG manipulation:
-
www.ijg.org
-
Source
code library for JPEG manipulation (follow installation instructions
to compile it)
-
Client
program using the library to create low-quality JPEG images from regular
JPEGs. Untar together with the library and follow the instructions in README.lowres
-
Short
routine that invokes change_res_JPEG() with the name
of a .jpg file, and writes the resulting buffer to a file.
-
Code compliments of Dmitri Alperovitch that processes an image that is
resident in a user-space buffer.
-
HTTP, Web Servers, and more:
-
Pthreads Resources:
Additional Information: