72947 - Operating Systems M

Academic Year 2013/2014

  • 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