|
Date
|
Topic
|
Notes
|
References
|
Assignments
|
|
01/14
|
Introduction
|
Course introduction (intro.ppt).
C programming notes (C.ppt).
|
-
|
Practice Lab: C -- not for
turnin
|
|
01/16
|
OS Function and Basic Computer System Architecture
|
Structure (Compsys.ppt)
Function (function.ppt)
and the Unix model (unixModel)
|
-
|
-
|
|
01/21
|
Holiday, No Class
|
-
|
-
|
-
|
|
13/09
|
Classic Operating Systems
|
Class notes
|
Reading, not required but
encouraged.
Edsger W. Dijkstra, The
Structure of the "THE"-Multiprogramming System,
Communications of the ACM, V. 11, N. 5o, pp. 345-346, May 1968
Brinch Hansen, P., The
Nucleus of a Multiprogramming System, Communications of the
ACM, V. 13, N. 4, pp. 238-241, Apr. 1970
Wulf, W., E. Cohen, W. Corwin, A. Jones, R. Levin, C.
Pierson, and F. Pollack, HYDRA:
The Kernel of a Multiprocessor Operating System,
Communications of the ACM, V 17, N. 6, pp. 337-345, June 1974
|
- Lab 1:
System Performance Measurements
-
Read the following paper, there will be a quiz on 01//30:
-
Levin, R., E. Cohen, W. Corwin, F. Pollack and W. Wulf.
"Policy/Mechanism
Separation in HYDRA", Proceedings of the fifth Symposium
on Operating Systems Principles, pp. 132-140, Austin, Texas,
1975.
|
|
01/28
|
Concurrency
|
concurrency.ppt
|
Reading, Not required:
C. A. R. Hoare, Communicating
sequential processes, Communications of the ACM, V 21, N. 8,
pp. 666-677, August 1978.
Gregory R. Andrews and Fred B. Schneider, Concepts
and Notations for Concurrent Programming, Computing Surveys,
V. 15, N. 1, March 1983.
|
|
|
01/30
|
- Continue Synchronization
-
Quiz 1: Introductory Material
-
Quiz 2: Hydra
|
See concurrency notes for last session.
|
See papers cited in homework.
|
- Homework 1: Monitors - Hoare vs. Messa
-
Due: Start of class, 02/13/08
-
Description: Two different semantics for the signal operation on
a condition variable are given in the below two papers (Hoare and
Lampson).
-
Part 1: Write a general description of each approach.
-
Part 2: Argue for one of these (or another) approaches
providing specific scenarios, examples or reasons for your
choice.
-
Papers:
-
C. A. R. Hoare, Monitors:
An Operating System Structuring Concept, Communications of
the ACM, V. 17, N. 10, pp. 549-557, October, 1974.
-
B. W. Lampson and D. D. Redell, Experience
with processes and monitors in Mesa Communications of the
ACM, V. 23, N. 2, pp. 105-117, February 1980
|
|
02/04
|
Discuss Lab assignement. Continue synchronization.
|
Class notes and the concurrency notes from 01/28.
|
--
|
Return Quiz 1
|
|
02/06
|
Inter-Process communication and messaging
|
ipc.ppt
|
|
Laboratory assignment 1 (wuperf) due
|
|
02/11
|
Multi-Processors and Threads
|
Multi-processor and threads
background material and class notes. See the paper by Birrell and
the practice lab.
|
Andrew D. Birrell, An
Introduction to Programming with Threads" Digital
Systems Research Center, Research Report 35, Palo Alto,
California, 1989
J. K. Ousterhout, Why
Threads Are A Bad Idea (for most purposes), Presentation
given at the 1996 Usenix Annual Technical Conference, January
1996.
Rob von Behren, Jeremy Condit and Eric Brewer, Why
Events Are A Bad Idea (for high-concurrency servers), 9th
workshop on hot topics in operating systems (HotOS IX), Lihue,
Hawaii, USA, 2003.
|
Process context and thread practice lab.
|
|
02/13
|
- Continue discussion of threads, events and the impact of OS
defined primitives on Internet servers.
-
Quiz 3: Threads, covers material from 02/06 and 02/11 (class notes)
|
See the cited papers.
|
Richard P. Draves, Brian N.
Bershad, Richard F. Rashid, Randall W. Dean, Using
continuations to implement thread management and communication in
operating systems, Proceedings of the thirteenth ACM
symposium on Operating systems principles, Pacific Grove,
California, pp. 122-136, 1991.
Rob von Behren, Jeremy Condit,
Feng Zhou, George C. Necula, Eric Brewer, Capriccio:
scalable threads for internet services, ACM Symposium on
Operating Systems Principles, Bolton Landing, NY, USA, pp.
268-281, 2003.
David Pariag, Tim Brecht, Ashif Harji, Peter Buhr, Amol
Shukla, David R. Cheriton, Comparing
the performance of web server architectures, ACM SIGOPS
Operating Systems Review, Volume 41, Issue 3, pp. 231-243, June
2007.
|
Homework 1 due.
|
|
02/18
|
Scheduling
|
Scheduling
|
Undergraduate text and class notes.
|
- Lab 2: wuthreads.
- Phase 1 due 03/03,
- Phase 2 due 03/17,
- Phase 3 due 03/31.
|
|
02/20
|
Real-Time systems
|
Intro to Real-Time
|
real-time glossary
|
- Homework 2: Answer these questions
on the "continuations" paper. Due Monday 02/25.
-
Richard P. Draves, Brian N. Bershad, Richard F. Rashid, Randall
W. Dean, Using
continuations to implement thread management and communication in
operating systems, Proceedings of the thirteenth ACM
symposium on Operating systems principles, Pacific Grove,
California, pp. 122-136, 1991.
|
|
02/25
|
Real-Time: Clock driven strategies
|
clockDriven.ppt
|
-
|
Homework 2 due.
|
|
02/27
|
Real-Time: Periodic
|
periodic.ppt
|
-
|
-
|
|
03/03
|
Resources
|
resource.ppt
|
|
-
|
|
03/05
|
Proportional share, weighted fair queueing and fairness
|
share.ppt
|
weighted fair queuing and token
bucket notes.
|
- |
|
03/10
|
Spring Break
|
|
03/12
|
Spring Break
|
| 03/17
| Midterm Review
|
| 03/19
| Midterm
|
| 03/24 |
protection mechanisms
| protection.ppt and network subsystem virtualization example sandboxing.ppt. |
- |
- |
| 03/26 |
Memory Subsystem and Quiz |
memoryGeneral.ppt
| - |
- |
| 03/31 |
Virtual Memory
| memoryVirtual.ppt
|
- Jacob, B., Mudge, T., Virtual memory in contemporary microprocessors
Micro, IEEE, Volume: 18, Issue: 4, Jul/Aug 1998, pp 60-75
-
Charles Cranor and Gurudatta Parulkar,
The UVM Virtual Memory System,
In Proc. USENIX Annual Technical Conference, Monterey, Ca, June 6-11, 1999
|
Lab 2: wuthreads due
|
| 04/02 |
Kernel Memory Management |
memoryKernel.ppt
|
-
Bonwick, J.,
The slab allocator: an object-caching kernel memory allocator.
In Proceedings of the USENIX Summer 1994 Technical Conference on USENIX Summer 1994 Technical Conference - Volume 1
(Boston, Massachusetts, June 06 - 10, 1994). USENIX Association, Berkeley, CA, 6-6.
-
M. Tim Jones, Anatomy of the Linux slab allocator
-
Barkley, R. and Lee, T. 1989.
A lazy buddy system bounded by two coalescing delays.
SIGOPS Oper. Syst. Rev. 23, 5 (Nov. 1989), 167-176.
|
- |
| 04/7 |
Introduction and Overview of Virtual Machines
| virtual_machines.ppt
|
-
Smith, J.E.; Ravi Nair,
The architecture of virtual machines,
Computer, vol.38, no.5, pp. 32-38, May 2005
-
Rosenblum, M.; Garfinkel, T.,
Virtual machine monitors: current technology and future trends,
Computer, vol.38, no.5, pp. 39-47, May 2005
-
Uhlig, R.; Neiger, G.; Rodgers, D.; Santoni, A.L.; Martins, F.C.M.; Anderson, A.V.; Bennett, S.M.; Kagi, A.; Leung, F.H.; Smith, L.,
Intel virtualization technology,
Computer, vol.38, no.5, pp. 48-56, May 2005
|
Homework 3assigned, due Monday 04/14, start of class. |
| 04/09 |
Virtual Machines Continued |
Class notes
|
- Disco:
Edouard Bugnion, Scott Devine, Kinshuk Govil, Mendel Rosenblum,
Disco: running commodity operating systems on scalable multiprocessors,
ACM Transactions on Computer Systems (TOCS), V. 15, N. 4, pp 412-447, November 1997.
- Xen:
Barham, P., Dragovic, B., Fraser, K., Hand, S., Harris, T., Ho, A., Neugebauer, R., Pratt, I., and Warfield, A. 2003.
Xen and the art of virtualization.
In Proceedings of the Nineteenth ACM Symposium on Operating Systems Principles (Bolton Landing, NY, USA, October 19 - 22, 2003). SOSP '03. ACM, New York, NY, 164-177.
- Denali:
Whitaker, A.; Cox, R.S.; Shaw, M.; Gribble, S.D.,
Rethinking the design of virtual machine monitors,
Computer, vol.38, no.5, pp. 57-62, May 2005
- VMWare:
Sugerman, J., Venkitachalam, G., and Lim, B. 2001.
Virtualizing I/O Devices on VMware Workstation's Hosted Virtual Machine Monitor.
In Proceedings of the General Track: 2002 USENIX Annual Technical Conference (June 25 - 30, 2001). Y. Park, Ed. USENIX Association, Berkeley, CA, 1-14.
- VMWare ESX Server:
Waldspurger, C. A.
Memory resource management in VMware ESX server
In Proceedings of the 5th Symposium on Operating Systems Design and Implementation, 2002
|
- |
| 04/14 |
Discussion of final project, distributed virtual resources. |
Class notes and
epos.ppt |
- |
Homework 3 due
Final project EPOS.doc
(EPOS.pdf)
assigned, due Monday 02/28, start of class.
|
| 04/16 |
Language based protection schemes. |
OKE.ppt,
Singularity.ppt,
Common router framework and
Mikes DSS talk.
|
|
- |
| 04/21 |
Multiprocessor/CMP Virtualization; I/O Virtualization. |
Class notes |
-
Govil, K., Teodosiu, D., Huang, Y., and Rosenblum, M. 2000.
Cellular Disco: resource management using virtual clusters on shared-memory multiprocessors.
ACM Trans. Comput. Syst. 18, 3 (Aug. 2000), pp 229-262
- Harlan McGhan, Niagara 2 Opens the Floodgates MPR, Nov 6, 2006
- UltraSPARC T2
- Your OS on the T1 Hypervisor
- Solaris Operating System Hardware Virtualization Product Architecture
- Intel's Virtualization Technology for Directed I/O
|
- |
| 04/23 |
Distributed Virtualization, PlanetLab |
PlanetLab.ppt and Class notes |
-
Soltesz, S., Pƶtzl, H., Fiuczynski, M. E., Bavier, A., and Peterson, L. 2007.
Container-based operating system virtualization: a scalable, high-performance alternative to hypervisors.
SIGOPS Oper. Syst. Rev. 41, 3 (Jun. 2007), 275-287.
Talk slides and paper: http://www.cs.princeton.edu/nsg/papers/vserver_eurosys_07
-
Bavier, A., Bowman, M., Chun, B., Culler, D., Karlin, S., Muir, S., Peterson, L., Roscoe, T., Spalink, T., and Wawrzoniak, M. 2004.
Operating system support for planetary-scale network services.
In Proceedings of the 1st Conference on Symposium on Networked Systems Design and Implementation - Volume 1 (San Francisco, California, March 29 - 31, 2004).
USENIX Association, Berkeley, CA, 19-19.
- PlanetLab home URL: http://www.planet-lab.org
| - |
| 04/28 |
Final Review |
final_review.ppt |
- |
Final Project due |
| 05/05
| Final Exam, 4:00PM-6:00PM, Same room.
|