Tecnologie di Progettazione di Sistemi Informatici 4ª

Comunicazione e sincronizzazione

  1. Teoria:
    1. Esercizi sulle condizioni di Bernstein
    2. La comunicazione tra processi:
    3. Java Concurrency / Multithreading Tutorial (jenkov.comi)
    4. Sincronizzazione con Java (UniPv)
    5. Concurrency (The Java™ Tutorials)
    6. Un produttore e un consumatore con buffer circolare, più produttori e più consumatori con buffer circolare
    7. Lettori e scrittori, filosofi a cena
  2. Video:
    1. Avoiding the Pitfalls of Multithreading
  3. Laboratorio:
    1. Esercizi sui semafori in Java

Processi sequenziali e paralleli

  1. Teoria:
    1. Deadlock
    2. Esercizi sui Grafi di Holt
    3. Esercizi di parallelizzazione dei processi
    4. Esempi sui costrutti cobegin/coend e fork/join
    5. Thread:
  2. Laboratorio:
    1. Ambienti on-line: Koding, codingground
    2. Beej’s Guide to Unix Interprocess CommunicationPDF
    3. Esercizi sulla gestione dei processi in C
    4. Funzioni e passaggio dei parametri by-reference in C: qui o qui pp.1265-1299
    5. Esempio d’uso della funzione execl()
    6. Esercizi sulla gestione dei thread in C
    7. Esercizi sulla gestione dei thread in Java

Laboratorio Shell Bash

  1. Linux: shell, comandi e scripting
    (fonte: Dipartimento di Informatica – Area e-learning IIS Peano)
  2. Esercizi script shell
  3. Comandi di amministrazione Linux
  4. Guida avanzata di scripting Bash
  5. Linux Shell Scripting Tutorial – A Beginner’s handbook

Ripasso S.O.

  1. Introduzione S.O. , gestione processi, scheduling
    (fonte: Dipartimento di Informatica – Area e-learning IIS Peano)
  2. Gestione della memoria
    (fonte: LIA dell’Università degli Studi di Bologna)
  3. File system
    (fonte: LIA dell’Università degli Studi di Bologna)

Link vari

Sistemi Operativi 2 (Riccardo Focardi)