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
Universita' e ricercaSistemi operativi


Prodotto ESAURITO/FUORI CATALOGO

I moderni sistemi operativi - seconda edizione
EditoreJackson
AutoreTanenbaum Andrew S.
Titolo originaleModern operating systems, second edition
Editore originalePrentice Hall
CollanaUniversità
Pagine874
Volumi1
LivelloIntroduttivo-Intermedio
LinguaItaliano
Data pubblicazione05 - 2002
ISBN8825618980


 Prezzo di copertina 
 Euro 51,50  

 Presentazione       Indice      

INDICE

Prefazione
Prefazione all'edizione italiana

1. Introduzione
1.1 CHE COS'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 La prima generazione (1945-1955): valvole e schede a spinotti
1.2.2 La seconda generazione (1955-1965): transistor e sistemi batch
1.2.3 La terza generazione (1965-1980): circuiti integrati e multiprogrammazione
1.2.4 La quarta generazione (dal 1980 ad oggi): i Personal Computer
1.2.5 L'ontogenesi riassume la filogenesi
1.3 LO ZOO DEI SISTEMI OPERATIVI
1.3.1 Sistemi operativi per i mainframe
1.3.2 Sistemi operativi per i server
1.3.3 Sistemi operativi multiprocessore
1.3.4 Sistemi operativi per i personal computer
1.3.5 Sistemi operativi real-time
1.3.6 Sistemi operativi embedded
1.3.7 Sistemi operativi per le smart card
1.4 RASSEGNA DI HARDWARE PER CALCOLATORI
1.4.1 Processori
1.4.2 Memoria
1.4.3 I dispositivi di ingresso/uscita
1.4.4 I bus
1.5 CONCETTI DI BASE SUI SISTEMI OPERATIVI
1.5.1 I processi
1.5.2 Il deadlock
1.5.3 La gestione della memoria
1.5.4 L'ingresso/uscita
1.5.5 I file
1.5.6 Sicurezza
1.5.7 La shell
1.5.8 Riciclaggio di concetti
1.6 LE CHIAMATE DI SISTEMA
1.6.1 Chiamate di sistema per la gestione di processi
1.6.2 Chiamate di sistema per la gestione dei file
1.6.3 Chiamate di sistema per la gestione delle directory
1.6.4 Miscellanea di chiamate di sistema
1.6.5 Le Win32 API di Windows
1.7 STRUTTURA DI UN SISTEMA OPERATIVO
1.7.1 Sistemi monolitici
1.7.2 Sistemi a livelli
1.7.3 Macchine virtuali
1.7.4 Exokernel
1.7.5 Il modello client-server
1.8 RICERCHE SUI SISTEMI OPERATIVI
1.9 PANORAMICA SUL RESTO DEL LIBRO
1.10 UNITA' DI MISURA DECIMALI
1.11 SOMMARIO

2 PROCESSI E THREAD
2.1 INTRODUZIONE AI PROCESSI
2.1.1 Il modello a processi
2.1.2 La creazione dei processi
2.1.3 La terminazione dei processi
2.1.4 Gerarchie di processi
2.1.5 Gli stati dei processi
2.1.6 Implementazione dei processi
2.2 THREAD
2.2.1 Il modello a thread
2.2.2 Uso dei thread
2.2.3 Implementazione dei thread nello spazio utente
2.2.4 Implementazione dei thread nel kernel
2.2.5 Implementazione ibrida
2.2.6 Attivazione dello schedulatore
2.2.7 Thread pop-up
2.2.8 Trasformare codice a thread singolo in multithread
2.3 COMUNICAZIONE FRA PROCESSI
2.3.1 Corso critiche
2.3.2 Sezioni critiche
2.3.3 Mutua esclusione con attesa attiva
2.3.4 Sospensione e risveglio
2.3.5 I semafori
2.3.6 I mutex
2.3.7 I monitor
2.3.8 Lo scambio di messaggi
2.3.9 Barriere
2.4 PROBLEMI CLASSICI DI COMUNICAZIONE FRA PROCESSI
2.4.1 Il problema dei filosofi a cena
2.4.2 Il propblema dei lettori e scrittori
2.4.3 Il problema del barbiere che dorme
2.5 SCHEDULAZIONE DEI PROCESSI
2.5.1 Introduzione alla schedulazione
2.5.2 Schedulazione nei sistemi batch
2.5.3 SCHEDULAZIONE NEI SISTEMI INTERATTIVI
2.5.4 Schedulazione nei sistemi real time
2.5.5 Politiche e meccanismi
2.5.6 Schedulazione dei thread
2.6. RICERCA SU PROCESSI E THREAD
2.7 SOMMARIO

3 DEADLOCK
3.1. RISORSE
3.1.1 Risorse prerilasciabili e non prerilasciabili
3.1.2 Acquisizione di risorse
3.2 INTRODUZIONE AI DEADLOCK
3.2.1 Condizioni per il deadlock
3.2.2 Modelli per le situazioni di stallo
3.3 L'ALGORITMO DELLO STRUZZO
3.4 IDENTIFICAZIONE E RISOLUZIONE DEI DEADLOCK
3.4.1 Identificazione del deadlock con una risorsa per ogni classe
3.4.2 Identificazione del deadlock con risorse multiple per ogni classe
3.4.3 La risoluzione del deadlock
3.5. EVITARE I DEADLOCK
3.5.1 Traiettorie di risorsa
3.5.2 Stati sicuri e non sicuri
3.5.3 L'algoritmo del banchiere per una singola risorsa
3.5.4 L'algoritmo del banchiere per risorse multiple
3.6 PREVENZIONE DA DEADLOCK
3.6.1 Negazione della condizione di mutua esclusione
3.6.2 Negazione della condizione hold-and-wait
3.6.3 Negazione della condizione di mancanza di prerilascio
3.6.4 Negazione della condizione di attesa circolare
3.7 ALTRI ARGOMENTI
3.7.1 Il blocco a due fasi
3.7.2 Stallo senza risorse
3.7.3 Starvation
3.8 RICERCA SUI DEADLOCK
3.9 SOMMARIO

4 GESTIONE DELLA MEMORIA
4.1 SISTEMI DI BASE PER LA GESTIONE DELLA MEMORIA
4.1.1 Monoprogrammazione senza swapping o paginazione
4.1.2 Multiprogrammazione con partizione fisse
4.1.3 Modello della multiprogrammazione
4.1.4 Analisi delle prestazioni dei sistemi a multiprogrammazione
4.1.5 Rilocazione e protezione
4.2 SWAPPING
4.2.1 Gestione della memoria con mappe di bit
4.2.2 Gestione della memoria con liste concatenate
4.3 MEMORIA VIRTUALE
4.3.1 La paginazione
4.3.2 Tabelle delle pagine
4.3.3 TLB: Translation Lookaside Buffer
4.3.4 Tabelle delle pagine invertite
4.4 ALGORITMI DI RIMPIAZZAMENTO DELLE PAGINE
4.4.1 L'algoritmo ottimale di rimpiazzamento delle pagine
4.4.2 L'algoritmo di rimpiazzamento delle pagine "non usate di recente"
4.4.3 L'algoritmo di rimpiazzamento delle pagine FIFO
4.4.4 L'algoritmo di rimpiazzamento delle pagine " della seconda opportunità"
4.4.5 L'algoritmo di rimpiazzamento delle pagine "dell'orologio"
4.4.6 L'algoritmo di rimpiazzamento delle pagine LRU
4.4.7 La simulazione della LRU via software
4.4.8 Il modello Working Set
4.4.9 L'algoritmo di rimpiazzamento delle pagine WSClock
4.4.10 Riepilogo degli algoritmi di rimpiazzamento delle pagine
4.5 MODELLAZIONE DEGLI ALGORITMI DI PAGINAZIONE
4.5.1 L'anomalia di Belady
4.5.2 Gli algoritmi a pila
4.5.3 La stringa delle distanze
4.5.4 La predizione dei tassi di fault di pagina
4.6 PROBLEMATICHE DI PROGETTO DEI SISTEMI CON PAGINAZIONE
4.6.1 Confronto delle politiche di allocazione globali e locali
4.6.2 Controllo del carico
4.6.3 Dimensione della pagina
4.6.4 Spazi separati per istruzioni e dati
4.6.5 Pagine condivise
4.6.6 Politiche di pulizia
4.6.7 Interfaccia di memoria virtuale
4.7 QUESTIONI IMPLEMENTATIVE
4.7.1 Implicazioni della paginazione sul sistema operativo
4.7.2 Trattamento dei fault di pagina
4.7.3 Backup delle istruzioni
4.7.4 Blocco delle pagine in memoria
4.7.5 Memoria secondaria
4.7.6 Separazione tra politica e meccanismo
4.8 SEGMENTAZIONE
4.8.1 Implementazione della segmentazione pura
4.8.2 Segmentazione con paginazione: MULTICS
4.8.3 Segmentazione con paginazione: Pentium Intel
4.9 RICERCA SULLA GESTIONE DELLA MEMORIA
4.10 SOMMARIO

5 INPUT/OUTPUT
5.1 PRINCIPI DELL'HARDWARE DI I/O
5.1.1 Dispositivi di I/O
5.1.2 I controllori dei dispositivi
5.1.3 I/O mappato in memoria
5.1.4 Accesso diretto in memoria
5.1.5 Le interruzioni rivisitate
5.2 PRINCIPI DEL SOFTWARE DI I/O
5.2.1 Scopi del software di I/O
5.2.2 I/O programmato
5.2.3 I/O guidato dalle interruzioni
5.2.4 I/O tramite DMA
5.3 I LIVELLI SOFTWARE DI I/O
5.3.1 Driver delle interruzioni
5.3.2 Driver dei dispositivi
5.3.3 Software di I/O indipendente dai dispositivi
5.3.4 Software di I/O del livello utente
5.4. I DISCHI
5.4.1 L'hardware dei dischi
5.4.2 La formattazione di un disco
5.4.3 Gli algoritmi di schedulazione del braccio del disco
5.4.4 Trattamento degli errori
5.4.5 Memorizzazione stabile
5.5 I CLOCK
5.5.1 L'hardware dei clock
5.5.2 Il software dei clock
5.5.3 Timer soft
5.6 I TERMINALI ORIENTATI A CARATTERE
5.6.1 L'hardware dei terminali RS-232
5.6.2 Il software di input
5.6.3 Il software di output
5.7 INTERFACCE GRAFICHE UTENTE
5.7.1 Tastiera, mouse e hardware di display dei personal computer
5.7.2 Il software di input
5.7.3 Il software di output in Windows
5.8 TERMINALE DI RETE
5.8.1 Il sistema X Windows
5.8.2 Il terminale di rete SLIM
5.9 GESTIONE DEL CONSUMO DI ENERGIA
5.9.1 Questioni riguardanti l'hardware
5.9.2 Questioni riguardanti i sistemi operativi
5.9.3 Operazioni degradate
5.10 RICERCA NEL CAMPO DELL'I/O
5.11 SOMMARIO

6 I FILE SYSTEM
6.1 FILE
6.1.1 Denominazione dei file
6.1.2 Struttura del file
6.1.3 Tipi di file
6.1.4 Accesso ai file
6.1.5 Attributi dei file
6.1.6 Operazioni sui file
6.1.7 Un esempio di programma che usa chiamate di sistema sui file
6.1.8 File mappati in memoria
6.2. LE DIRECTORY
6.2.1 Sistemi di directory a singolo livello
6.2.2 Sistemi di directory a due livelli
6.2.3 Sistemi di directory gerarchici
6.2.4 I path name
6.2.5 Operazioni sulle directory
6.3. IMPLEMENTAZIONE DEL FILE SYSTEM
6.3.1 La struttura dei file system
6.3.2 Implementazione dei file
6.3.3 Implementazione delle directory
6.3.4 File condivisi
6.3.5 Gestione dello spazio su disco
6.3.6 Affidabilità del file system
6.3.7 Prestazioni del file system
6.3.8 File system strutturati a log
6.4 ESEMPI DI FILE SYSTEM
6.4.1 I file system dei CD-ROM
6.4.2 Il file system di CP/M
6.4.3 Il file system di MS-DOS
6.4.4 Il file system di Windows 98
6.4.5 Il file system di UNIX V7
6.5 RICERCA SUI FILE SYSTEM
6.6. SOMMARIO

7 SISTEMI OPERATIVI MULTIMEDIALI
7.1. INTRODUZIONE DI MULTIMEDIA
7.2 FILE MULTIMEDIALI
7.2.1 Codifica audio
7.2.2. Codifica video
7.3 COMPRESSIONE VIDEO
7.3.1 Lo standard JPEG
7.3.2 Lo standard MPEG
7.4 SCHEDULAZIONE DEI PROCESSI MULTIMEDIALI
7.4.1 Schedulazione di processi omogenei
7.4.2 Schedulazione generale in tempo reale
7.4.3 Schedulazione a frequenza monotòna
7.4.4 Schedulazione con priorità alla scadenza più vicina
7.5. PARADIGMI PER FILE SYSTEM MULTIMEDIALI
7.5.1 Funzioni di controllo VCR
7.5.2 Video quasi su richiesta
7.5.3 Video quasi su richiesta con funzioni VCR
7.6 POSIZIONAMENTO DEI FILE
7.6.1 Posizionamento di un file su un unico disco
7.6.2 Due strategie alternative per l'organizzazione dei file
7.6.3 Posizionare i file per i video quasi su richiesta
7.6.4 Posizionare più file su un unico disco
7.6.5 Posizionamento dei file su dischi diversi
7.7. MECCANISMI DI CACHE
7.7.1 Meccanismi di cache per i blocchi
7.7.2 Meccanismi di cache dei file
7.8 SCHEDULAZIONE DEL DISCO PER I MULTIMEDIA
7.8.1 Schedulazione statica del disco
7.8.2 Schedulazione dinamica del disco
7.9 LA RICERCA SUI MULTIMEDIA
7.10 SOMMARIO

8 SISTEMI CON PROCESSORI MULTIPLI
8.1 MULTIPROCESSORI
8.1.1 Hardware multiprocessore
8.1.2 Tipi di sistema operativo multiprocessore
8.1.3 Sincronizzazione dei multiprocessori
8.1.4 Schedulazione dei multiprocessori
8.2 MULTICOMPUTER
8.2.1 Hardware dei multicomputer
8.2.2 Software di comunicazione di basso livello
8.2.3 Spftware di comunicazione a livello utente
8.2.4 Chiamate di procedura remote
8.2.5 Memoria condivisa distribuita
8.2.6 Schedulazione dei multicomputer
8.2.7 Bilanciamento del carico
8.3 SISTEMI DISTRIBUITI
8.3.1 Hardware di rete
8.3.2 Servizi e protocolli di rete
8.3.3 Middleware basato sui documenti
8.3.4 Middleware basato sul file system
8.3.5 Middleware basato su oggetti condivisi
8.3.6 Middleware basato sulla coordinazione
8.4 RICERCA SUI SISTEMI A PROCESSORI MULTIPLI
8.5 SOMMARIO

9 SICUREZZA
9.1 L'AMBIENTE DI SICUREZZA
9.1.1 Minacce
9.1.2 Intrusi
9.1.3 Perdita accidentale di dati
9.2 PRINCIPI DI CRITTOGRAFIA
9.2.1 Crittografia a chiave privata
9.2.2 Crittografia a chiave pubblica
9.2.3 Funzioni unidirezionali
9.2.4 Firme digitali
9.3 AUTENTICAZIONE DELL'UTENTE
9.3.1 Autenticazione tramite password
9.3.2 Autenticazione tramite oggetti fisici
9.3.3 Autenticazione tramite biometrie
9.3.4 Contromisure
9.4 ATTACCHI DALL'INTERNO DEL SISTEMA
9.4.1 Cavalli di Troia
9.4.2 Login spoofing
9.4.3 Bombe logiche
9.4.4 Porte nascoste
9.4.5 Buffer overflow
9.4.6 Generici attacchi alla sicurezza
9.4.7 Famose violazioni della sicurezza
9.4.8 Principi di progettazione per la sicurezza
9.5 ATTACCHI DALL'ESTERNO DEL SISTEMA
9.5.1 Scenari di danni causati da virus
9.5.2 Come agiscono i virus
9.5.3 Come si diffondono i virus
9.5.4 Tecniche antivirus ed anti-antivirus
9.5.5 Il Worm di Internet
9.5.6 Codice mobile
9.5.7 Sicurezza in Java
9.6 MECCANISMI DI PROTEZIONE
9.6.1 Domini di protezione
9.6.2 Liste di controllo degli accessi
9.6.3 Capability
9.7SISTEMI FIDATI
9.7.1 Basi di calcolo fidate (TCB)
9.7.2 Modelli formali di sistemi sicuri
9.7.3 Sicurezza multilivello
9.7.4 L'Orange Book
9.7.5 Canali nascosti
9.8 RICERCHE SULLA SICUREZZA
9.9. SOMMARIO

10 CASO DI STUDIO 1: UNIX E LINUX
10.1 LA STORIA DI UNIX
10.1.1 UNICS
10.1.2 UNIXdel PDP-11
10.1.3 UNIX portabile
10.1.4 UNIX di Berkeley
10.1.5 UNIX standard
10.1.6 MINIX
10.1.7 Linux
10.2 PANORAMICA DI UNIX
10.2.1 Obiettivi di UNIX
10.2.2 Interfacce con UNIX
10.2.3 La shell di UNIX
10.2.4 Programmi di utilità di UNIX
10.2.5 Struttura del kermel
10.3 PROCESSI DI UNIX
10.3.1 Concetti di base
10.3.2 Chiamate di sistema per la gestione dei processi in UNIX
10.3.3 Implementazione dei processi in UNIX
10.3.4 Avviare UNIX
10.4 IL MODELLO DI MEMORIA DI UNIX
10.4.1 Concetti di base
10.4.2 Chiamate di sistema per la gestione della memoria in UNIX
10.4.3 Implementazione della gestione della memoria in UNIX
10.5 INPUT/OUTPUT IN UNIX
10.5.1 Concetti di base
10.5.2 Chiamate di sistema per l'I/O in UNIX
10.5.3 Implementazione dell'I/O in UNIX
10.5.4 Stream
10.6 IL FILE SYSTEM DI UNIX
10.6.1 Concetti di base
10.6.2 Chiamate di sistema per i file in UNIX
10.6.3 Implementazione del file system di UNIX
10.6.4 NFS: il file system di rete
10.7 LA SICUREZZA IN UNIX
10.7.1 Concetti di base
10.7.2 Chiamate di sistema di sicurezza in UNIX
10.7.3 Implementazione della sicurezza in UNIX
10.8 SOMMARIO

11 CASO DI STUDIO 2: WINDOWS 2000
11.1 STORIA DI WINDOWS 2000
11.1.1 MS-DOS
11.1.2 Windows 95/98/Me
11.1.3 Windows NT
11.1.4 Windows 2000
11.2 PROGRAMMARE IN WINDOWS 2000
11.2.1 L'interfaccia di programmazione delle applicazioni (API) Win 32
11.2.2 Il registro
11.3 LA STRUTTURA DEL SISTEMA
11.3.1 La struttura del sistema operativo
11.3.2 Implementazione degli oggetti
11.3.3 Sottosistemi di ambiente
11.4 I PROCESSI ED I THREAD IN WINDOWS 2000
11.4.1 Concetti base
11.4.2 Chiamate API per la gestione di job, processi, thread e thread leggeri
11.4.3 Implementazione dei processi e dei thread
11.4.4 L'emulazione di MS-DOS
11.4.5 Avviare Windows 2000
11.5 LA GESTIONE DELLA MEMORIA
11.5.1 Concetti di base
11.5.2 Le chiamate di sistema per la gestione della memoria
11.5.3 Implementazione della gestione della memoria
11.6 INPUT/OUTPUT IN WINDOWS 2000
11.6.1 Concetti fondamentali
11.6.2 Chiamate API di Input/Output
11.6.3 Implementazione dell'I/O
11.6.4 I driver di dispositivi
11.7 IL FILE SYSTEM DI WINDOWS 2000
11.7.1 Concetti fondamentali
11.7.2 Le chiamate API del file system in Windows 2000
11.7.3 Implementazione del file system di Windows 2000
11.8 LA SICUREZZA IN WINDOWS 2000
11.8.1 Concetti fondamentali
11.8.2 Chiamate API di sicurezza
11.8.3 Implementazione della sicurezza
11.9 CACHING IN WINDOWS 2000
11.10 SOMMARIO

12 PROGETTAZIONE DI UN SISTEMA OPERATIVO
12.1 LA NATURA DEL PROBLEMA DI PROGETTAZIONE
12.1.1 Obiettivi
12.1.2 Perchè è complicato progettare un sistema operativo?
12.2 PROGETTAZIONE DELL'INTERFACCIA
12.2.1 Principi guida
12.2.2 Paradigmi
12.2.3 L'interfaccia per le chiamate di sistema
12.3 IMPLEMENTAZIONE
12.3.1 Struttura del sistema
12.3.2 Meccanismi contro politiche
12.3.3 Ortogonalità
12.3.4 Assegnazione dei nomi
12.3.5 Tempo di binding
12.3.6 Strutture statiche contro strutture dinamiche
12.3.7 Implementazione top-down contro l'implementazione bottom-up
12.3.8 Tecniche utili
12.4 PRESTAZIONI
12.4.1 Perchè i sistemi operativi sono lenti?
12.4.2 Che cosa dovrebbe essere ottimizzato?
12.4.3 Compromessi tra spazio e tempo
12.4.4 L'utilizzo della cache
12.4.5 Suggerimenti
12.4.6 Sfruttare la località
12.4.7 Ottimizzare il caso comune
12.5 GESTIONE DEL PROGETTO
12.5.1 The Mythical Man Month
12.5.2 Strutture del gruppo di lavoro
12.5.3 Il ruolo dell'esperienza
12.5.4 Nessuna pallottola è d'argento
12.6 TENDENZE NELLA PROGETTAZIONE DI UN SISTEMA OPERATIVO
12.6.1 Sistemi operativi con grande spazio di indirizzamento
12.6.2 Reti
12.6.3 Sistemi paralleli e distribuiti
12.6.4 Sistemi multimediali
12.6.5 Computer alimentati a batteria
12.6.6 Sistemi embedded
12.7 SOMMARIO

13 LETTURE CONSIGLIATE E BIBLIOGRAFIA
13.1 SUGGERIMENTI PER ULTERIORI LETTURE
13.1.1 Introduzione e opere generali
13.1.2 Processi e thread
13.1.3 Deadlock
13.1.4 Gestione della memoria
13.1.5 Input/Output
13.1.6 File system
13.1.7 Sistemi operativi multimediali
13.1.8 Sistemi a processori multipli
13.1.9 Sicurezza
13.1.10UNIX e Linux
13.1.11 Windows 2000
13.1.12 Principi di progettazione
13.2 BIBLIOGRAFIA ALFABETICA

INDICE ANALITICO
NOTE SULL'AUTORE



  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