i processi | cosa sono i processi
relazione con i thread
process control block
gli stati dei processi
gli spazi di indicizzazione
funzioni supportate dai processi(creazione, terminazione)
il cambio di contesto
sospensione e riattivazione dei processi
time sharing
schedulazione dei processi
comunicazione fra processi |
i thread | cosa sono e che problemi risolvono
vantaggi e svantaggi
il supporto dei thread(spazio utente, spazio kernel)
i modelli di multithreading
tipi di cooperazione fra thread
funzioni dei thread(creazione, esecuzione, cancellazione)
lightweight processes
le librerie per i threads(pthreads e win32) |
la schedulazione della cpu | che cosa è
tipologie di schedulazione(pre emptive...)
livelli di schedulazione(breve termine, ...)
criteri per la valutazione di una schedulazione
diversi algoritmi di schedulazione(fcfs, shortest job first)
la differente schedulazione per sistemi in tempo reale |
la sincronizzazione dei processi | che cosa è la concorrenza
che cosa sono le corse critiche - sezioni critiche
soluzione di peterson
algoritmi per la risoluzione delle variabili di turno
resto dei metodi per la risoluzione
risoluzione hardware(istruzioni atomiche) |
deadlock e starvation | definizione di deadlock e starvation
cosa è e a cosa serve un grafo di allocazione
metodi di gestione del deadlock
metodi per la prevenzione dei deadlock
metodi per evitare i deadlock
algoritmo del banchiere
tecniche di rilevazione e ripristino dei deadlock |
memoria centrale | che cosa è e a che cosa serve
i vari collegamenti degli indirizzi(in fase di compilazione, in fase di caricamento, esecuzione)
gli spazi di indirizzamento logico-fisici
l'overlay e lo swapping
la protezione della memoria centrale
la paginazione e la frammentazione e la frammentazione con paginazione
le varie tabelle delle pagine
la mmu e il tbl |
la memoria virtuale | che cosa è
come si implementa(richiesta di paginazione)
sostituzione delle pagine(fifo lru,...)
il trashing
il modello working set
la prepaginazione
la scelta della dimensione della pagina |
il file system | cosa e un file (i suoi attributi, operazioni supportate)
tipi di accessi ai file
come puo essere strutturata una directory(un livello due livelli...)
come viene montato un file system
la protezione del file system(il tipo di accesso, il controllo degli accessi...) |
realizzazione di un file system | quali sono le diverse parti del file system(blocco boot,blocchi di controlo...)
le partizioni e i dischi raid
cosa sono i file system virtuali
come possono essere allocati i file nel disco(contigua, collegata, indicizzata)
come viene gestito lo spazio libero(bitmap, lista collegata, raggruppamento...)
cosa sono e a cosa servono i backup |
IO | che cosa e il sosttoinsieme IO
come e' organizzata una periferica
i due diversi tipi di attesa(attiva e interrupt)
che cosa e' il direct memory access
vari tipi di dispositivi(a caratteri, a blocchi ,di rete, e orologi)
cosa sono le operazioni di IO bloccanti o non
che cosa e' il buffering
come vengono trasformate le richieste IO in operazioni dispositivo? |
le memorie di massa | che cosa e' la memoria secondaria
i diversi tipi di schedulazione degli accessi al disco
le formattazioni del disco(formattazione fisica e logica)
a cosa serve il bootstrap o blocco di avvio
come vengono gestiti i blocchi difettosi
che cosa e' e a che cosa serve lo spazio di swap
i vari dischi RAID
come possono essere connessi i dischi(connessa alla macchina o alla rete) |
la protezione | che cosa si intende per protezione
che cosa sono i domini di protezione
i vari tipi di implementazione dei domini di protezione(liste di controllo degli accessi...)
come avviene la revoca dei diritti di accesso
la protezione basata sul linguaggio |
le strutture dei sistemi operativi | i servizi di un sistema operativo
le varie interfacce del sistema operativo
le chiamate di sistema e le loro categorie
come avviene la progettazione e la realizzazione del sistema operativo
quali tipi di strutture puo' avere un sistema operativo?(monolitico, microkernel,...) |