72947 - Operating Systems M

Academic Year 2018/2019

  • 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