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.


MCQs of Database (Page 2) 20 Question with Answer

Q No.21: choose the problems that destroy the efficiency of indexing.
a)      Enough changes
b)      Overflow
c)      searching
d)     Both a and b

           Ans: (D)

Q No.22: which type of index is best used for static data?
a)      BTree index
b)      Bitmap index
c)      ISAM index
d)     Hash table

           Ans: (C)

Q No.23: which database object is a query definition and does not contain any data.
a)      Index
b)      Trigger
c)      Sequence
d)     View

           Ans: (D)

Q No.24: which database object useful for speeding up the development process but in the long run can completely kill database performance?
a)      View
b)      Index
c)      Trigger
d)     Sequence

          Ans: (A)

Q No.25: Relational databases allow constraints to be specified at which level
a)      Field level
b)      Table level
c)      Row level
d)     Both a and b

         Ans: (D)

MCQs of Database (Page 1) 20 Question with Answer

Q No.1: By definition, a database is a what type of object
a)      Physical Object
b)      Logical Object
c)      Structured Object
d)      Conceptual Object
Ans: (C)

Q No.2: Which part of database is considered to be a structured part of database? 
a)      Data
b)      Meta data
c)      Both a and b
d)     None
Ans: (B)

Q No.3: Which type of data model support one-to-many relationship between tables? 
a)      Hierarchical model
b)      Network model
c)      Both a and b
d)     None
Ans: (C)

Q No.4: Which type of data model performs extremely poor when retrieving more than a single data item.
a)      Hierarchical database model
b)      Network database model
c)      Object database model
d)     Both a and b
Ans: (C)

Q No.5: Databases functionally fall into how many general categories:
a)      One
b)      two
c)      three
d)     Four
Ans: (C)
free counters