Librinformatica

ATTENZIONE

Spedizioni sospese da sabato 17 Luglio fino a domenica 01 Agosto.
Riprenderanno regolarmente lunedi 02 Agosto.

Newsletter

Libreria Gaia Scienza Edizioni Erasmo

I moderni sistemi operativi - terza edizione

Pearson Education Italia

I moderni sistemi operativi - terza edizione


58,00 € IVA compresa

Consigliato da Librinformatica

9788871925400

  • Autore: Andrew S. Tanenbaum
  • Titolo Originale: Modern Operating Systems - third edition
  • Editore Originale: Prentice Hall
  • Collana: Accademica
  • Pagine: 982
  • Livello: Intermedio Avanzato
  • Lingua: italiano
  • Data Pubblicazione: 06/2009
  • Volumi:

Il libro di Tanenbaum è un best-seller mondiale, punto di riferimento autorevole nell’ambito dei sistemi operativi. Anche in questa terza edizione l’impianto resta invariato e presenta un approccio molto pratico (hands-on), basato su esempi, che consente di comprendere e costruire i moderni sistemi operativi.
I contenuti del libro sono didatticamente eccellenti, così come l’esposizione molto chiara che offre agli studenti una visione d’insieme sull’argomento.
Questa nuova edizione comprende gli ultimi sviluppi nelle tecnologie dei sistemi operativi. Sono state aggiunte centinaia di pagine di nuovi materiali che trattano di numerosi argomenti attuali, quali la virtualizzazione, i multiprocessori, i processori multimedia, i virus.
Molto ben fatti i case studies ai quali hanno contribuito anche altri autori.
L’analisi di Linux, Windows Vista e Symbian è considerata ottima.
Ritornano in questa terza edizione i “big picture concepts”, presentati in modo chiaro e e con lo stile ironico peculiare di A. S. Tanenbaum. La lunga esperienza dell’autore come designer e co-designer di tre sistemi operativi si riflette in una ricchezza di dettagli pratici e in una conoscenza dell’argomento che pochi altri libri possono vantare.

Gli autori
Andrew S. Tanenbaum, laureato al MIT, da più di trent’anni è professore di Informatica alla Vrije Universiteit di Amsterdam, dove è attivo anche nella ricerca sui sistemi e sulla sicurezza. Tanenbaum è Fellow dell’IEEE e ACM ed è membro della Royal Dutch Academy of Arts and Science. Ha pubblicato circa 150 articoli per riviste scientifiche ed è autore di numerosi best-seller con Prentice Hall, tradotti in più di venti lingue. Nel 2007 è stato premiato dall’ IEEE per il contributo dato all’educazione nel campo dell’Informatica, in particolare sull’organizzazione, le reti e sistemi operativi.

CAPITOLO 1 INTRODUZIONE
1.1 che cosa e un sistema operativo
1.1.1 il sistema operativo come macchina estesa
1.1.2 il sistema operativo come gestore delle risorse
1.2 storia dei sistemi operativi
1.2.1 prima generazione (1945-55): tubi a vuoto
1.2.2 seconda generazione (1955-65):transistor e sistemi batch
1.2.3 terza generazione(1965-80):IC e multiprogrammazione
1.2.4 quarta generazione( dal 1980 a oggi): i personal computer
1.3 analisi dell'hardware
1.3.1 processori
1.3.2 memoria
1.3.3 dischi
1.3.4 nastri
1.3.5 dispositivi di I/O
1.3.6 bus
1.3.7 avvio del computer
1.4 panoramica dei sistemi operativi
1.4.1 sistemi operativi per mainframe
1.4.2 sistemi operativi per server
1.4.3 sistemi operativi multiprocessore
1.4.4 sistemi operativi per personal computer
1.4.5 sistemi operativi per computer palmari
1.4.6 sistemi operativi integrati
1.4.7 sistemi operativi per sensori
1.4.8 sistemi operativi real-time
1.4.9 sistemi operativi per smart card
1.5 concetti di base dei sistemi operativi
1.5.1 processi
1.5.1 spazi degli indirizzi
1.5.3 file
1.5.4 input/ output
1.5.5 protezione
1.5.6 la shell
1.5.7 il concetto di ricapitolazione
1.6 chiamate di sistema
1.6.1 chiamate di sistema per la gestione dei processi
1.6.2 chiamate di sistema per la gestione del file
1.6.3 chiamate di sistema per la gestione delle directory
1.6.4 altre chiamate di sistema
1.6.5 le API Win32 di windows
1.7 struttura di un sistema operativo
1.7.1 sistemi monolitici
1.7.2 sistemi a livelli
1.7.3 microkernel
1.7.4 modello client-server
1.7.5 macchine virtuali
1.7.6 exokernel
1.8 il mondo secondo il C
1.8.1 il linguaggio C
1.8.2 file di intestazione
1.8.3 progetti di programmazione di grandi dimensioni
1.8.4il modello di run-time
1.9 stato della ricerca sui sistemi operativi
1.10 linee generali del resto del volume
1.11unità metriche
problemi

CAPITOLO 2 PROCESSI E THREAD
2.1 processi
2.1.1 il modello di processo
2.1.2 creazione del processo
2.1.3 chiusura di un processo
2.1.4 gerarchie di processi
2.1.5 stati di un processo
2.1.6 implementazioni dei processi
2.1.7 modellazione della multiprogrammazione
2.2 thread
2.2.1 uso dei thread
2.2.2 il modello a thread classico
2.2.3 thread POSIX
2.2.4 implementare i thread nello spazio utente
2.2.5 realizzazione di thread nel kernel
2.2.6 implementazione ibride
2.2.7 scheduler activation
2.2.8 thread pop-up
2.2.9 trasformazione di codice a singolo thread in codice multithread
2.3 comunicazione fra processi
2.3.1 corse critiche
2.3.2regioni critiche
2.3.3 mutua esclusione con busy waiting
2.3.4 sleep e wakeup
2.3.5 semafori
2.3.6 mutex
2.3.7 monitor
2.3.8 passaggio di messaggi
2.3.9 barriere
2.4 scheduling
2.4.1 introduzione allo scheduling
2.4.2 scheduling nei sistemi batch
2.4.3 scheduling nei sistemi interattivi
2.4.4 scheduling nei sistemi real-time
2.4.5 la politica in contrapposizione al meccanismo
4.4.6 scheduling a thread
2.5 classici problemi di IPC
2.5.1 problema dei 5 filosofi
2.5.2 problema dei lettori e scrittori
2.6 stato della ricerca su processi e thread
problemi

CAPITOLO 3 GESTIONE DELLA MEMORIA
3.1 nessuna astrazione di memoria
3.2 un'astrazione della memoria:gli spazi degli indirizzi
3.2.1nozione di spazio degli indirizzi
3.2.2 swapping
3.2.3gestione della memoria libera
3.3 memoria virtuale
3.3.1 paginazione
3.3.2 tabelle delle pagine
3.3.3 velocizzare la paginazione
3.3.4 tabelle delle pagine per grandi memorie
3.4 algoritmi di sostituzione delle pagine
3.4,1 l'algoritmo ottimale di sostituzione delle pagine
3.4.2 not recently used(NUR)
3.4.3 first-in, first-out (FIFO)
3.4.4seconda chance
3.4.5 clock
3.4.6 least recently used (LRU)
3.4.7 simulare l'algoritmo LUR via software
3.4.8 working set
3.4.9WSClock
3.4.10 riepilogo degli algoritmi di sostituzione delle pagine
3.5 problemi di progettazione dei sistemi di paginazione
3.5.1politiche di allocazione globali e locali a confronto
3.5.2 controllo del carico
3.5.3 dimensione delle pagine
3.5.4 istruzioni separate e spazi dei dati
3.5.5 pagine condivise
3.5.6 librerie condivise
3.5.7 file mappati
3.5.8 politica di ripulitura
3.5.9 interfaccia della memoria virtuale
3.6 elementi implementativi
3.6.1 il sistema operativo e la paginazione
3.6.2 gestione degli errori di pagina
3.6.3 backup delle istruzioni
3.6.4bloccare le pagine in memoria
3.6.5 memoria secondaria
3.6.6 separazione fra politica e meccanismo
3.7 segmentazione
3.7.1 implementazione della segmentazione pura
3.7.2 implementazione della paginazione: MULTICS
3.7.3 segmentazione con paginazione: il pentium intel
3.8 stato della ricerca sulla gestione della memoria
problema

CAPITOLO 4 FILE SYSTEM
4.1 i file
4.1.1nomi di file
4.1.2 struttura dei file
4.1.3 tipi di file
4.1.4 accesso ai file
4.1.5 attributi dei file
4.1.6 operazioni sui file
4. 1 .7 un esempio di programma che usa le chiamate del file system
4.2 le directory
4.2.1 sistemi di directory a livello singolo
4.2.2 sistemi di directory gerarchici
4.2.3 path name
4.2.4 operazioni sulle directory
4.3 implementazione del file system
4.3.1 layout del file system
4.3.2 implementazione dei file
4.3.3 implementazione delle directory
4.3.4 file condivisi
4.3.5 file system basati su log strutturati
4.3.6 file system journaling
4.3.7 file system virtuali
4.4 gestione e ottimizzazione del file system
4.4.1 gestione dello spazio dei dischi
4.4.2 backup del file system
4.4.3 consistenza del file system
4.4.4 prestazioni del file system
4.4.5deframentazione dei dischi
4.5 esempi di file system
4.5.1 file system dei CD-ROM
4.5.22 il file system MS-DOS
4.5.3 il file system V7 di UNIX
4.6 stato della ricerca sui file system
problemi

CAPITOLO 5 INPUT/OUTPUT
5.1 principi hardware dell'I/O
5.1.1 dispositivi di I/O
5.1.2 controller dei dispositivi
5.1.3 input/output mappato in memoria
5.1.4 direct memory access(DMA)
1.5 interrupt rivisitati
5.2 principi del software per l'I/O
5.2.1 obbiettivi del software per l' I/O
5.2.2 I/O programmato
5.2.3I/O guidato dagli interrupt
5.2.4 I/O con uso del DMA
5.3livelli del software per l'I/O
5.1.3 gestire degli interrupt
5.3.2 driver dei dispositivi
5.3.3 software per l'I/O indipendente del dispositivo
5.3.4 software per l'I/O nello spazio utente
5.4 dischi
5.4.1 hardware dei dischi
5.4.2 formattazione dei dischi
5.4.3 algoritmi di scheduling del braccio del disco
5.4.4 gestione degli errori
5.4.5memoria stabile
5.5 clock
5.5.1 hardware del clock
5.5.3 timer soft
5.6 interfacce utente: tastiera ,mouse e monitor
5.6.1 software per l'input
5.6.2 software per l'output
5.7 thin client
5.8 gestione del risparmio energetico
5.8.1 problemi relativi all'hardware
5.8.2 problemi relativi al sistema operativo
5.8.3questioni relative ai programmi applicativi
5.9 stato della ricerca sull'input/output
problemi

CAPITOLO 6 DEADLOCK
6.1 risorse
6.1.1risorse preemptable
6.1.2 acquisizione delle risorse
6.2 introduzione ai deadlock
6.2.1 condizioni per i deadlock delle risorse
6.2.2 modellazione dei deadlock
6.3 algoritmo dello struzzo
6.4 rilevamento e risoluzione dei deadlock
6.4.1 rilevamento dei deadlock con una risorsa per ciascun tipo
6.4.2 rilevamento dei deadlock con più risorse di ciascun tipo
6.4.3 risoluzione di un deadlock
6.5 evitare i deadlock
6.5.1 traiettorie delle risorse
6.5.2 stati sicuri e non sicuri
6.5.3 algoritmo del banchiere per una risorsa singola
6.5.4 algoritmo del banchiere per molteplici risorse
6.6 prevenire i deadlock
6.6.1 attacco alla condizione di mutua esclusione
6.6.2 attacco alla condizione di possesso e attesa
6.6.3 attacco alla condizione di impossibilita di prelazione
6.6.4 attacco alla condizione di attesa circolare
6.7 ulteriori questioni
6.7.1 docking a due fasi
6.7.2 deadlock delle comunicazioni
6.7.3 livelock
6.7.4 starvation
6.8 stato della ricerca sui deadlock
problemi

CAPITOLO 7 SISTEMI OPERATIVI MULTIMEDIALI
7.1 introduzione alla multimedialità
7.2 file multimediale
7.2.1 codifica video
7.2.2 codifica audio
7.3 compressione video
7.3.1 standard JPEG
7.3.2 standard MPEG
7.4 compressione audio
7.5 scheduling dei processi multimediali
7.5.1 scheduling di processi omogenei
7.5.2 scheduling real-time in generale
7.5.3 scheduling rate
7.5.4 scheduling earliest deadline first
7.6 paradigmi dei file system multimediali
7.6.1 funzioni VCR di controllo
7.6.2 near video-on demand
7.6.3 near video-on demand con le funzioni VCR
7.7posizionamento dei file
7.7.1 posizionamento di un file su un disco singolo
7.7.2 strategie alternative nell'organizzazione dei file
7.7.3 posizionamento dei file su più dischi
7.8 uso della cache
7.8.1 cache dei blocchi
7.8.2 cache dei file
7.9 scheduler del disco per il multimedia
7.9.1scheduler statico del disco
7.9.2 scheduler dinamico del disco
7.10 stato della ricerca sulla multimedialita'
problemi

CAPITOLO 8
SISTEMI A PIU’ PROCESSORI
8.1 multiprocessori
8.1.1hardware dei multiprocessori
8.1.2 tipi di sistemi operativi multiprocessore
8.1 3 sincronizzazione dei multiprocessori
8.1.4 scheduling dei multiprocessori
8.2 multicomputer
8.2.1 hardware dei multicomputer
8.2.2 software di comunicazione di basso livello
8.2,3 software di comunicazione a livello utente
8.2.4 chiamata di procedura remota
8.2.5 memoria condivisa distribuita
8.2.6 scheduling nei multicomputer
8.2.7 bilanciamento del carico
8.3 virtualizzazione
8.3.1requisiti per la virtualizzazione
8.3.2 hypervisor di tipo 1
8.3.3 hypervisor di tipo 2
8.3.4 paravirtualizzazione
8.3.5 virtualizzazione della memoria
8.3.6 virtualize dell'I/O
8.3.7 virtual appliances
8.3.8 macchine virtuali sulle CPU multicolore
8.3.9 il problema delle licenze
8.4 sistemi distribuiti
8.4.i hardware di rete
8.4.2 protocolli e servizi di rete
8.4.3middleware basato sui documenti
8.4.4 middleware basato sul file system
8.4.5 middleware basato sugli oggetti
8.4.6 middleware basato sulla coordinazione
8.4.7 grid
8.5 stato della ricerca sui sistemi a più processori
problemi

CAPITOLO 9 SICUREZZA
9.1 ambiente della sicurezza
9.1.1 minacce
9.1.2 intrusi
9.1.3 perdita accidentale dei dati
9.2 basi della crittografia
9.2.1 crittografia a chiave segreta
9.2.2 crittografia a chiave pubblica
9.2.3 funzione a senso unico
9.2.4 firme digitali
9.2.5 trusted platform module
9.3 meccanismi di protezione
9.3.1 domini di protezione
9.3.2 access control list
9.3.3 "capability"
9.3.4 sistemi affidabili
9.3.5 trusted computing base
9.3.6 modelli formali di sistemi sicuri
9.3.7 sicurezza multivello
9.3.8 canali segreti
9.4 autenticazione
9.4.1 autenticazione tramite password
9.4.2 autenticazione tramite un oggetto fisico
9.4.3 autenticazione attraverso la biometria
9.5 attacchi dall' interno
9.5.1 bombe logiche
9.5.2 trap door
9.5.3 spoofing del login
9.6 sfruttare gli errori del codice
9.6.1 attacchi del tipo "buffer overflow"
9.6.2 attacchi di tipo" format string"
9.6.3 attacchi di tipo"return to libc"
9.6.4 attacchi di tipo "integer overflow"
9.6.5 attacchi di tipo" code injection"
9.6.6 attacchi di tipo "privilege escalation"
9.7 malware
9.7.1 cavalli di troia
9.7.2 virus
9.7.3 worms
9.7.4 spyware
9.7.5 rootkit
9.8 difese
9.8.1 firewall
9.8.2 antivirus e tecniche antivirus
9.8.3 firma del codice
9.8.4 jailing
9.8.5 rilevamento delle intrusioni basato su un modello
9.8.6 incapsulamento del codice mobile
9.8.7 sicurezza di java
9.9 stato della ricerca sulla sicurezza
problemi

CAPITOLO 10 LINUX
10.1 storia di UNIX e linux
10.1.1 UNICS
10.1.2 UNIX del PDP-11
10.1.3 UNIX portabile
10 1.4 UNIX berkeley
10.1.5 UNIX standard
10.1.6 MINIX
10.1.7 linux
10.2 panoramica di linux
10..2.1 obiettivi di linux
10.2.2 interfacce di linux
10.2.3 shell
10.2.4programmi di utilità linux
10.2.5 struttura del kernel
10.3 processi in linux
10.3.1 concetti fondamentali
10.3.2 chiamate di sistema per la gestione dei processi in linux
10.3.3 implementazione di processi e thread in linux
10.3.4 scheduling in linux
10.3.5 processo d'avvio di linux
10.4 gestione della memoria in linux
10.4.1 concetti fondamentali
10.4.2 chiamate di sistema per la gestione della memoria in linux
10.4.3 implementazione della gestione della memoria in linux
10.4.4paginazione in linux
10.5 input/output in linux
10.5.1 concetti fondamentali
10.5.2 gestione della rete
10.5.3 chiamate di sistema per l'input/output in linux
10.5.4implementazione dell'input / output in linux
10.5.5 moduli in linux
10.6 file system di linux
10.6.1 concetti fondamentali
10.6.2 chiamate del file system in linux
10.6.3 implementazione del file system di linux
10.6.4NFS:il file system di rete
10.7 sicurezza in linux
10.7.1 concetti fondamentali
10.7.2 chiamate di sistema per la sicurezza in linux
10.7.3 implementazione della sicurezza in linux
problemi

CAPITOLO 11 WINDOWS VISTA
11.1 storia di windows vista
11.1.1gli anni 80:MS-DOS
11.1.2gli anni 90:windows basato su MS-DOS
11.1.3gli anni 2000:windows basato su NT
11.1.4windows vista
11.2 programmazione di windows vista
11.2.1 application programming interfacce NT native
11.2.2 application programming interface win 32
11.2.3 registro di windows
11.3 struttura del sistema
11.3.1 struttura del sistema operativo
11.3.2avvio di windows vista
11.3.3implementazione del gestore degli oggetti
11.3.4 sottosistemi,DLL e servizi in modalità utente
11.4processi e thread in windows vista
11.4.1 concetti fondamentali
11.4.2 chiamate API per la gestione di job,processi, thread e fibre
11.4.3 implementazione di processi e di thread
11.5 gestione della memoria
11.5.1 concetti fondamentali
11.5.2 chiamate di sistema per la gestione della memoria
11.5.3 implementazione della gestione della memoria
11.6 uso delle cache in windows vista
11.7 input/output in windows vista
11.7.1 concetti fondamentali
11.7.2 API per l'input/output
11.7.3 implementazione dell' I/O
11.8NT file system di windows
11.8.1 concetti fondamentali
11.8.2 implementazione del file system NT
11.9 sicurezza in windows vista
11.9.1 concetti fondamentali
11.9.2 chiamate API per la sicurezza
11.9.3 implementazione della sicurezza
problemi

CAPITOLO 12 SYMBIAN OS
12.1 storia di symbian OS
12.1.1radici di symbian OS:Psion ed EPOC
12.1.2 versione 6 di symbian OS
12.1.3 versione 7 di symbian OS
12.1.4 symbian OS oggi
12.2 panoramica di symbian OS
12.2.1 progettazione oggetti
12.2.2 progettazione a microkernel
12.2.3 nanokernel di symbian OS
12.2.4 accesso client / server alle risorse
12.2.5 funzionalita' di un sistema operativo più grande
12.2,6 comunicazione e multimedialità
12.3 processi e thread in symbian OS
12.3.1 thread nanothread
12.3.2 processi
12.3.3 oggetti attivi
12.3.4 comunicazione tra processi
12.4 gestione della memoria
12.4.1 sistemi senza memoria virtuale
12.4.2 come symbian OS indirizza la memoria
12.5 input e output
12.5.1 driver dei dispositivi
12.5.2 estensioni del kernel
12.5.3 direct memory access
12.5.4 un caso speciale:media di memorizzazione
12.5.5 I/O bloccante
12.5.6 media rimovibili
12.6 sistemi di memorizzazione
12.6.1 file system per dispositivi mobili
12.6.2file system di symbian OS
12.8 comunicazione in symbian OS
12.8.1 infrastruttura di base
12.8.2 visione più approfondita dell'infrastruttura
problemi

CAPITOLO 13 PROGETTAZIONE DI UN SISTEMA OPERATIVO
13.1 natura del problema della progettazione
13.1.1 obiettivi
13.1.2perchè è difficile progettare un sistema operativo
13.2 progettazione dell'interfacce
13.2.1 principi guida
13.2.2 paradigmi
13.2.3 interfaccia delle chiamate sistema
13.3 implementazione
13.3.1struttura dei sistemi
13.3.2 il meccanismo rispetto alla politica
13.3.3 ortogonalità
13.3.4 gestione dei nomi
13.3.5 binding time
13.3.6 strutture statiche rispetto a strutture dinamiche
13.3.7 implementazione top-down e bottom-up
13.3.8 tecniche utili
13.4 prestazioni
13.4.1 perche' i sistemi operativi sono lenti?
13.4.2 che cosa dovrebbe essere ottimizzato?
13.4.3 compromessi spazio-tempo
13.4.4 uso delle cache
13.4.5 suggerimenti
13.4.6 sfruttare la località
13.4.7 ottimizzazione del caso comune
13.5 gestione dei progetti
13.5.1 the mythical man month
13.5.2 struttura del team
13.5.3 ruolo dell'esperienza
13.5.4 no silver bullet
13.6 tendenze nella progettazione dei sistemi operativi
13.6.1 virtualizzazione
13.6.2 chip multicore
13.6.3 sistemi operativi con spazi degli indirizzi grandi
13.6.4 la rete
13.6.5 sistemi paralleli e sistemi distribuiti
13.6.6 multimedia
13.6.7 computer a batterie
13.6.8 sistemi integrati
13.6.9 nodi di sensori

CAPITOLO 14 LETTURE CONSIGLIATE E BIBLIOCRAFIA
14.1 suggerimenti per ulteriori letture
14.1.1 introduzione e lavori generali
14.1.2processi e thread
14.1.3 gestione della memoria
14.1.4 input/output
14.1.5 file system
14.1.6 deadlock
14.1.7 sistemi operativi multimediale
14.1.8 sistemi a più processori
14.1.9 sicurezza
14.1.10linux
14.1.11 windows vista
14.1.12 symbian OS
14.1.13 principi di progettazione

14.2 bibliografia
INDICE ANALITICO

Carrello

Non ci sono prodotti

Spedizione 0,00 €
Totale 0,00 €

Carrello Acquista