PROGRAMMA SVOLTO TPI 4DI 2014-15
PROFESSORI: COBELLO GRAZIA E TORNIERI MARCO
CONTENUTI:
Rispasso architettura dell'elaboratore;
gestione dell'I/O, polling,
interruzioni esterne e interne (classificazione).
Gestione delle interruzioni con Polling,
Priority encoder
Il pic;
Comunicazione con le periferiche.
PIC e DMAC;
Architetture hardware e parallelismo;
pipelining;
Modularità dei sistemi operativi e mecchanismo di chiamata di sistema.
System call; concetto di api in programmazione, sys call wrapper;
Classificazione dei sistemi operativi: workstation, dipartimentali e systemi legacy.
Migrazione a sistemi distribuiti basati su rete.
Virtualizzazione:VMM ospitati e di sistema; problemi del ring deprivileging e ring compression
Virtualizzazione: macchine naturalmente virtualizzabili, macchine non naturalmente virtualizzabili,
fast binary translation,
paravirtualizzazione,
virtualizzazione a livello di sistema operativo;
Sistemi operativi time-sharing con gestione di code a priorità differenti;
sistemi transazionali;
Scheduling dei processi
Scheduling Non preemptive e preempitive;
algoritmi di scheduling FCFS, SJF, RR,
valutazione dei tempi medi di permanenza nel sistema (througthput) e tempi medi di attesa dei processi.
Politiche di scheduling con feedback con code multiple e priorità dinamica
Programmazione multithreading;
I thread: differenze con i processi
cooperazione, concorrenza; confronto tra subroutine e coroutine
Programmazione concorrente: processi concorrenti e cooperanti, mutua esclusione, regione critica, semafori
Concorrenza: lock(x), unlock(x), wait(s), signal(s);
I semafori, primitive wait e signal, Deadlock;
problema del produttore-consumatore e soluzione con semafori Depositato e Consumato,
Deadlock, tecniche di recupero, condizioni che determinano un deadlocki e analisi delle prestazioni di un sistema.
algoritmi di scheduling: FCFS, SJF, RoundRobin, gestione dinamica delle priorità con code multiple.
Attività di laboratorio:
Introduzione a Windows Cmd ;
Uso della riga di comando;
Accesso al File System da shell;
Comandi della shell cmd.exe e caratteri speciali (*,?, &,|,>,>>);
Variabili di sistema;
Linguaggio di scripting shell cmd (parametri, variabili);
Istruzioni di scripting: if, goto, rem;
Istruzioni di scripting: for – utilizzo goto per creare cicli iterativi (while. do while);
Powershell - introduzione ed esercizi;
Introduzione a Linux – installazione S.O. su macchina virtuale;
Comandi della shell bash;
Linguaggio di scripting della shell bash;
Introduzione al linguaggio c; primi programmi c lanciati da interfaccia cli di linux;
Approfondimento linguaggio C : stringhe con array e puntatori;
Primi comandi linux per la gestione dei processi; stati di un processo;
Creazione di processi e sottoprocessi (fork);
Programmazione multi-trading in java;
Programmazione concorrente – mutua esclusione, modello produttore-consumatore.
FIRME RAPPRESENTANTI DEGLI STUDENTI ____________________________________________
____________________________________________
FIRME DOCENTI
____________________________________________
____________________________________________