- Docente: Anna Ciampolini
- Credits: 8
- SSD: ING-INF/05
- Language: Italian
- Teaching Mode: Traditional lectures
- Campus: Bologna
- Corso: Second cycle degree programme (LM) in Computer Engineering (cod. 0937)
Learning outcomes
Knowledges of main design aspects concerning the organization of concurrent systema. Models for sincronization and communication between processes/threads. Methods for analysis and synthesis of concurrent systems.
Course contents
1.Concurrent programming
1.1 Introduction and definitions
1.2 Non sequential processes.Process interactions
1.3 Architectures and languages for lconcurrent
programming
2. Shared variables model
2.1 Main properties
2.2 The mutual exclusion problem
2.3 Semaphores
2.4 PrivateSemaphores
2.5 Critical Regions
2.6 Monitor
3. processor kernel
3.1 Data structures
3.2 Functions
3.3 multiprocessor kernel
Message passing model
4.1 Main properties
4.2 Send e receive
4.3 guarded comands
4.4 Remote procedure calls
5. Atomic actions
5.1 Properties
5.2 Multiprocess atomic actions
5.3 Nested atomic actions
6. Protection
6.1 Protezione domains
6.2 Access matrix
6.3 Access control list and capability lists
7. I/O management
7.1 Driver
8. Multithreading
8.1P-Thread in Linux
8.2 Synchronization in JAVA
9 Remote procedure call
9.1 RPC
9.2 rendezvous
9.3 ADA
9.4 Remote method invocation
10. System Virtualization
10.1 Hardware virtualization
10.2 VMM structure: virtualization and paravirtualization
Readings/Bibliography
- P.Ancilotti, M.Boari: 'Programmazione concorrente e
distribuita', McGraw-Hill.
- P.Ancilotti, M.Boari A.Ciampolini,G.Lipari: ' Sistemi
Operativi', second edition, McGraw-Hill
- G.R.Andrews: "Foundations of Multithreaded, Parallel and
Distributed Programming", Addison-Wesley
- W.Stallings: 'Sistemi operativi', Jackson Libri
- S. Tanenbaum: 'I Moderni Sistemi Operarivi', Jackson Libri
- A.Silberschatz, P.Galvin, G.Gagne: 'Applied Operating System
Concepts' I edizione, John Wiley & Son, Inc.
Teaching methods
Classroom lessons and laboratory projects.
Assessment methods
Practical examination about the solution of synchronization
problems (pthreads and Java).
Oral examination.
Teaching tools
Lessons are presented with the support of slides.
Slides can be downloaded from the course website.
A virtual machine will be assigned to each student.
Links to further information
http://lia.deis.unibo.it/Courses/SistOpM0910
Office hours
See the website of Anna Ciampolini