- 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.System protection and security
- models, policies and mechanisms
- multilevel security
- Reference Monitor and trusted systems
2.Virtualization
- hardware virtualization: goals and solutions
- virtual machine monitor implementation
- Case study analysis: xen hypervisor
- Virtualization and cloud computing
3.Concurrent programming
- preliminaries
- non sequential processes.
- forms of interaction between concurrent processes
- architectures and languages for concurrent programming
4.Shared memory model
- mutual exclusion
- semaphores
- monitors
- conditions
Use of concurrent languages in the shared memory model: java, c / pthread, Ada.
5.Message passing model
- preliminaries
- channels and communication primitives
- send and receive
- guarded commands
- Rendez-vous and RPC
Use of concurrent languages in the message passing model: go, ada.
6.Shared memory kernel
- Implementation of thread management/synchronization in a mono-processor kernel
- Implementation of thread management/synchronization in a multi-processor kernel: SMP, loosely-coupled kernels.
7. Atomic transactions
- Preliminaries
- Properties and protocols
- Atomic transactions in distributed systems
- Implementation of atomic transactions
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: solution of synchronization
problems.
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.disi.unibo.it/Courses/som
Office hours
See the website of Anna Ciampolini
SDGs
This teaching activity contributes to the achievement of the Sustainable Development Goals of the UN 2030 Agenda.