| Indice
Parte prima Generalita'
Capitolo 1 Introduzione
1.1 Cos'e' un sistema operativo
1.2 Sistemi mainframe
1.3 Sistemi da scrivania
1.4 Sistemi con piu' unita' d'elaborazione
1.5 Sistemi distribuiti
1.6 Batterie di sistemi
1.7 Sistemi d'elaborazione in tempo reale
1.8 Sistemi palmari
1.9 Migrazione delle funzioni
1.10 Ambienti d'elaborazione
1.11 Sommario
1.12 Esercizi
1.13 Note bibliografiche
Capitolo 2 Strutture dei sistemi di calcolo
2.1 Funzionamento di un sistema di calcolo
2.2 Struttura di I/O
2.3 Struttura della memoria
2.4 Gerarchia delle memorie
2.5 Architetture di protezione
2.6 Struttura delle reti di calcolatori
2.7 Sommario
2.8 Esercizi
2.9 Note bibliografiche
Capitolo 3 Strutture dei sistemi operativi
3.1 Componenti del sistema
3.2 Servizi di un sistema operativo
3.3 Chiamate del sistema
3.4 Programmi di sistema
3.5 Struttura del sistema
3.6 Macchine virtuali
3.7 Progettazione e realizzazione di un sistema
3.8 Generazione di sistemi
3.9 Sommario
3.10 Esercizi
3.11 Note bibliografiche
Parte seconda Gestione dei processi
Capitolo 4 Processi
4.1 Concetto del processo
4.2 Scheduling dei processi
4.3 Operazioni sui processi
4.4 Processi cooperanti
4.5 Comunicazione tra processi
4.6 Comunicazione nei sistemi client-server
4.7 Sommario
4.8 Esercizi
4.9 Note bibliografiche
Capitolo 5 Thread
5.1 Introduzione
5.2 Modelli di programmazione multithread
5.3 Questioni di programmazione multithread
5.4 Pthreads
5.5 Thread del sistema Solaris 2
5.6 Thread del sistema Windows 2000
5.7 Thread nel sistema LINUX
5.8 Thread nel linguaggio Java
5.9 Sommario
5.10 Esercizi
5.11 Note bibliografiche
Capitolo 6 Scheduling della CPU
6.1 Concetti fondamentali
6.2 Criteri di scheduling
6.3 Algoritmi di scheduling
6.4 Scheduling per sistemi con piu' unita' d'elaborazione
6.5 Scheduling per sistemi d'elaborazione in tempo reale
6.6 Valutazione degli algoritmi
6.7 Modelli di scheduling dei processi
6.8 Sommario
6.9 Esercizi
6.10 Note bibliografiche
Capitolo 7 Sincronizzazione dei processi
7.1 Introduzione
7.2 Problema della sezione critica
7.3 Architetture di sincronizzazione
7.4 Semafori
7.5 Problemi tipici di sincronizzazione
7.6 Regioni critiche
7.7 Monitor
7.8 Sincronizzazione nei sistemi operativi
7.9 Transazioni atomiche
7.10 Sommario
7.11 Esericizi
7.12 Note bibliografiche
Capitolo 8 Stallo dei processi
8.1 Modello del sistema
8.2 Caratteristiche delle situazioni di stallo
8.3 Metodi per la gestione delle situazioni di stallo
8.4 Prevenire le situazioni di stallo
8.5 Evitare le situazioni di stallo
8.6 Rilevamento delle situazioni di stallo
8.7 Ripristino da situazioni di stallo
8.8 Sommario
8.9 Esercizi
8.10 Note bibliografiche
Parte terza Gestione della memoria
Capitolo 9 Gestione della memoria
9.1 Introduzione
9.2 Avvicendamento dei processi
9.3 Assegnazione contigua della memoria
9.4 Paginazione
9.5 Segmentazione
9.6 Segmentazione con paginazione
9.7 Sommario
9.8 Esercizi
9.9 Note bibliografiche
Capitolo 10 Memoria virtuale
10.1 Introduzione
10.2 Paginazione su richiesta
10.3 Creazione dei processi
10.4 Sostituzione delle pagine
10.5 Assegnazione dei blocchi di memoria
10.6 Attivita' di paginazione degenere
10.7 Esempi tra i sistemi operativi
10.8 Altre considerazioni
10.9 Sommario
10.10 Esercizi
10.11 Note bibliografiche
Capitolo 11 Interfaccia del file system
11.1 Concetto di file
11.2 Metodi d'accesso
11.3 Struttura di directory
11.4 Montaggio di un file system
11.5 Condivisione di file
11.6 Protezione
11.7 Sommario
11.8 Esercizi
11.9 Note bibliografiche
Capitolo 12 Realizzazione del file system
12.1 Struttura del file system
12.2 Realizzazione del file system
12.3 Realizzazione delle directory
12.4 Metodi di assegnazione
12.5 Gestione dello spazio libero
12.6 Efficienza e prestazioni
12.7 Ripristino
12.8 File system con annotazione delle modifiche
12.9 NFS
12.10 Sommario
12.11 Esercizi
12.12 Note bibliografiche
Parte quarta Sistemi di I/O
Capitolo 13 Sistemi di I/O
13.1 Introduzione
13.2 Architetture e dispositivi di I/O
13.3 Interfaccia di I/O per le applicazioni
13.4 Sottosistema per l'I/O del nucleo
13.5 Trasformazione delle richieste di I/O in operazioni dei dispositivi
13.6 STREAMS
13.7 Prestazioni
13.8 Sommario
13.9 Esercizi
13.10 Note bibliografiche
Capitolo 14 Memoria secondaria e terziaria
14.1 Struttura dei dischi
14.2 Scheduling del disco
14.3 Gestione dell'unita' a disco
14.4 Gestione dell'area d'avvicendamento
14.5 Strutture RAID
14.6 Connessione dei dischi
14.7 Realizzazione della memoria stabile
14.8 Strutture per la memorizzazione terziaria
14.9 Sommario
14.10 Esercizi
14.11 Note bibliografiche
Parte quinta Sistemi distribuiti
Capitolo 15 Strutture dei sistemi distribuiti
15.1 Introduzione
15.2 Topologie
15.3 Tipi di reti
15.4 Comunicazione
15.5 Protocolli di comunicazione
15.6 Robustezza
15.7 Problemi di progettazione
15.8 Un esempio di comunicazizone in rete
15.9 Sommario
15.10 Esercizi
15.11 Note bibliografiche
Capitolo 16 File system distribuiti
16.1 Introduzione
16.2 Nominazione e trasparenza
16.3 Accesso ai file remoti
16.4 Servizio con informazioni di stato e servizio senza informazioni di stato
16.5 Replicazione dei file
16.6 Un esempio: AFS
16.7 Sommario
16.8 Esercizi
16.9 Note bibliografiche
Capitolo 17 Coordinazione distribuita
17.1 Ordinamento degli eventi
17.2 Mutua esclusione
17.3 Atomicita'
17.4 Controllo della concorrenza
17.5 Gestione delle situazioni di stallo
17.6 Algoritmi di elezione
17.7 Raggiungimento di un accordo
17.8 Sommario
17.9 Esercizi
17.10 Note bibliografiche
Parte sesta Protezione e sicurezza
Capitolo 18 Protezione
18.1 Scopi della protezione
18.2 Domini di protezione
18.3 Matrice d'accesso
18.4 Realizzazione della matrice d'accesso
18.5 Revoca dei diritti d'accesso
18.6 Sistemi basati su abilitazioni
18.7 Protezione basata sul linguaggio
18.8 Sommario
18.9 Esercizi
18.10 Note bibliografiche
Capitolo 19 Sicurezza
19.1 Problema della sicurezza
19.2 Autenticazione degli utenti
19.3 Minacce ai programmi
19.4 Minacce ai sistemi
19.5 Migliorare la sicurezza dei sistemi
19.6 Rilevamento delle istruzioni
19.7 Crittografia
19.8 Classificazione della sicurezza dei sistemi di calcolo
19.9 Un esempio: Windows NT
19.10 Sommario
19.11 Esercizi
19.12 Note bibliografiche
Parte settima Casi di studio
Capitolo 20 Sistema operativo LINUX
20.1 Storia
20.2 Principi di progettazione
20.3 Moduli del nucleo
20.4 Gestione dei processi
20.5 Scheduling
20.6 Gestione della memoria
20.7 File system
20.8 I/O
20.9 Comunicazione fra processi
20.10 Strutture di rete
20.11 Sicurezza
20.12 Sommario
20.13 Esercizi
20.14 Note ebibliografiche
Capitolo 21 Windows 2000
21.1 Storia
21.2 Principi di progettazione
21.3 Componenti del sistema
21.4 Sottosistemi d'ambiente
21.5 File system
21.6 Servizi di rete
21.7 Interfacciaa per il programmatore
21.8 Sommario
21.9 Esercizi
21.10 Note bibliografiche
Capitolo 22 Prospettiva storica
22.1 Primi sistemi
22.2 Atlas
22.3 XDS-940
22.4 THE
22.5 RC4000
22.6 CTSS
22.7 MULTICS
22.8 0S/360
22.9 Match
22.10 Altri sistemi
Bibliografia
Riconoscimenti
Indice analitico
|