Classe 4° R - Informatica progetto Abacus PROGRAMMAZIONE DELLE ATTIVITA’ DISCIPLINARI Materia SISTEMI DI ELABORAZIONE E TRASMISSSIONE DELL’INFORMAZIONE Docente Teorico Prof. Giampaola Genta Docente Tecnico Pratico Prof. Gabriele Lilli Libri di testo adottati Titolo: SISTEMI 2 I sistemi operativi Autore: A. Lorenzi – E. Cavalli – R. Giupponi Editore: Atlas Titolo: SISTEMA OPERATIVO LINUX E AMMINISTRAZIONE DELLA RETE Autore: A. Lorenzi – R. Giupponi Editore: Atlas Ore settimanali di lezione: 6 (3 di teoria e 3 di laboratorio) Ore di lezione previste nell’anno scolastico 2008/09 : 198 ARGOMENTI QUALIFICANTI DEL PROGRAMMA Obiettivi Lo studente al termine dell’anno scolastico sarà in grado di scegliere, installare e gestire un sistema operativo professionale basandosi sulle seguenti competenze acquisite: conoscenza dell’architettura dei calcolatori; analisi dei requisiti Hardware differenze tra software di sistema e software applicativo; cos’è e da cosa è formato un sistema operativo; sistemi operativi multitasking e timesharing; gestione dei processi; gestione della memoria; programmazione concorrente sistemi operativi linux e windows. preparazione dei dischi installazioni locali e remote analisi dei fabbisogni informativi e di sicurezza scelta, installazione e gestione della configurazione operativa Contenuti TEMPI 10h. 15h. 22h. CONTENUTI INTRODUZIONE AI SISTEMI OPERATIVI Risorse hardware e software del computer Caratteristiche dei primi Sistemi Operativi: esecuzione monoprogrammata dei programmi Sistemi Operativi multi programmati Sistemi time sharing e sistemi basati sulla priorità Funzioni e struttura del sistema operativo Architettura del computer La memoria cache e la gerarchia delle memorie GESTIONE DEI PROCESSI Definizione di processo Le interruzioni; esecuzione di interruzioni multiple Programmi e processi; stati di un processo e transizione di stato; lo stato sospeso Le strutture per gestire i processi; il cambiamento di contesto I Thread Schedulazione dei processi Algoritmi di schedulazione ESECUZIONE CONCORRENTE DEI PROCESSI Competizione e cooperazione tra processi Mutua esclusione e sincronizzazione L’approccio software al problema della mutua esclusione; l’algoritmo di Peterson Soluzioni hardware; l’istruzione di scambio I semafori Problemi caratteristici con i processi concorrenti; il problema del produttoreconsumatore OBIETTIVI Imparare gli aspetti fondamentali dei Sistemi Operativi e le linee evolutive degli anni recenti. Conoscere il significato dei concetti e dei termini di uso comune. Utilizzare un linguaggio di progetto per descrivere i componenti e le funzionalità di un Sistema Operativo Imparare i concetti di processo, interruzione e thread Distinguere i diversi stati di un processo e le transizioni da uno stato all’altro Comprendere le diverse politiche di schedulazione dei processi Conoscere gli aspetti riguardanti l’esecuzione di processi in modo concorrente Costruire programmi per gestire i più comuni problemi di mutua esclusione e di sincronizzazione tra processi 20h. 20h. 18h. 93h Monitor e scambio di messaggi; le regioni critiche condizionali Lo stallo GESTIONE DELLA MEMORIA La rilocazione dei processi e la catena di programmazione Multiprogrammazione e gestione della memoria; algoritmi di allocazione dei processi nei sistemi a partizioni variabili La paginazione La memoria virtuale; la segmentazione Gestione delle pagine nella memoria virtuale GESTIONE DELL’INPUT/OUTPUT Architettura di Input/Output Operazioni di I/O, moduli di I/O e controllori; accesso diretto alla memoria e le architetture DMA Software di Input/Output I dischi magnetici e la schedulazione del braccio del disco; la tecnologia dei dischi e la registrazione a zone dei dati I dischi RAID; uso della parità nei dischi RAID GESTIONE DELLE INFORMAZIONI I file Struttura del file system e metodi di accesso; organizzazione dei file per l’accesso a chiave File system logico Struttura e organizzazione dei file; consistenza del file system ESERCITAZIONI DI LABORATORIO L’attività di laboratorio è finalizzata all’applicazione delle conoscenze teoriche all’utilizzo pratico del sistema operativo Linux, partendo dalla shell dei comandi Il sistema operativo Linux: la linea comandi o o o o o o L’interprete di comandi I comandi per la gestione di file e directory I permessi sui file L’editor vi Comandi per la gestione delle stampe Programmi di utilità per la scrivania Conoscere le modalità con le quali viene effettuata la rilocazione dei processi nella memoria Imparare le diverse tecniche per la gestione della memoria e le politiche implementate dal Sistema Operativo Conoscere le funzioni svolte dal Sistema Operativo per gestire l’Input/Output Imparare quali sono le architetture di I/O nei sistemi di elaborazione moderni Essere in grado di descrivere le operazioni di I/O e gli algoritmi utilizzati per rendere efficiente l’uso dei controllori e delle unità periferiche (in particolare dei dischi) Imparare le principali caratteristiche dei file e gli aspetti di base della loro organizzazione Conoscere l’architettura del file system e delle sue principali componenti Essere in grado di classificare i metodi di accesso ai file Imparare le modalità di gestione delle informazioni che descrivono i file e dello spazio su disco allocato ai file Saper applicare i concetti acquisiti nelle lezioni teoriche o o o o Il sistema operativo Linux: la programmazione nella shell o o o o o o o o o o o o L’ambiente grafico di Linux L’accesso al sistema Il mouse Il desktop L’interfaccia standard delle applicazioni Multitasking e desktop virtuale Il pannello degli strumenti; personalizzazione del pannello Il menu di avvio delle applicazioni; personalizzazione del menu La gestione delle risorse e dei file Amministrazione del sistema La Guida in linea Gestione degli utenti e delle risorse o o o o o o Programmazione della shell Le variabili nella shell Le variabili di sistema L’output di dati e messaggi Le substitution Gli operatori aritmetici Espressioni condizionali Le strutture di selezione e di ripetizione I processi attivati dal sistema operativo Il software di sistema Le protezioni e la sicurezza Organizzazione fisica e logica dei file Avvio e arresto del sistema Open Source e distribuzioni Linux Il progetto Gnu e il software libero Installazione del sistema operativo Le versioni Linux Live L‘interfaccia grafica o o o o o o o La ridirezione di input e output Le pipiline I filtri sui file Comandi per la gestione del sistema e delle periferiche Utenti e gruppi La gestione degli utenti con l’interfaccia grafica La gestione dei processi; la gestione dei processi con l’interfaccia grafica Le periferiche La gestione dei filesystem; configurare il file system; il file system virtuale Pacchetti software e dipendenze; l’interfaccia grafica per la gestione dei pacchetti software Server per le reti e per il web o Gli aspetti essenziali della tecnologia web o Le porte o Gli host della rete o La risoluzione dei nomi di dominio o Il trasferimento dei file o Il server Web o o Il server Apache La posta elettronica o o o o o o o L’accesso remoto Il file system di rete Il server per le stampanti La condivisione di risorse L’assegnazione dinamica di indirizzi IP; configurare dhcp3 Il proxy server Il firewall Metodi di insegnamento Gli argomenti teorici saranno trattati prevalentemente con lezioni frontali. Lo svolgimento degli esercizi sarà effettuato sia con lezioni frontali che con lezioni partecipate. Le esercitazioni pratiche di laboratorio saranno effettuate individualmente. Mezzi e strumenti di lavoro Oltre i tradizionali metodi di insegnamento saranno utilizzate le strumentazioni informatiche multimediali del laboratorio. Spazi Aula e Laboratorio di sistemi. Tempi Vedi tabella precedente. Strumenti di verifica Per la verifica dell’apprendimento degli argomenti trattati saranno effettuate verifiche sommative, scritte e orali, formative ed esercitazioni di laboratorio. Le verifiche formative riguarderanno soprattutto la parte dello svolgimento degli esercizi in preparazione delle prove scritte e di laboratorio. Sono previste tre verifiche scritte e due orali nel primo quadrimestre. Sono previste almeno quattro verifiche scritte e due orali nel secondo quadrimestre. Le verifiche saranno articolate su quesiti a risposta aperta o multipla e sulla soluzione di esercizi. Le verifiche di laboratorio saranno costituite da soluzione di esercizi relativi alle applicazioni affrontate.