Home    Novità    Ricerca   In offerta   Consigliati   Prossimi arrivi   Bestsellers   Software    CBT  
P.Iva 01029770490   [Ordini telefonici 0586 210919]  Ordini rapidi 
Ricerca Veloce   per Titolo o ISBN  [Mailing delle novità]   [Servizio di CallBack]  
  Argomenti 

  Applicazioni
  CAD
  Certificazione e formazione
  Commercio elettronico
  Cultura Informatica
  Database
  Dizionari
  Elettronica
  Enterprise
  Grafica
  Hardware
  Internet
  Legislazione informatica
  Multimedia
  Progettazione WEB
  Programmazione
  Reti e telecomunicazioni
  Sicurezza
  Sistemi operativi
  Tecnologia e societa'
  Universita' e ricerca
Sistemi operativiGenerici

 CONSIGLIATO DA LIBRINFORMATICA

Sistemi operativi con esempi per l'uso in Java
EditoreApogeo
AutoreSilberschatz Abraham ; Baer Galvin Peter ; Gagne Greg
Titolo originaleOperating System concepts with Java, sixth edition
Editore originaleWiley
CollanaIdee e strumenti
Pagine715
Volumi1
LivelloIntermedio-Avanzato
LinguaItaliano
Data pubblicazione06 - 2005
ISBN8850321007


 Prezzo di copertina 
 Euro 45,00  

 Presentazione       Indice      

Presentazione dell’edizione italiana
Prefazione
Parte I Panoramica
Capitolo 1 Introduzione
1.1 Che cosa fanno io sistemi operativi?
1.1.1 Il punto di vista dell’utente
1.1.2 Il punto di vista del computer
1.1.3 Definizione di sistema operativo
1.1.4 Scopi di un sistema operativo
1.2 Sistemi mainframe
1.2.1 Sistemi a lotti
1.2.2 Sistemi multiprogrammati
1.2.3 Sistemi time-sharing
1.3 Sistemi desktop
1.4 Sistemi multiprocessore
1.5 Sistemi distribuiti
1.5.1 Reti di computer
1.5.2 Sistemi client-server
1.5.3 Sistemi punto-a-capo
1.5.4 Sistemi operativi distribuiti
1.6 Sistemi Cluster
1.7 Sistemi in tempo reale
1.8 Sistemi palmari
1.9 Migrazione delle caratteristiche
1.10 Ambienti di elaborazione
1.10.1 Elaborazione tradizionale
1.10.2 Elaborazione basata sul Web
1.10.3 Elaborazione embedded
1.10.4 Elaborazione multimediale
1.11 Riassunto
Esercizi
Note bibliografiche
Capitolo 2 Architettura del computer
2.1 Funzionamento del computer
2.2 Struttura dell’input/output
2.2.1 Interruzioni di input/output
2.2.2 Trasferimenti in DMA
2.3 Struttura della memoria
2.3.1 Memoria centrale
2.3.2 Dischi magnetici
2.3.3 Nastri magnetici
2.4 Gerarchia di memorizzazione
2.4.1 Caching
2.4.2 Coerenza/consistenza
2.5 Protezione hardware
2.5.1 Funzionamento in modalità differenziate
2.5.2 Protezione dell’I/O
2.5.3 Protezione della memoria
2.5.4 Protezione della CPU
2.6 Struttura di rete
2.6.1 Reti locali
2.6.2 Reti geografiche
2.7 Riassunto
Esercizi
Note bibliografiche
Capitolo 3 Struttura dei sistemi operativi
3.1 Componenti del sistema operativo
3.1.1 La gestione dei processi
3.1.2 La gestione della memoria centrale
3.1.3 La gestione dei file
3.1.4 La gestione dell’input/output
3.1.5 La gestione delle unità di memorizzazione secondarie
3.1.6 Le reti informatiche
3.1.7 Il sistema di protezione
3.1.8 L’interprete dei comandi
3.2 Servizi del sistema operativo
3.3 Chiamate di sistema
3.3.1 Il controllo del processo
3.3.2 La gestione dei file
3.3.3 La gestione dei dispositivi
3.3.4 La gestione delle informazioni di sistema
3.3.5 Le comunicazioni
3.4 Programmi di sistema
3.5 Struttura del sistema
3.5.1 Una struttura semplice
3.5.2 Una struttura stratificata
3.5.3 I microkernel
3.5.4 La struttura modulare
3.6 Macchine virtuali
3.6.1 Implementazione
3.6.2 Vantaggi
3.6.3 Esempi
3.7 Java
3.7.1 Il linguaggio di programmazione
3.7.2 L’interfaccia per i programmi applicativi
3.7.3 Java Virtual Machine
3.7.4 L’ambiente di sviluppo per Java
3.7.5 Sistemi operativi in linguaggio Java
3.8 Progettazione e implementazione di un sistema operativo
3.8.1 Obiettivi del progetto
3.8.2 Meccanismi e politiche
3.8.3 Implementazione
3.9 Generazione del sistema operativo
3.10 Avvio del sistema operativo
3.11 Riassunto
Esercizi
Note bibliografiche
Parte II Gestione dei processi
Capitolo 4 I processi
4.1 Il concetto di processo
4.1.1 I processi
4.1.2 Lo stato dei processi
4.1.3 Il blocco di controllo del processo
4.1.4 I thread
4.2 Schedulazione dei processi
4.2.1 Le code di schedulazione
4.2.2 Gli schedulatori
4.2.3 Il cambio di contesto
4.3 Operazioni sui processi
4.3.1 Creazione dei processi
4.3.2 Terminazione dei processi
4.4 Processi cooperanti
4.5 Comunicazione tra processi
4.5.1 Lo scambio di messaggi
4.5.2 La denominazione dei processi
4.5.3 La sincronizzazione
4.5.4 La bufferizzazione
4.5.5 Esempio di produttore-consumatore
4.5.6 Un esempio: Match
4.5.7 Un esempio: Windows XP
4.6 La comunicazione in sistemi client-server
4.6.1 I socket
4.6.2 La chiamata di procedura remota
4.6.3 La chiamata di metodo remoto
4.7 Riassunto
4.8 Esercizi
4.9 Note bibliografiche
Capitolo 5 I Thread
5.1 Generalità
5.1.1. Motivazioni
5.1.2. Benefici
5.1.3. Thread nello spazio utente e nello spazio kernel
5.1.4. Le librerie di thread
5.2 Modelli multithread
5.2.1 Il modello molti-a-uno
5.2.2 Il modello uno-a-uno
5.2.3 Il modelli molti-a-molti
5.3 Problematiche relative ai thread
5.3.1 Le chiamate di sistema fork() ed exec()
5.3.2 La cancellazione
5.3.3 La gestione dei segnali
5.3.4 Gruppi di thread
5.3.5 Dati specifici dei thread
5.3.6 Attivazione dello schedulatore
5.4 Pthread
5.5 I thread di Windows XP
5.6 I thread di Linux
5.7 I thread di Java
5.7.1 Creazione di un thread
5.7.2 Gli stati di un thread
5.7.3 Ricongiunzione di thread
5.7.4 Cancellazione dei thread
5.7.5 Dati specifici del thread
5.7.6 La JVM e il sistema operativo ospite
5.7.7 Un esempio di soluzione multithread
Riassunto
Esercizi
Note bibliografiche
Capitolo 6 Schedulazione della CPU
6.2 Concetti di base
6.1.1 Il ciclo di picco di CPU e di I/O
6.1.2 Lo schedulatore della CPU
6.1.3 Schedulazione con sospensione dell’esecuzione dei processi
6.1.4 Caricamento del processo sulla CPU
6.2 Criteri di schedulazione
6.3 Gli algoritmi di schedulazione
6.3.1 Schedulazione First-Come, first-Served
6.3.2 Schedulazione Shortest-Job-First
6.3.3 Schedulazione a priorità
6.3.4 Schedulazione Round-Robin
6.3.5 Schedulazione con coda a più livelli
6.3.6 Schedulazione con coda a più livelli con retroazione
6.4 Schedulazione per sistemi multiprocessore
6.5 Schedulazione per sistemi in tempo reale
6.6 Schedulazione dei thread
6.6.1 Visibilità della competizione
6.6.2 Schedulazione di Pthread
6.7 Esempi di sistemi operativi
6.7.1 Esempio: la schedulazione in Solaris
6.7.2 Esempio: la schedulazione in Windows XP
6.7.3 Esempio: la schedulazione in Linux
6.8 Schedulazione dei thread in Java
6.8.1 Priorità dei thread
6.9 Valutazione degli algoritmi di schedulazione
6.9.1 Modellazione deterministica
6.9.2 Modelli a reti di code
6.9.3 Simulazioni
6.9.4 Implementazione
6.10 Riassunto
Esercizi
Note bibliografiche
Capitolo 7 Sincronizzazione dei processi
7.1 Il problema della sincronizzazione
7.2 Il problema della sezione critica
7.3 Soluzione per due processi
7.3.1 Algoritmo 1
7.3.2 Algoritmo 2
7.3.3 Algoritmo 3
7.4 Hardware per la sincronizzazione
7.5 Semafori
7.5.1 Impiego
7.5.2 Implementazione
7.5.3 Stalli e starvation
7.6 Problemi classici di sincronizzazione
7.6.1 Il problema del buffer limitato
7.6.2 Il problema dei lettori-scrittori
7.6.3 Il problema del pranzo dei filosofi
7.7 Monitor
7.8 La sincronizzazione in Java
7.8.1 Buffer limitato
7.8.2 Notifiche multiple
7.8.3 Il problema dei lettori-scrittori
7.8.4 Sincronizzazione del blocco
7.8.5 Semafori Java
7.8.6 Regole di sincronizzazione
7.8.7 I monitor in Java
7.8.8 Gestione della Interrupted Exception
7.9 Esempi di sincronizzazione
7.9.1 La sincronizzazione in Solaris
7.9.2 La sincronizzazione in Windows XP
7.9.3 La sincronizzazione in Linux
7.9.4 La sincronizzazione in Pthread
7.10 Transazioni atomiche
7.10.1 Modello del sistema
7.10.2 Recupero basato sui log
7.10.3 Punti di verifica
7.10.4 Transazioni atomiche concorrenti
7.11 Riassunto
Esercizi
Note bibliografiche
Capitolo 8 Lo stallo (deadlock)
8.1 Il modello delle risorse di sistema e dei processi
8.2 Caratterizzazione del deadlock
8.2.1 Condizioni per il verificarsi del deadlock
8.2.2 Grafo di allocazione delle risorse
8.3 Metodi di gestione dei deadlock
8.4 Prevenire il deadlock
8.4.1 Mutua esclusione
8.4.2 Possesso ed attesa
8.4.3 Nessun rilascio anticipato
8.4.4 Attesa circolare
8.5 Evitare il deadlock
8.5.1 Lo stato sicuro
8.5.2 Algoritmo del grafo di allocazione delle risorse
8.5.3 L’algoritmo del banchiere
8.6 Rilevazione del deadlock
8.6.1 Singola istanza di ogni tipo di risorsa
8.6.2 Istanze multiple di un tipo di risorsa
8.6.3 Uso dell’algoritmo di rilevazione
8.7 Ripristino dal deadlock
8.7.1 Termine del processo
8.7.2 Rilascio anticipato delle risorse
8.8 Riassunto
Esercizi
Note bibliografiche
Parte III Gestione della memoria
Capitolo 9 Gestione della memoria centrale
9.1 Concetti generali
9.1.1 Collegamento degli indirizzi
9.1.2 Spazio di indirizzamento logico e spazio di indirizzamento fisico
9.1.3 Caricamento dinamico
9.1.4 Collegamento dinamico e librerie condivise
9.1.5 Overlay
9.2 Swapping
9.3 Allocazione contigua di memoria
9.3.1 Protezione della memoria centrale
9.3.2 Allocazione della memoria centrale
9.3.3 Frammentazione
9.4 Paginazione
9.4.1 Metodo base
9.4.2 Supporto hardware
9.4.3 Protezione
9.4.4 Struttura della tabella delle pagine
9.4.5 Pagine condivise
9.5 Segmentazione
9.5.1 Metodo base
9.5.2 Hardware
9.5.3 Protezione e condivisione
9.5.4 Frammentazione
9.6 Segmentazione con paginazione
9.7 Riassunto
Esercizi
Note bibliografiche
Capitolo 10 La memoria virtuale
10.1 Ambiente
10.2 Richiesta di paginazione
10.2.1 Concetti fondamentali
10.2.2 Prestazioni della richiesta di paginazione
10.3 Copia durante la scrittura
10.4 Sostituzione della pagina
10.4.1 Sostituzione di base della pagina
10.4.2 Sostituzione FIFO della pagina
10.4.3 Sostituzione ottimale della pagina
10.4.4 Sostituzione LRU della pagina
10.4.5 Sostituzione della pagina con approssimazione dell’algoritmo LRU
10.4.6 Sostituzione della pagina basata sul conteggio
10.4.7 Algoritmi per l’uso del buffer delle pagine
10.4.8 Le applicazioni e la sostituzione della pagina
10.5 Allocazione dei frame
10.5.1 Numero minimo di frame
10.5.2 Algoritmi di allocazione
10.5.3 Confronto tra le allocazioni con sostituzioni locale e globale
10.6 Thrashing
10.6.1 Cause del thrashing
10.6.2 Il modello working set
10.6.3 Frequenza delle mancanze di pagina
10.7 File mappati in memoria
10.7.1 File mappati in memoria in Java
10.8 Altre considerazioni
10.8.1 Prepaginazione
10.8.2 La dimensione della qualità
10.8.3 Estensione della TLB
10.8.4 Tabella delle pagine invertita
10.8.5 Struttura del programma
10.8.6 Blocco dei dispositivi di I/O
10.8.7 Elaborazione in tempo reale
10.9 Esempi di sistemi operativi
10.9.1 Windows XP
10.9.2 Solaris
10.10 Riassunto
Esercizi
Note bibliografiche
Capitolo 11 L’interfaccia del file system
11.1 Il concetto di file
11.1.1 Attributi del file
11.1.2 Operazioni sui file
11.1.3 Tipi di file
11.1.4 Struttura del file
11.1.5 Struttura interna dei file
11.2 Metodi di accesso
11.2.1 Accesso sequenziale
11.2.2 Accesso diretto
11.2.3 Altri metodi di accesso
11.3 Struttura della directory
11.3.1 Directory a singolo livello
11.3.2 Directory a due livelli
11.3.3 Directory strutturata ad albero
11.3.4 Directory a grafo aciclico
11.3.5 Directory a grafo generale
11.4 Montaggio del file system
11.5 Condivisione dei file
11.5.1 Il caso di più potenti
11.5.2 File system remoti
11.5.3 Semantica della coerenza
11.5.4 Semantica UNIX
11.5.5 Semantica della sessione
11.5.6 Semantica dei file condivisi immutabili
11.6 Protezione
11.6.1 Tipi di accesso
11.6.2 Controllo dell’accesso
11.6.3 Altri metodi di protezione
11.6.4 Un esempio: UNIX
11.7 Riassunto
Esercizi
Note bibliografiche
Capitolo 12 Implementazione del file system
12.1 Struttura del file system
12.2 Realizzazione del file system
12.2.1 Panoramica sulla realizzazione del file system
12.2.2 Partizioni e montaggio
12.2.3 File system virtuali
12.3 Realizzazione della directory
12.3.1 Lista
12.3.2 Tabella di hash
12.4 Metodi di allocazione
12.4.1 Allocazione contigua
12.4.2 Allocazione collegata
12.4.3 Allocazione indicizzata
12.4.4 Prestazioni
12.5 Gestione dello spazio libero
12.5.1 Vettore di bit
12.5.2 Lista collegata
12.5.3 Raggruppamento
12.5.4 Conteggio
12.6 Efficienza e prestazioni
12.6.1 Efficienza
12.6.2 Prestazioni
12.7 Recupero del file system
12.7.1 Controllo della coerenza
12.7.2 Backup e ripristino
12.8 File system basato sulla registrazione delle attività
12.9 NFS
12.9.1 Descrizione
12.9.2 Il protocollo di montaggio
12.9.3 Il protocollo NFS
12.9.4 Traduzione del nome del percorso
12.9.5 Operazioni remote
12.10 Riassunto
Esercizi
Note bibliografiche
Parte IV Sistemi di ingresso/uscita
Capitolo 13 Sottosistemi di ingresso/uscita
13.1 Panoramica
13.2 L’hardware di I/O
13.2.1 Attesa attiva
13.2.2 L’interrupt
13.2.3 Accesso diretto alla memoria
13.3 Le interfacce di I/O per le applicazioni
13.3.1 Dispositivi con trasferimento dei dati a caratteri e a blocchi
13.3.2 Le periferiche di rete
13.3.3 Orologi e temporizzatori
13.3.4 I/O bloccante e non bloccante
13.4 Il sottosistema di I/O del kernel
13.4.1 Schedulazione dell’I/O
13.4.2 Buffering
13.4.3 Caching
13.4.4 Spooling e prenotazione dei dispositivi
13.4.5 Gestione degli errori
13.4.6 Strutture dati del kernel
13.5 Trasformazione dell’I/O in operazioni hardware
13.6 STREAMS
13.7 Le prestazioni
13.8 Riassunto
Esercizi
Note bibliografiche
Capitolo 14 Struttura delle memorie di massa
14.1 Struttura dei dischi
14.2 Schedulazione degli accessi al disco
14.2.1 Schedulazione FCFS
14.2.2 Schedulazione SSTF
14.2.3 Schedulazione SCAN
14.2.4 Schedulazione C-SCAN
14.2.5 Schedulazione LOOK
14.2.6 Selezione dell’algoritmo di schedulazione del disco
14.3 Amministrazione del disco
14.3.1 Configurazione del disco
14.3.2 Il blocco di avvio
14.3.3 Blocchi difettosi
14.4 Gestione dello spazio di swap
14.4.1 Uso dello spazio di swap
14.4.2 Locazione dello spazio di swap
14.4.3 Gestione dello spazio di swap: un esempio
14.5 La struttura RAID
14.5.1 Miglioramento dell’affidabilità mediante la ridondanza
14.5.2 Il miglioramento delle prestazioni con il parallelismo
14.5.3 Livelli di RAID
14.5.4 Scelta di un livello RAID
14.5.5 Le estensioni
14.6 Collegamento dei dischi
14.6.1 Memorizzazione con collegamento all’host
14.6.2 Memorizzazione con collegamento di rete
14.6.3 Rete della zona di memorizzazione
14.7 Implementazione dell’archiviazione stabile
14.8 Struttura di memorizzazione terziaria
14.8.1 Periferiche di archiviazione terziaria
14.8.2 Compiti del sistema operativo
14.8.3 Problematiche relative alle prestazioni
14.9 Riassunto
Esercizi
Note bibliografiche
Parte V Sistemi distribuiti
Capitolo 15 Strutture dei sistemi distribuiti
15.1 Concetti di base
15.1.1 Vantaggi dei sistemi distribuiti
15.1.2 Tipi di sistemi operativi distribuiti
15.1.3 Sintesi delle nozioni
15.2 Topologia
15.3 Comunicazione
15.3.1 Attribuzione e risoluzione dei nomi
15.3.2 Strategie di instradamento
15.3.3 Strategie di pacchetto
15.3.4 Strategie di connessione
15.3.5 Gestione dei conflitti
15.4 Protocolli di comunicazione
15.5 Robustezza
15.5.1 Individuazione dei guasti
15.5.2 Riconfigurazione del sistema
15.5.3 Recupero da un guasto
15.6 Problemi progettuali
15.7 Un esempio: il networking
15.8 Riassunto
Esercizi
Note bibliografiche
Capitolo 16 File system distribuiti
16.1 L’ambiente distribuito
16.2 Attribuzione dei nomi e trasparenza
16.2.1 Le strutture di attribuzione dei nomi
16.2.2 Gli schemi di attribuzione dei nomi
16.2.3 Tecniche di implementazione
16.3 Accesso remoto ai file
16.3.1 Schema di base per l’uso della cache
16.3.2 Locazione della cache
16.3.3 Politica di aggiornamento della cache
16.3.4 Coerenza
16.3.5 Confronto tra ai servizi con cache e quelli remoti
16.4 File server con e senza stato
16.5 Replica dei file
16.6 Un esempio: AFS
16.6.1 Panoramica
16.6.2 Lo spazio dei nomi condiviso
16.6.3 Operazioni sui file e coerenza
16.6.4 Implementazione
16.7 Riassunto
Esercizi
Note bibliografiche
Capitolo 17 Coordinamento distribuito
17.1 Ordinamento degli eventi
17.1.1 La relazione accaduto prima
17.1.2 Implementazione
17.2 Mutua esclusione
17.2.1 Metodo centralizzato
17.2.2 Metodo completamente distribuito
17.2.3 Il metodo del passaggio di token
17.3 Atomicità
17.3.1 Il protocollo di commit a due fasi
17.3.2 Gestione dei guasti nel protocollo 2PC
17.4 Controllo della concorrenza
17.4.1 Protocolli bloccanti
17.4.2 Marca di tempo
17.5 Gestione delle situazioni di stallo
17.5.1 Prevenzione delle situazioni di stallo
17.5.2 Rilevamento delle situazioni di stallo
17.6 Algoritmi di elezione del coordinatore
17.6.1 Algoritmo del bullo
17.6.2 Algoritmo dell’anello
17.7 Raggiungimento dell’accordo
17.7.1 Comunicazioni inaffidabili
17.7.2 Processi difettosi
17.8 Riassunto
Esercizi
Note bibliografiche
Parte VI Protezione e sicurezza
Capitolo 18 Protezione
18.1 Obiettivi della protezione
18.2 Domini di protezione
18.2.1 Struttura del dominio di protezione
18.2.2 Le protezioni nel sistema operativo UNIX
18.2.3 Le protezioni nel sistema operativo MULTICS
18.3 Matrice di accesso
18.4 Implementazione della matrice di accesso
18.4.1 Tabella globale
18.4.2 Liste di controllo degli accessi
18.4.3 Liste di capacità dei domini
18.4.4 Il meccanismo lock-key
18.4.5 Confronto
18.5 Revoca dei diritti di accesso
18.6 Sistemi basati sulle capacità
18.6.1 Il sistema operativo Hydra
18.6.2 Il sistema operativo CAP System
18.7 Protezione basata sul linguaggio
18.7.1 Applicazione basata sui compilatori
18.7.2 Protezione in Java 2
18.8 Riassunto
Esercizi
Note bibliografiche
Capitolo 19 Sicurezza
19.1 Il problema della sicurezza
19.2 Autenticazione dell’utente
19.2.1 Le password
19.2.2 Vulnerabilità della password
19.2.3 Password criptate
19.2.4 Password monouso
19.2.5 Biometria
19.3 Pericoli relativi ai programmi
19.3.1 Cavalli di Troia
19.3.2 Trap dorr
19.3.3 Stack overflow e buffer overflow
19.4 Pericoli relativi ai sistemi
19.4.1 Worm
19.4.2 Virus
19.4.3 Negazione del servizio
19.5 Garantire la sicurezza dei sistemi e delle funzioni
19.6 Rilevamento delle intrusioni
19.6.1 Che cosa costituisce un’intrusione?
19.6.2 Monitoraggio e analisi del registro degli eventi
19.6.3 Tripwire
19.6.4 Controllo delle chiamate di sistema
19.7 Crittografia
19.7.1 Autenticazione
19.7.2 Algoritmi di crittografia
19.7.3 Un esempio: SSL
19.7.4 Uso della crittografia
19.8 Classificazione della sicurezza dei computer
19.9 Un esempio: Windows NT
19.10 Riassunto
Esercizi
Note bibliografiche
Bibliografia
Indice analitico
Capitoli e appendici online:
Il sistema operativo Linux
Il sistema operativo Windows XP
Il sistema operativo Windows 2000
Il sistema operativo FreeBSD
Sistemi operativi storici
Le comunicazioni in ambiente distribuito



  Login 

  Non ricordo la password
  Nuovo account
  Cliente 

  Il carrello

 Carrello 

  Informazioni 

  Contatti
  Qualità del servizio
  Costi e tempi di consegna
  Modalità di pagamento
  Prezzi
  Sconti
  Privacy