Operating Systems and Systems Programming



Course Description: The purpose of this course is to teach the design of operating systems and other systems. Topics we will cover include concepts of operating systems and systems programming; utility programs, subsystems, multiple-program systems; processes, interprocess communication, and synchronization; memory allocation, segmentation, paging; loading and linking, libraries; resource allocation, scheduling, performance evaluation; I/O systems, storage devices, file systems; basic networking, protocols, and distributed file systems, protection, security, and privacy.

Course Reading Materials:

Textbooks:

Required
Book Title
Authors
Bibliographical Information
Yes
Silberschatz, Galvin, and Gagne
John Wiley & Sons, ©2004  ISBN 0-471-69466-5

Online material (Appendices, code examples, etc)

Note: Students may use the older 7th edition
Suggested
The Design and Implementation of the 4.4 BSD Operating System
McKusick, Bostic, Karels, and Quaterman
Addison-Wesley, ©1996  ISBN 0-201-54979-4 
Suggested
The Practice of Programming
Kernighan and Pike
Addison-Wesley, ISBN 0-201-615686-X 
Suggested
The Mythical Man-Month
Brooks
Anniversary Edition, Addison-Wesley, ISBN 0-201-83595-9 
Suggested
Just Java 2, 6th Edition
Van Der Linden
Prentice Hall, ©2004, ISBN 0131-48211-1

 LECTURES

Lec
No.
Lecture Topic 
PPT /PDF Notes
Reading (7th edition/6th edition)
1
S&G 8th/7th Ch 1
S&G 6th Ch 1
2
S&G 8th/7th Ch2
S&G 6th Ch 2-3
Fernando J. Corbató, "On Building Systems That Will Fail", Turing Award Lecture, 1991
3
S&G 8th/7th Ch 3
S&G 6th Ch 4
Edsger W. Dijkstra, 'The structure of the “THE”-multiprogramming system' Communications of the ACM, Volume 11 ,  Issue 5  (May 1968) 
4
Read Nachos Thread code
5
6
  [ppt,ps,pdf]
S&G 8th/7th Ch 6
S&G 6th Ch 7
John R. Garman, "The Bug Heard 'round the World," ACM SIGSOFT Software Engineering Notes, Vol 6 No 5, Oct 1981
Nancy Leveson, "Medical Devices: The Therac-25", Safeware: System Safety and Computers, Adison-Wesley, 1995
7

Andrew D. Birrell, "An Introduction to Programming with Threads," DIGITAL SRC Research Report 35, Jan 1989
8
9
S&G 8th/7th Ch 7
S&G 6th Ch 8
10
S&G 8th/7th Ch. 5
S&G 6th Ch. 6
11
S&G 8th/7th:  1.5(review), 3.3-3.4, 8.1-8.3
S&G 6th: 2.5 (review), 4.3, 4.5, and 9.1-9.3
12
S&G 8th/7th: 8.4-8.8
S&G 6th: 9.4-9.7
13
14
S&G 8th/7th: Ch 9
S&G 6th: Ch 10
H Levy and P. Lipman, "Virtual Memory Management in the VAX/VMS Operating Systems," Computing Surveys, 4(3) September 1972, pp. 149-167
15
16
S&G 8th/7th: Chapter 13
S&G 6th: Chapter 13
17
S&G 8th/7th: Chapter 11, 12
S&G 6th: Chapter 12, 14
18
S&G 8th/7th: Chapter 10
S&G 6th: Chapter 11
Leon Presser and John White, "Linkers and Loaders"
Supplemental reading on Queuing Theory:
Several Queuing Theory Books Online
19
M. McKusick, W. Joy, S. Leffler, and R. Fabry:
"A Fast File System for UNIX", ACM Transactions on Computer Systems, Vol 2, No 3, August 1984, Pages 181-197
20
S&G 8th/7th: Chapter 16,17
S&G 6th: Chapter 15,16
N. Leveson and C. Turner, "An investigation of the Therac-25 Accidents", IEEE Computer, 15(3), July1993 pp. 18-41. Newer version.
21
S&G 8th/7th: Chapter 17, 18
S&G 6th: Chapter 16, 17
22
Network Protocols II
23

24
S&G 8th/7th: Section 3.6, Chapter 18
S&G 6th: Section 4.6, Chapter 17
The Byzantine Generals Problem. Leslie Lamport, Robert Shostak, and Marshall Pease. ACM Transactions on Programming Languages and Systems, Vol 4, No. 3, July 1982, Pages 382-401
25
S&G 8th/7th: Chapter 18
S&G 6th: Chapter 17
26
27
28
Intel's Teraflop Research Chip, 80-processor multicore chip.


No comments:

free counters