Programma A.A. 2005/2006 Progetto di Sistemi Operativi 4 GESTIONE DELLA MEMORIA 4.1 POLITICHE DI GESTIONE DELLA MEMORIA 4.3 SISTEMI DI MULTIPROGRAMMAZIONE IN MEMORIA VIRTUALE 4.3.1 Paginazione 4.3.2 Segmentazione 4.3.4 Paginazione a richiesta 4.3.5 Algoritmi e Strategie per la Sostituzione di Pagine 5 SCHEDULING DEI JOB 5.1 TIPI DI SCHEDULING 5.3 MODELLI DETERMINISTICI 5.4 LEGGE DI LITTLE 5.5 MODELLI STOCASTICI 5.5.1 Scheduling FIFO 5.5.2 Scheduling Round Robin 5.5.5 Strategia UNIX per la schedulazione 5.7 Analisi operazionale 5.7.6 Bottleneck Analysis 6 GESTIONE DEI DISPOSITIVI DI I/O 6.1 DISPOSITIVI DI I/O 6.2 IL SOTTOSISTEMA DI I/O 6.2.1 Gestione dell'I/O mediante DMA 6.2.2 Elaboratore di Canale e Processori di I/O 6.2.3 Esempio Di I/O Management: Gestione Di Un Terminale Alfanumerico 6.3 I/O BUFFERING 6.4 GESTIONE DELL'I/O SU DISCO 6.4.5 Politiche di Scheduling del Disco 6.5 SOTTOSISTEMA DI I/O DI UNIX 6.5.1 Configurazione del Sistema 6.5.4 Driver dei Terminali 6.5.5 Buffer Cache 7 FILE SYSTEM 7.1 DIRECTORY 7.2 ORGANIZZAZIONE DEI FILE SU DISCO 7.3 RAPPRESENTAZIONE INTERNA DEI FILE IN UNIX 7.3.2 Struttura di un file normale 7.3.3 Directory 7.3.4 Super blocco 7.3.5 Allocazione di blocchi di disco 7.3.6 Chiamate di sistema del File System 7.3.6.1 OPEN 7.3.6.2 READ 7.3.6.3 WRITE 7.3.6.4 LSEEK 7.3.6.5 CLOSE 7.3.6.6 CREAT 7.3.6.7 MKNOD 7.3.6.8 CHDIR 7.3.6.9 CHROOT 7.3.6.10 CHHOWN e CHMOD 7.3.6.11 STAT e FSTAT 7.3.6.12 PIPE 7.3.6.13 DUP 7.3.6.14 MOUNT 7.3.6.15 LINK 7.3.6.16 UNLINK 7.3.8 Locking di file 8 PROTEZIONE DELLE INFORMAZIONI 8.1 PRINCIPI GENERALI DI PROGETTO 8.2 AUTENTICAZIONE 8.3 MECCANISMI DI PROTEZIONE 8.4 SICUREZZA 9 SISTEMI DISTRIBUITI 9.1 MOTIVAZIONI 9.5 SISTEMI DISTRIBUITI E SISTEMI OPERATIVI 9.5.1.1 File Transfer 9.5.3 Primitive di Sincronizzazione in Ambito Distribuito 9.5.3.1 Ordinamento di Eventi 9.5.3.2 Sincronizzazione e Mutua Esclusione 9.6 SUPPORTO AL NETWORKING IN AMBIENTE UNIX 9.6.1 Socket Interface 9.6.2 Esempio di Utilizzo dei Socket e RPC Programma A.A. 2005/2006 Esercitazioni in aula Progetto di Sistemi Operativi Files open I/O su terminale Controllo Terminale di controllo Gestione direttori e file Controllo dei processi exec wait ed exit Tiny Shell: Shell di comandi semplificata Daemon Testi consigliati Silbershatz A., Galvin. P. " Sistemi Operativi ", Addison-Wesley Publishing Company, Quinta Edizione Cornes, P. "The Linux A-Z", Prentice Hall Approfondimenti Maurice Bach "The design of the UNIX Operating System'', Prentice Hall W.R. Stevens "Advanced programming in the UNIX Environment", Addison-Wesley Publishing Company "Unix Network Programming", Prentice Hall