CdL in Ingegneria Elettronica e delle Telecomunicazioni CdLM in Telecomunicazioni Fondamenti dei S.O. (6CFU) Capitolo 0 : Introduzione al corso Giacomo PISCITELLI Qual è la funzione di un sistema operativo? Un sistema di calcolo: vista astratta e componenti. Che cosa è, cosa fa e come è fatto un sistema operativo. I pre-requisiti per la frequentazione del corso. Il materiale didattico. Il programma del corso. Il rapporto con gli studenti. Gli esami. Alcuni utili consigli per il corso. Fondamenti dei SO: 0. Presentazione del corso G. Piscitelli 2 IL SISTEMA OPERATIVO ... è l’insieme dei programmi che agisce come intermediario tra un utente (o un programma) del computer e l’hardware INTERFACE KERNEL Hardware Il sistema operativo consente, in generale, l’utilizzo di un calcolatore monoprocessore da parte di più utenti «contemporaneamente». Fondamenti dei SO: 0. Presentazione del corso G. Piscitelli 3 IL SISTEMA OPERATIVO … il suo scopo è quello di rendere agevole l’uso dell’hardware, mascherando le caratteristiche delle risorse fisiche (interfaccia) gestire e allocare le risorse fisiche ottimizzandone l’uso con opportune politiche, controllare l’esecuzione dei programmi e condividere correttamente (nel tempo e nello spazio) le operazioni sulle risorse del sistema. (nucleo o kernel) Eseguire i programmi degli utenti INTERFACE KERNEL Hardware Fondamenti dei SO: 0. Presentazione del corso G. Piscitelli 4 Fondamenti dei SO: 0. Presentazione del corso G. Piscitelli 5 Hardware – fornisce le risorse computazionali di base: (CPU, memoria, dispositivi di I/O). Sistema operativo – controlla e coordina l’uso dell’hardware da parte dei programmi e dei diversi utenti Altri programmi di sistema (cioè indipendenti dall’applicazione, come compilatori, editor, etc., forniti con il sistema operativo) Programmi applicativi — definiscono il modo in cui le risorse del sistema sono usate per risolvere i problemi computazionali dell’utente (database, videogiochi, programmi di produttività personale,. . .) Utenti (persone, macchine, altri calcolatori) Fondamenti dei SO: 0. Presentazione del corso G. Piscitelli 6 A partire dagli anni ’50, si sono succeduti centinaia di SO, ciascuno dei quali con caratteristiche, funzioni ed obiettivi diversi: per rendere più conveniente l’uso del calcolatore, per renderne più efficiente il funzionamento, per rendere più facile il suo uso, per rendere possibile lo sviluppo di applicazioni in tempo reale stretto (hard real-time), …… Inizialmente ….. … per comprendere che cosa è un SO, ne esamineremo in breve l’evoluzione negli anni; … per sapere che cosa fa un SO, ne illustreremo le principali funzioni in rapporto a quelle del processore in cui opera; … per conoscere come è fatto un SO, ne studieremo l’architettura. Fondamenti dei SO: 0. Presentazione del corso G. Piscitelli 7 Conoscere i componenti di un processore (CPU, Memoria centrale, Bus, Controllori, Dispositivi), la struttura interna di ciascuno di essi, il loro modo di funzionare e la modalità di esecuzione di un programma. Saper descrivere un algoritmo con un linguaggio strutturato o grafico (flow-chart). Saper tradurre un algoritmo descritto nella forma anzidetta in un linguaggio di programmazione (preferibilmente il linguaggio C) Conoscere l’organizzazione e l’uso dei dati sui supporti di memorizzazione secondaria Conoscere le principali strutture di dati e le relative modalità di memorizzazione e manipolazione Essere familiare con l’uso di Internet. Fondamenti dei SO: 0. Presentazione del corso G. Piscitelli 8 • Il libro di testo consigliato Operating System Concepts A. Silberschatz, P.B. Galvin, G. Gagne 9th Edition International Student Version, WILEY, March 2013, ©2013 Edizione in italiano Sistemi operativi: Concetti ed esempi oppure Sistemi operativi con esempi . . . . dalla 6° edizione in poi, APOGEO education • • • • • Articoli tratti da riviste (*) Appunti e letture consigliate (*) Copia dei lucidi (*) Esercizi svolti (*) Tracce degli esercizi assegnati alle precedenti prove scritte (*) (*) cfr. lo “scaffale” del docente sul sito www-ictserv.poliba.it/piscitelli/scaffale.htm Fondamenti dei SO: 0. Presentazione del corso G. Piscitelli 9 • Lezioni teoriche: Struttura di un sistema di calcolo e architettura/funzionamento di un sistema operativo: evoluzione, interfaccia, modelli del nucleo: 6 ore; Attività computazionali (job, job-step, task) e stati di un’attività computazionale: 2 ore; Nucleo e componenti del nucleo: 8 ore; Politiche di gestione delle risorse: 8 ore; Gestione dei processi: concorrenza, cooperazione, blocco critico, comunicazione: 8 ore; cenni di protezione e sicurezza informatica o di sistemi in tempo reale: 4 ore. • Esercitazioni: relative alle caratteristiche dei S.O. WINDOWS, LINUX e ANDROID: 6 ore • Laboratorio: Installazione ed uso sul proprio sistema di calcolo di una distribuzione di LINUX: 8 ore Fondamenti dei SO: 0. Presentazione del corso G. Piscitelli 10 • Il rapporto con gli studenti viene incoraggiato attraverso il dialogo diretto durante le ore di lezione e quelle di ricevimento, ma anche, per i più “ritrosi”, attraverso la posta elettronica. • L’informazione su date e orari del ricevimento, nonché sugli esami (date, orari, aule, ecc.) è reperibile nella “bacheca” virtuale del sito www-ictserv.poliba.it/piscitelli/bacheca.htm • Notizie dell’ultima ora (rinvii degli esami, cambi di orari ed aule) sono fornite nelle “warm news” del sito www-ictserv.poliba.it/piscitelli/news.htm Fondamenti dei SO: 0. Presentazione del corso G. Piscitelli 11 L’esame consiste in una prova scritta e, ove richiesta, in una prova orale, relativa ai contenuti del programma ufficiale dell'anno accademico corrente. Non sono previste prove intermedie o di “esonero”. Gli appelli d’esame sono dislocati, di norma, in 5 sessioni: al termine del 1° semestre (2 appelli), al termine del 2° semestre (2 appelli), dopo la pausa estiva (2 appelli) e nelle pause di maggio e novembre. Gli studenti che, in una prova scritta di una sessione d’esame, riportano una votazione inferiore a 8/30, sono invitati a presentarsi alla sessione successiva. Fondamenti dei SO: 0. Presentazione del corso G. Piscitelli 12 • Seguire le lezioni! Ascoltarla in diretta e non in differita (diffidate delle registrazioni) • Studiare sul libro e mai solo e soltanto sulle slide! • Domandarsi sempre quali sono i vantaggi e gli svantaggi delle soluzioni proposte • Non aver paura di: Fare la domanda sbagliata in aula Dare la risposta sbagliata in aula • Proporre alternative! • Studiare in gruppo (due o tre) Fondamenti dei SO: 0. Presentazione del corso G. Piscitelli 13