Week
| Day
| Lecture topics1
| Texts2
| Ex. Class/Lab
| Solutions
| Home work ex.3
| Solutions
| Mini labs
1
| Sep 5
|
Introduction
Basic concepts,
Petri Nets
|
[Andrews 1]
[Basic 1]
| Ex. Class 1
| Sol. Class 1
| [Aux] Petri.3, Petri.5
| Sol. Week 1
| Minilab 1
|
2
| Sep 12
|
OS history,
processes & threads,
Java threads
Atomic actions, interleaving model,
transition systems
|
[Andrews 2.1, (6-6.1)], [Proc 1,2,4]
[Andrews 2.4-2.6]4, [Basic 2]
| Lab. 1
| Sol. Lab 1
| [Aux] Trans.1, Trans.2*, Trans.5, Trans.6
| Sol. Week 2
| Minilab 2
|
3
| Sep 19
|
Properties, safety and liveness
Critical regions, lock protocols
|
[Andrews 2.8]
[Andrews 3.1-3.3] + slides
| Assignm. 1
| -
| [Aux] Trans.3, Trans.4*
[Andrews] Ex. 2.11, 2.14
[Aux] (Share.1) | Sol. Week 3
| -
|
4
| Sep 26
|
Invariants, SPIN,
test-and-set
Temporal logic intro
|
[Basic 3], [Spin 1-5]5
[Basic 4-4.3 (4.3.2 skim only)]
| Ex. Class 2
| Sol. Class 2
| [Andrews] Ex. 3.3(a,b)6, (3.2)
| Sol. Week 4
| -
|
5
| Oct 3
|
Liveness
Barriers, spin-locks, memory models
Semaphores
|
[Basic 4.4-4.6], [Spin 6]
[Andrews 3.4, (3.5)], [Basic 2.5], ([Linux])
[Andrews 4.1-4.3]
| Lab. 2
| Sol. Lab 2
| [Aux] (Theory.1 excl. 1.3.b) [Aux] Sema.1, Sema.2, Sema.4*
| Sol. Week 5
| Minilab 3
|
6
| Oct 10
|
Semaphore invariant
Semaphore techniques, semaphore variants
|
[Basic 3.6]
[Andrews 4.4, 4.5, (4.6)]7
| Assignm. 2
| -
| [Andrews] Ex. 4.24, 4.6, 4.14* [Aux] Sema.3
[Aux p.15, 18]
Exam. Dec.03, Prob.28,
Exam. Dec.06, Prob.28
| Sol. Week 6
| -
|
Fall vacation
|
7
| Oct 24
|
Monitors, Java monitors
Monitor techniques
Monitor invariants
|
[Andrews 5-5.2.1,5.4], [Sync 5]
[Andrews 5.2.2-5.2.4, (5.3)]
[Basic 5]
| Ex. Class 3
| Sol. Class 3
| [Andrews] Ex. 5.4 (a,b,c,d*), (Ex. 5.8 (a,b,(c))
| Sol. Week 7
| Minilab 4
|
8
| Oct 31
|
Monitor variants
Monitor testing
Deadlocks
|
[Andrews (5.5)] ([Sync])
[Deadlocks]
| Lab. 3
| Sol. Lab 3
| [Aux] Mon.5, Mon.6
[Aux p.12] Dec.98 Prob.4,
[Deadlocks] 7.11*
| Sol. Week 8
| -
|
9
| Nov 7
|
Message passing
CSP
|
[Andrews 7.1-7.3.1, 7,4]
[Andrews 7.6-7.6.3, (7.6.4)]
| Assignm. 3
| -
| [Andrews] Ex. 7.3(a), 7.6*
| Sol. Week 9
| -
|
10
| Nov 14
|
Remote operations, rendezvous
Message passing variants: Go, Ada
|
[Andrews 8.1-8.4, (8.5)]
[Andrews (7.7-7.8)]
([GoProg])
| Ex. Class 4
| Sol. Class 4
| [Aux p.10]Jun.94 Prob.3,
[Andrews] Ex. 8.9, 8.12
Exam. Dec.20189,
Exam. Dec.20209
| Sol. Week 10
| Minilab 5
|
11
| Nov 21
|
Parallel computation
Concurrency paradigms
|
[Andrews (7.8, III, (11), 12.1.2-12.1.3)]
| Lab 4
| Sol. Lab 4
| [Aux p.13] ParComp.1
[Aux p.14, 16, 17] (Dec.02 Prob.3, Dec.03 Prob.3, Dec.04 Prob.3)
| Sol. Week 11
| -
|
12
| Nov 28
|
Concurrent data structures
Transactions, STM
| ([NonBlock], [Herlihy], [Raynal])
| Assignm. 4
| -
| [Aux p.18, 21] (Dec.06 Prob.2, Dec.08 Prob.3)
| Sol. Week 12
| -
|
13
| Dec 5
| Course ending
| ([Python], [Loom]) | Ex. Class 5
| All Sol.10
| -
| - | -
| |