|
|
CONSIGLIATO DA LIBRINFORMATICA
Sistemi operativi - terza edizione
|
| Editore | Pearson Education Italia |
| Autore | Deitel M. Harvey ; Deitel J. Paul ; Choffnes R. David |
| Titolo originale | Operating systems - third edition |
| Editore originale | Pearson Education |
| Collana | Accademica |
| Pagine | 1026 |
| Volumi | 1 |
| Livello | Intermedio-Avanzato |
| Lingua | Italiano |
| Data pubblicazione | 09 - 2005 |
| ISBN | 8871922247 |
|
|
| Prezzo di copertina |
| Euro 55,00 |
|
Parte prima Panoramica di hardware, software e sistemi operativi
Capitolo 1 Introduzione ai sistemi operativi
1.1 Introduzione
1.2 Che cos’è il sistema operativo?
1.3 La preistoria : gli anni quaranta e cinquanta
1.4 Gli anni sessanta
1.5 Gli anni settanta
1.6 Gli anni ottanta
1.7 Storia di Internet e del World Wide Web
1.8 Gli anni novanta
1.9 Il duemila e oltre
1.10 Piattaforme
1.11 Ambienti applicativi
1.12 Componenti e obiettivi dei sistemi operativi
1.13 Architetture dei sistemi operativi
Capitolo 2 Fondamenti di hardware e software
2.1 Introduzione
2.2 Evoluzione dei dispositivi hardware
2.3 Componenti hardware
2.4 Supporto hardware per i sistemi operativi
2.5 Caching e buffering
2.6 Concetti base di software
2.7 Application Programming Interface (API)
2.8 Compilazione, collegamento (linking) e caricamento (loading)
2.9 Firmware
2.10 Middleware
Parte seconda Processi e thread
Capitolo 3 Processi
3.1 Introduzione
3.2 Stati di un processo: il ciclo di vita
3.3 Gestione dei processi
3.4 Interruzioni (interrupt)
3.5 Comunicazione tra processi
3.6 I processi UNIX
Capitolo 4 Thread
4.1 Introduzione
4.2 Definizione di thread
4.3 Perché usare i thread
4.4 Stati dei thread: ciclo di vita
4.5 Operazioni sui thread
4.6 Modelli di threading
4.7 Considerazioni sull’implementazione dei thread
4.8 POSIX e Pthread
4.9 Thread di Linux
4.10 Thread di Windows XP
4.11 Multithreading in Java, parte 1: thread Java
Capitolo 5 Esecuzione concorrente asincrona
5.1 Introduzione
5.2 Mutua esclusione
5.3 Implementazione delle primitive di mutua esclusione
5.4 Soluzioni software al problema della mutua esclusione
5.5 Soluzioni hardware al problema della mutua esclusione
5.6 Semafori
Capitolo 6 Programmazione concorrente
6.1 Introduzione
6.2 Monitor
6.3 Monitor Java
6.4 Multithreading in Java, parte 3. schema produttore/consumatore
6.5 Multithreading in Java, parte 4: buffer circolare
Capitolo 7 Deadlock e posticipazione indefinita
7.1 Introduzione
7.2 Esempi di deadlock
7.3 Problema correlato: posticipazione indefinita
7.4 Concetti di risorsa
7.5 Quattro condizioni necessarie per i deadlock
7.6 Risoluzione dei deadlock
7.7 Prevenzione del deadlock
7.8 Deadlock avoidance con l’algoritmo del banchiere
7.9 Deadlock detection
7.10 Recupero del deadlock
7.11 Strategie relative a deadlock nei sistemi attuali e futuri
Capitolo 8 Scheduling del processore
8.1 Introduzione
8.2 Livelli di scheduling
8.3 Scheduling preemptive e non-preemptive a confronto
8.4 Priorità
8.5 Obiettivi di scheduling
8.6 Criteri di scheduling
8.7 Algoritmi di scheduling
8.8 Scheduling a deadline
8.9 Scheduling real-time
8.10 Scheduling dei thread in Java
Parte terza Memoria reale e virtuale
Capitolo 9 Gestione e organizzazione della memoria
9.1 Introduzione
9.2 Organizzazione della memoria
9.3 Gestione della memoria
9.4 Gerarchia di memoria
9.5 Strategie di gestione della memoria
9.6 Allocazione contigua e non continua della memoria
9.7 Allocazione contigua della memoria per sistemi monoutente
9.8 Multiprogrammazione con partizioni fisse
9.9 Multiprogrammazione con partizioni variabili
9.10 Multiprogrammazione con swapping di memoria
Capitolo 10 Organizzazione della memoria virtuale
10.1 Introduzione
10.2 Concetti base di memoria virtuale
10.3 Mapping dei blocchi
10.4 Paginazione
10.5 Segmentazione
10.6 Sistemi con segmentazione/paginazione
10.7 La memoria virtuale nell’architettura Intel IA-32
Capitolo 11 Gestione della memoria virtuale
11.1 Introduzione
11.2 Località
11.3 Paginazione a richiesta
11.4 Paginazione a previsione
11.5 Sostituzione delle pagine
11.6 Strategie dio sostituzione delle pagine
11.7 Modello del working set
11.8 Sostituzione Page-Fault-Frequency (PFF)
11.9 Rilascio delle pagine
11.10 Dimensione delle pagine
11.11 Comportamento dei programmi con la paginazione
11.12 Strategie di sostituzione globali o locali
11.13 Sostituzione delle pagine in Linux
Parte quarta Dispositivi di memorizzazione secondaria, file e database
Capitolo 12 Ottimizzazione delle prestazioni dei dischi
12.1 Introduzione
12.2 Evoluzione dei dispositivi di memorizzazione secondaria
12.3 Caratteristiche dei dischi con testina mobile
12.4 Necessità della pianificazione o scheduling del disco
12.5 Strategie di scheduling del disco
12.6 Ottimizzazione rotazionale
12.7 Considerazioni di sistema
12.8 Cache e buffer del disco
12.9 Altre tecniche di miglioramento delle prestazioni dei dischi
12.10 Array ridondanti di dischi indipendenti (RAID)
Capitolo 13 File system e database
13.1 Introduzione
13.2 Gerarchia dei dati
13.3 File
13.4 File system
13.5 Organizzazione dei file
13.6 Allocazione dei file
13.7 Gestione dello spazio libero
13.8 Controllo d’accesso ai dati
13.9 Tecniche d’accesso ai dati
13.10 Protezione dell’integrità dei dati
13.11 File server e sistemi distribuiti
13.12 Sistemi database
Parte quinta Prestazioni e gestione dei processori
Capitolo 14 Prestazioni e progetto di processori
14.1 Introduzione
14.2 Tendenze che influenzano le prestazioni
14.3 Necessità di valutazione e monitoraggio delle prestazioni
14.4 Misure delle prestazioni
14.5 Tecniche di valutazione delle prestazioni
14.6 Colli di bottiglia e saturazione
14.7 Cicli di feedback
14.8 Tecniche orientate alle prestazioni nello sviluppo dei processori
Capitolo 15 Gestione dei sistemi multiprocessore
15.1 Introduzione
15.2 Architetture multiprocessore
15.3 Organizzazione dei sistemi operativi multiprocessore
15.4 Architetture d’accesso alla memoria
15.5 Condivisione della memoria nei sistemi multiprocessore
15.6 Scheduling multiprocessore
15.7 Migrazione dei processi
15.8 Bilanciamento del carico
15.9 Mutua esclusione nei sistemi multiprocessore
Parte sesta Reti ed elaborazione distribuita
Capitolo 16 Introduzione alle reti
16.1 Introduzione
16.2 Topologia di rete
16.3 Tipi di reti
16.4 Pila protocollare TCP/IP
16.5 Strato di applicazione
16.6 Strato di trasporto
16.7 Strato di rete
16.8 Strato di collegamento
16.9 Modello client/server
Capitolo 17 Introduzione ai sistemi distribuiti
17.1 Introduzione
17.2 Attributi di un sistema distribuito
17.3 Comunicazione nei sistemi distribuiti
17.4 Sincronizzazione nei sistemi distribuiti
17.5 Mutua esclusione nei sistemi distribuiti
17.6 Deadlock nei sistemi distribuiti
17.7 Il sistema operativo distribuito Sprite
17.8 Il sistema operativo distribuito Amoeba
Capitolo 18 Sistemi distribuiti e Web service
18.1 Introduzione
18.2 File system distribuiti
18.3 Sistemi multicomputer
18.4 Clustering
18.5 Elaborazione distribuita tra pari
18.6 Grid computing
18.7 Elaborazione distribuita in Java
18.8 Web service
Parte settima Sicurezza
Capitolo 19 Sicurezza
19.1 Introduzione
19.2 Crittografia
19.3 Autenticazione
19.4 Controllo degli accessi
19.5 Attacchi contro la sicurezza
19.6 Prevenzione degli attacchi e soluzioni per la sicurezza
19.7 Comunicazioni sicure
19.8 Protocolli di accordo per le chiavi
19.9 Infrastruttura a chiave pubblica, certificati e autorità di certificazione
19.10 Protocolli per la comunicazione sicura
19.11 Steganografia
19.12 Sicurezza proprietaria e sicurezza open-source
19.13 Sicurezza dei sistemi UNIX
Parte ottava Casi di studio
Capitolo 20 Linux
20.1 Introduzione
20.2 Storia
20.3 Visione d’insieme di Linux
20.4 Architettura del kernel
20.5 Gestione dei processi
20.6 Gestione della memoria
20.7 File system
20.8 Gestione dell’I/O
20.9 Sincronizzazione del kernel
20.10 Comunicazione tra processi
20.11 Reti
20.12 Scalabilità
20.13 Sicurezza
Capitolo 21 Windows XP
21.1 Introduzione
21.2 Storia
21.3 Obiettivi di progetto
21.4 Architettura del sistema
21.5 Meccanismi di gestione del sistema
21.6 Gestione della memoria
21.7 Gestione dei file system
21.8 Gestione dell’I/O
21.9 Comunicazione tra processi
21.10 Networking
21.11 Scalabilità
21.12 Sicurezza
Risorse web
Glossario generale
Bibliografia
Indice analitico
|
|
|
|