72947 - Operating Systems M

Academic Year 2019/2020

  • 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

Quality education Industry, innovation and infrastructure Climate Action

This teaching activity contributes to the achievement of the Sustainable Development Goals of the UN 2030 Agenda.