|
Class description: |
The
organization of this class reflects its “Advanced” status. The
textbook provides some background material; additional material will be discussed in class.
other
disciplines; enduring problems;
(4
weeks)
(2.5
weeks)
i.
Measurements.
ii.
Simulation
iii.
Queuing
models.
The
amount of time dedicated to each topic is tentative. |
|
|
|
|
Instructor: |
|
|
Teaching assistant: |
TBD |
|
|
|
|
Office: |
HEC - 439 B |
|
Communication |
Assignments and
announcements will be posted on the course web site. Communication through
Email and office hours questions are encouraged. Slides will be used in
class occasionally. Audio or video recording
of lectures is not permitted. |
|
E-mail: |
|
|
Web Site: |
|
|
Classroom: |
HEC - 0118 |
|
|
|
|
Class Hours: |
Monday, Wednesday 6:00 -
7:15 PM |
|
Office Hours: |
Monday, Wednesday 3:00 -
4:30 PM |
|
Pre-requisites: |
Undergraduate operating
systems class (COP 4600, EEL 4881 or equivalent). Fluency in Java. |
|
Recommended readings: |
Operating System
Concepts (8th Edition) by A. Silberschatz, P. Galvin and G. Gagne Papers from the
literature. |
|
Miscellaneous |
The students are
expected to attend classes and to actively participate: study carefully the
reading assignments, ask questions, answer questions, and express opinions. All exams are open-book
and open notes. |
|
Projects: |
I am still debating if a
project for this class is feasible… |
|
Grading: |
Assignments: 50% |
|
Lecture |
Date |
Topic |
|
|
|
1 week 1 |
Wednesday January 7 |
Class overview. 1. Basic concepts -
abstractions
and models -
universal
computers -
resource
sharing models -
resource
virtualization -
concurrency -
state (of a
system, process, computation) -
cyber
physical systems – time the great challenge 2. The “big picture”. OS
concepts and relations with concepts from: -
computer
architecture -
computer
networks -
algorithms -
databases -
parallel and
distributed systems -
performance
evaluation -
applications
(embedded systems, multi-media) |
Reading assignments: 1.
On computable
numbers, with an application to the
Entscheidungsproblem (Turing) 2.
The first
draft on the EDVAC (von Neumann) 3.
Hints
for Computer System Design (Butler W.
Lampson) 4. My
recollections of operating systems design (E. W. Dijkstra) HW 1 (due Wednesday January 21) P1
(20 points) Based upon a careful reading
of papers (1) and (2) discuss
the effect of Turing’s ideas upon the practical design of the
EDVAC. Can you find in von
Neumann’s paper any hint
regarding the feasibility or the need for an operating system? P2.
(20 points) “Make it
fast, rather than general or powerful.” Discuss important
applications of this corollary from paper (3) in computer architecture and
operating systems design. P3.
(20 points) Discuss in some depth two innovations in THE
operating system discussed in paper (4). P4.
(40 points) Come up with a list of milestones in
operating systems design. For each milestone describe using at most
5 sentences: what it is, who introduced it and when, and what is the
importance of it. |
|
|
2 week 2 |
Monday January 12 |
1. The relationship between physical
systems and models 2. Layering 3. Virtualization. |
Reading assignment: Chapter 1 in the text book |
|
|
3 week 2 |
Wednesday January 14 |
|
Reading assignment: Chapter 2 in the text book |
|
|
|
Monday January 19 Martin Luther King's day |
No class |
|
|
|
4 week 3 |
Wednesday January 21 |
1.
Butler
Lampson’s hints for system design 2.
The
complexity of computing and communication systems 3.
State 4.
Processes |
HW1 due today. Reading assignment: Chapter 3 in the text book HW2 due Wednesday February 4 P1
(40 points) To correct the problem with the CONNECT system call in TENEX
discussed in class one could modify: (i)
the implementation of CONNECT; (ii) the implementation of a system call in
general; (iii) the parameter passed
between the user to the kernel. Discuss each one of these alternatives, show how
your solution corrects the problem, And compare the advantages and the drawbacks of
each. P2.
(40 points) Locate the most relevant
papers discussing message passing versus shared-memory. Provide a one page summary of the paper you
consider the most relevant. Provide your own analysis of the relative merits
of each strategy. P3.
(20 points) Analyze different semantics for the Remote
Procedure Call and their relative merits. Discuss the vulnerability posed by
incorrect implementations of RPC. |
|
|
5 week 4 |
Monday January 26 Chinese New Year |
1.
Process
handling by the kernel 2.
Inter-process
communication 3.
Threads |
Reading assignment:
Chapter 4 |
|
|
6 week 4 |
Wednesday January 28 |
1.
More about
threads 2.
Process
synchronization |
Reading assignment:
Chapter 6 |
|
|
7 week 5 |
Monday February 2 |
1.
Discussion
of a problem regarding threads and I/O 2.
More about
condition variables and monitors 3.
Discussion of
a problem about condition variables and monitors |
Reading assignment:
Chapter 7 Homework 2 due on
Wednesday |
|
|
8 week 5 |
Wednesday February 4 |
1.
Discussion
of homework assignment 3 2.
Process synchronization
leftovers 3.
Atomic
transactions 4.
Discussion
of a problem about atomic transactions |
Reading assignment:
Chapter 7 Homework 2 due today. |
|
|
9 week 6 |
Monday February 9 |
2
Three-way handshake 3
Deadlocks |
|
|
|
10 week 6 |
Wednesday February 11 |
2
Problem solving 3
More about
deadlocks 4
Consumable
resources 5
Elements of queuing
theory 6
Arrival and service
processes 7
Little’s law 8
Problem |
|
|
|
11 week 7 |
Monday February 16 |
1.
Elements of
queuing theory a.
Arrival and
service processes b.
Little’s law c.
Problem |
Reading assignment:
Chapter 5. Homework 3 is due on
Wednesday February 18 |
|
|
12 week 7 |
Wednesday February 18 |
1.
Birth-death
processes 2.
M/M/1
systems 3.
CPU
Scheduling 4.
Scheduling
Algorithms |
Homework 3 due today Reading assignment:
Chapter 5 |
|
|
13 week 8 |
Monday February 23 |
1.
CPU
Scheduling 2.
Scheduling
Algorithms 3.
M/M/m
systems |
Reading assignment: Priority Inheritance Protocols |
|
|
14 week 8 |
Wednesday February 25 |
1.
M/M/m
systems 2.
Scheduling
Algorithms 3.
Memory
management |
|
|
|
15 week 9 |
Monday March 2 |
Review. Q and Q session. |
|
|
|
16 week 9 |
Wednesday March 4 |
Midterm |
|
|
|
|
Monday March 9 Spring break |
No class |
|
|
|
|
Wednesday March 11 Spring break |
No class |
|
|
|
17 week 10 |
Monday March 16 |
Discussion of the
midterm. Memory management a.
Architectural
background b.
Swapping c.
Contiguous
memory allocation d.
Paging e.
Segmentation f.
Case
studies:
i.
The Intel
Pentium
ii.
Linux |
|
|
|
18 week 10 |
Wednesday March 18 |
1.
The
structure of address spaces 2.
Memory
management leftovers 3.
Virtual
memory |
Homework 4 due today |
|
|
19 week 11 |
Monday March 23 |
1.
Page
replacement algorithms 2.
Working set
model |
Homework 5 due on Monday
March 30. |
|
|
20 week 11 |
Wednesday March 25 |
1. Cache 2. Introduction to I/O
Sub-system |
Homework
6 due Wednesday April 8 |
|
|
21 week 12 |
Monday March 30 |
1.
I/O
subsystem 2.
2. File System Implementation |
|
|
|
22 week 12 |
Wednesday April 1 |
1 NFS 2. Distributed File |
Reading assignments: |
|
|
23 week 13 |
Monday April 6 |
|
|
|
|
24 week 13 |
Wednesday April 8 |
|
|
|
|
25 week 14 |
Monday April 13 |
·
Aloha. ·
Tree
algorithm. ·
The stack
algorithm. |
|
|
|
26 week 14 |
Wednesday April 15 |
|
|
|
|
27 week 15 |
Monday April 20 |
|
|
|
|
28 week 15 |
Wednesday April 22 |
Project Presentation - |
Joseph Rocco – The iPhone Project |
|
|
29 |
Monday April 27 |
Class Review. Looking
again at the Big Picture |
|
|
|
|
Wednesday April 29 4 PM |
Final exam |
|
|