Karsten Jeppesen
kaje@ucn.dk
72691635
Repository: GitHub
Teams Link: DMAB0920
Plan subject to changes.
|
# |
Date |
Subject |
Material |
|---|---|---|---|
|
1 |
05.02 |
Introduction, Historical Development, Basics |
Literature: None |
|
2 |
08.02 |
Hardware & Software Basics Links for session:
|
Literature: [Stallings] 1.1-1.8, 2.1-2.6 Videos: <iframe src="https://www.youtube.com/embed/BCQHnlnPusY" width="200" height="113" allowfullscreen="allowfullscreen" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" data-mce-fragment="1"></iframe> <iframe src="https://www.youtube.com/embed/oPpnCh7InLY" width="200" height="113" allowfullscreen="allowfullscreen" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" data-mce-fragment="1"></iframe> <iframe src="https://www.youtube.com/embed/_NrSWLQsDL4" width="200" height="113" allowfullscreen="allowfullscreen" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" data-mce-fragment="1"></iframe> <iframe src="https://www.youtube.com/embed/WMykv2ZMyEQ" width="200" height="113" allowfullscreen="allowfullscreen" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" data-mce-fragment="1"></iframe> <iframe src="https://www.youtube.com/embed/oK8EvVeVltE" width="200" height="113" allowfullscreen="allowfullscreen" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" data-mce-fragment="1"></iframe> <iframe src="https://www.youtube.com/embed/yXT1ElMEkW8" width="200" height="113" allowfullscreen="allowfullscreen" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" data-mce-fragment="1"></iframe> |
|
3 |
15.02 |
Concurrency - Processes and Threads |
Literature: [Stallings] 3.1-3.4, 4.1-4.3 |
|
4 |
25.02 |
Concurrency - Synchronization and Deadlock |
Literature: [Stallings] 5.1-5.7, 6.1-6.6 |
|
5 |
03.03 |
Concurrency - High-Level Concurrency Primitives |
Literature: [Deitel] p245-282 |
|
6 |
22.03 |
Database Concurrency - Transactions |
Literature: [Coulouris] p513-558 |
|
7 |
16.04 |
I/O - Blocking vs non-blocking |
Literature: [Stallings] 11.1-11.4, 12.1-12.4 http://www.oracle.com/technetwork/articles/javase/perftuning-137844.html https://docs.oracle.com/javase/tutorial/essential/io/fileio.html |
|
8 |
19.04 |
Memory Management |
Literature: [Stallings] Chapter 7, Chapter 8 |
|
9 |
29.04 |
Scheduling |
Literature: [Stallings] Chapter 10 |
|
10 |
06.05 |
Student Presentations |
Literature: None |
Mini-Projects
|
1. Each group must write a small report (no more than 12 pages) on an operating system of its own choice; whether modern or historical. The report should contain a write-up about the system's process and thread model, memory management and scheduling details, I/O model and any interesting details about the hardware the system is intended to run on. DEADLINE: April 26th, 2021, email the report to kaje@ucn.dk |
|
2. Each group must write an implementation of one of the three problems presented in miniproject.txt/3 - The MiniProject.pptx (see module for Session 05), in multi-threaded Java. Your solution must be free of deadlock; you may choose any deadlock prevention or deadlock avoidance technique you like. Send your solution to kaje@ucn.dk, including code and an explanation of why the program is deadlock-free. DEADLINE: April 26th, 2021 |
In the last session of the course, you will give a presentation of both mini-projects.
Literature
[Stallings]
William Stallings,
Operating Systems – Internals and Design Principles,
Eighth Edition, Pearson Global Edition,
ISBN-13: 978-1-292-06135-1.
[Deitel]
Deitel, Deitel and Choffnes,
Operating Systems,
Third Edition, International Edition, Pearson – Printice Hall,
ISBN: 0-13-124696-8
[Coulouris]
Coulouris
et al.
Distributed Systems - Concept and Design
,
Addison-Wesley Publishing Company,
ISBN 0-321-26354-5
PDFs of the relevant excerpts of Coulouris and Deitel will be made available online.
Some sessions will use online sources and lecture notes; these will be announced later.
Studying at UCN