Università di Bologna Laurea in Ingegneria Informatica A.A...
Transcript of Università di Bologna Laurea in Ingegneria Informatica A.A...
![Page 1: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/1.jpg)
Sistemi Operativi T - AA 2009-2010 1
Università di BolognaUniversità di BolognaLaurea in Ingegneria InformaticaLaurea in Ingegneria Informatica
A.A. 200A.A. 20099-2010-2010Sistemi Operativi TSistemi Operativi T
Prof. Anna Ciampolini
http://lia.deis.unibo.it/Courses/sot0910
![Page 2: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/2.jpg)
Sistemi Operativi T - AA 2009-2010 2
Obiettivi del CorsoObiettivi del Corso Fornire i principali concetti alla base
della teoria dei sistemi operativiteoria dei sistemi operativi Illustrare le caratteristiche di alcunisistemi operativi reali (UNIX,GNU/Linux e Windows XP) e gli strumentia disposizione di utenti e programmatori per illoro utilizzo
Sperimentare ampiamente in laboratoriolaboratorioi concetti e gli strumenti visti in aula
![Page 3: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/3.jpg)
Sistemi Operativi T - AA 2009-2010 3
Capacità richieste in ingresso:Capacità richieste in ingresso: conoscenza dei linguaggi C e Java fondamenti di architettura degli elaboratori
Capacità ottenute in uscita:Capacità ottenute in uscita: conoscenza dei concetti alla base dei sistemi
operativi moderni conoscenza delle soluzioni realizzative adottate
nei più diffusi sistemi operativi moderni capacità di sviluppare programmi di sistema e
applicazioni principalmente in ambienteUNIX/Linux.
Capacità di sviluppo di applicazioni concorrentiin java
![Page 4: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/4.jpg)
Sistemi Operativi T - AA 2009-2010 4
Argomenti trattatiArgomenti trattati Che cos’è un sistema operativo: ruolo e funzionalità Organizzazione e struttura di un sistema operativo Gestione dei Processi Interazione tra processi mediante memoria condivisa
e scambio di messaggi Cenni di sincronizzazione dei processi Gestione della memoria Gestione del file system Gestione dei dispositivi di Input/Output Protezione delle risorse Strumenti e metodi per la programmazione
concorrente
![Page 5: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/5.jpg)
Sistemi Operativi T - AA 2009-2010 5
Panoramica sul CorsoPanoramica sul Corso
Introduzione:Introduzione:• Che cos’è un sistema operativo: ruolo,
funzionalità e struttura• Evoluzione dei sistemi operativi: batch,multiprogrammazione, time-sharing
• Richiami sul funzionamento di un elaboratore:interruzioni e loro gestione, I/O, modi difunzionamento single e dual, system call
![Page 6: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/6.jpg)
Sistemi Operativi T - AA 2009-2010 6
Panoramica sul CorsoPanoramica sul Corso
Organizzazione di un sistema operativo:Organizzazione di un sistema operativo:• Funzionalità• Classificazione in base a struttura: sistemimonolitici, modulari, sistemi stratificati,microkernel, macchine virtuali
• Cenni introduttivi di organizzazione efunzionalità del sistema operativoUNIX/Linux
• Cenni introduttivi di organizzazione efunzionalità del sistema operativoWindowsXP
![Page 7: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/7.jpg)
Sistemi Operativi T - AA 2009-2010 7
Panoramica sul CorsoPanoramica sul CorsoGestione dei Processi:Gestione dei Processi:
• Concetto di processo e sua rappresentazione nelsistema operativo:Processi pesantiProcessi leggeri (thread)
• Stati di un processo• Gestione dei processi pesanti/leggeri da parte del
SO• Operazioni sui processi• Classificazione dei processi• La gestione dei processi in UNIX/Linux: stati,
rappresentazione, gestione (scheduling), operazioni ecomandi relativi ai processi
• Java thread e memoria condivisa
![Page 8: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/8.jpg)
Sistemi Operativi T - AA 2009-2010 8
Panoramica sul CorsoPanoramica sul Corso
Scheduling Scheduling della CPU :della CPU :• Concetti generali: code, preemption,dispatcher
• Criteri di scheduling• Algoritmi di scheduling: FCFS, SJF, con
priorità, round-robin, con code multiple, …• Scheduling in UNIX/Linux e MSWinXP
![Page 9: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/9.jpg)
Sistemi Operativi T - AA 2009-2010 9
Panoramica sul CorsoPanoramica sul Corso
Interazione tra processi:Interazione tra processi: Mediante memoria condivisa Mediante memoria condivisa
Cenni sul problema della sincronizzazione traprocessi. Il semaforo.
Mediante scambio di messaggiMediante scambio di messaggi• Comunicazione
diretta/indiretta,simmetrica/asimmetrica,buffering
• Interazione tra processi UNIX: comunicazionemediante pipe e fifo, sincronizzazione tramite segnali
![Page 10: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/10.jpg)
Sistemi Operativi T - AA 2009-2010 10
Panoramica sul CorsoPanoramica sul Corso
Gestione della memoria:Gestione della memoria: Spazi degli indirizzi e binding Allocazione della memoria
• Contigua: a partizione singola e partizionimultiple; frammentazione;
• Non contigua: paginazione,segmentazione
Memoria virtuale Gestione della memoria in UNIX e
GNU/Linux.
![Page 11: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/11.jpg)
Sistemi Operativi T - AA 2009-2010 11
Panoramica sul CorsoPanoramica sul CorsoGestione dei dispositivi di I/O:Gestione dei dispositivi di I/O:Il sottosistema di I/O: funzioni e
meccanismi. Driver di dispositivi.
Gestione del file system:Gestione del file system:File system e sua realizzazione. Metodi di
accesso e di allocazione.Il file system di UNIX: organizzazione logica
e fisica, comandi e system call per lagestione e l’accesso a file/direttori
![Page 12: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/12.jpg)
Sistemi Operativi T - AA 2009-2010 12
Panoramica sul CorsoPanoramica sul Corso
Protezione:Protezione:• Modelli, politiche e meccanismi di protezione.• Domini di protezione• Matrice di accesso• Controllo degli accessi• Sistemi basati su capability
![Page 13: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/13.jpg)
Sistemi Operativi T - AA 2009-2010 13
Panoramica sul CorsoPanoramica sul Corso
Programmazione concorrente:Programmazione concorrente:• Algoritmi non sequenziali e programmi
concorrenti• Proprietà di programmi concorrenti• Il deadlock• Il problema della mutua esclusione• Strumenti linguistici per la sincronizzazione
nel modello a memoria comune: il monitor• Monitor in java
![Page 14: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/14.jpg)
Sistemi Operativi T - AA 2009-2010 14
Percorso didatticoPercorso didattico• Argomenti teorici• Esemplificazioni: sui sistemi operativi
UNIX/Linux e MSWinXP, sia tramiteprogrammazione di sistema in linguaggio C chetramite sviluppo di file comandi in shell e diapplicazioni concorrenti in Java
• Esercitazioni:Attività in laboratorioAttività in laboratorio
![Page 15: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/15.jpg)
Sistemi Operativi T - AA 2009-2010 15
Attività in laboratorioAttività in laboratorio• Esattamente come le lezioni in aula, èparte integrante dell’attivitàdidattica!
• Ogni settimana verrà svolta in Lab4 unaesercitazione su argomenti trattati in aula.
• Le esercitazioni cominciano lunedì 1 Marzo• L’attività sarà assistita da un tutortutor:
IngIng. Stefano Monti. Stefano Monti
![Page 16: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/16.jpg)
Sistemi Operativi T - AA 2009-2010 16
Attività in laboratorioAttività in laboratorio• Programma:
Uso e amministrazione del sistema GNU/linux Comandi shell: uso e realizzazione di file
comandi (shell scripting) System Calls: realizzazione di programmi di
sistema in linux:• Gestione di processi• Sincronizzazione tra processi• Gestione di file e direttori
Programmazione concorrente: semafori, lock,monitor e variabili condizione.
![Page 17: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/17.jpg)
Sistemi Operativi T - AA 2009-2010 17
Accesso Accesso al al LaboratorioLaboratorio L’attività si svolgerà in Lab4 su sistemi dual-
boot GentooLinux/MSWinXP e su macchinevirtuali CentOS.
Account: sono già attivi per tutti gli studenti• Username determinato in base a matricola ecognome
• Password: è il pin associato al vostro badge
![Page 18: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/18.jpg)
Sistemi Operativi T - AA 2009-2010 18
Una prova “scritta” obbligatoria (in parteteorica e per la maggior parte di sviluppo di codicein Lab4):
• 11 giugno 2010 ore 9-13• 30 giugno 2010 ore 9-13• 12 luglio 2010 ore 9-13
• Una prova orale: Facoltativa, se il voto dello scritto è maggiore
di 22/30 Obbligatoria, se il voto delle prova scritta dopo
il superamento dello scritto è minore o uguale a22/30
EsameEsame
![Page 19: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/19.jpg)
Sistemi Operativi T - AA 2009-2010 19
Materiale DidatticoMateriale Didattico
•• CopiaCopia delle diapositive mostrate a lezione (scaricabili dalle pagineWeb del corso)
•• Libro adottato:Libro adottato:• P. Ancilotti, M. Boari, A. Ciampolini, G. Lipari: Sistemi Operativi
(seconda edizione), McGraw-Hill, 2008.
•• Libri consigliatiLibri consigliati:• A. Silbershatz, P.B. Galvin, G. Gagne: Sistemi Operativi – Concetti
ed Esempi (settima edizione), Pearson, 2006• A. Tanenbaum: I Moderni Sistemi Operativi, Jackson Libri, 2002• H.M. Deitel, P.J. Deitel, D.R. Choffnes: Sistemi Operativi, Pearson,
2005• W. Stallings: Sistemi Operativi, Jackson Libri, 2000• K. Havilland, B. Salama: Unix System Programming, Addison
Wesley, 1987
![Page 20: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/20.jpg)
Sistemi Operativi T - AA 2009-2010 20
Ricevimento StudentiRicevimento Studenti• Anna Ciampolini
martdì ore 11:00-13:00c/o nuovi studi – edificio aule nuove (di fianco
aula 5.7)E-mail: [email protected]
• Stefano Montiper il ricevimento, si prega di contattareanticipatamente il tutor tramite e-mail
E-mail: [email protected]
![Page 21: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/21.jpg)
Sistemi Operativi T - AA 2009-2010 21
Interazione docente-studentiInterazione docente-studenti• Ricevimento• E-mail• Lista di distribuzione del corso: è un servizio del portale di
ateneo che consente di inviare, via e-mail, comunicazioni, messaggi emateriali di approfondimento agli studenti Accesso mediante lo stesso account della “mia e-mail” alla
pagina:
http://www.unibo.it/Portale/Servizi+online/Liste+distribuzione/default.htm
Nome della lista: sot0910Password: gnu
![Page 22: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/22.jpg)
Sistemi Operativi T - AA 2009-2010 22
Orario delle LezioniOrario delle Lezioni
Normalmente:
• Lun 13-16, Lab4: 1 ora di lezione e 2 diEsercitazione.
• Mar 14-16, aula 0.5• Mer 14-16, aula 6.1
Eventuali variazioni verranno comunicate via sito Web emailing list di distribuzione del corso
![Page 23: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/23.jpg)
Sistemi Operativi T - AA 2009-2010 23
Università di BolognaUniversità di BolognaCdSCdS: Laurea Triennale in Ingegneria Informatica: Laurea Triennale in Ingegneria Informatica
A.A. 200A.A. 20077-2008-2008Sistemi Operativi L-ASistemi Operativi L-A
Introduzione ai Sistemi Operativi
![Page 24: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/24.jpg)
Sistemi Operativi T - AA 2009-2010 24
Che cosChe cos’è’è un Sistema Operativo (SO)? un Sistema Operativo (SO)?
È un programma (o un insieme di programmi) cheagisce come intermediario tra l’utente el’hardware del computer:
fornisce un ambiente di sviluppo e diesecuzione per i programmi applicativi
gestisce efficientemente le risorse del sistemadi calcolo
fornisce una visione astratta dell’HW
![Page 25: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/25.jpg)
Sistemi Operativi T - AA 2009-2010 25
SO e HardwareSO e Hardware SO interfaccia programmi applicativi o di
sistema con le risorse HW:- CPU - memoria volatile e persistente- dispositivi di I/O - connessione di rete- dispositivi di comunicazione - …
SO mappa le risorse HW in risorse logicherisorse logiche,accessibili attraverso interfacce bendefinite:
processi (CPU)file system (dischi)memoria virtuale (memoria), ...
![Page 26: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/26.jpg)
Sistemi Operativi T - AA 2009-2010 26
Che cosChe cos’è’è un Sistema Operativo? un Sistema Operativo?
Sistema Operativo
Hardware
Programmi Applicativi
Utenti
![Page 27: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/27.jpg)
Sistemi Operativi T - AA 2009-2010 27
• Un programma che gestisce risorsegestisce risorsedel sistema di calcolo in modocorretto ed efficientecorretto ed efficiente e le allocaalloca aiprogrammi/utenti
• Un programma che innalza il livello dilivello diastrazioneastrazione con cui utilizzare lerisorse logicherisorse logiche a disposizione
Che cosChe cos’è’è un Sistema Operativo? un Sistema Operativo?
![Page 28: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/28.jpg)
Sistemi Operativi T - AA 2009-2010 28
Aspetti importanti di un SOAspetti importanti di un SO StrutturaStruttura: come è organizzato il SO? CondivisioneCondivisione:: quali risorse vengono condivise tra
utenti e/o programmi? In che modo? EfficienzaEfficienza:: come massimizzare l’utilizzo delle
risorse disponibili? AffidabilitàAffidabilità:: come reagisce il SO a
malfunzionamenti (HW/SW)? EstendibilitàEstendibilità:: è possibile aggiungere funzionalità al
sistema? ProtezioneProtezione e SicurezzaSicurezza:: il SO deve impedire
interferenze tra programmi/utenti. In che modo? Conformità a standardConformità a standard:: portabilità, estendibilità,
apertura
![Page 29: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/29.jpg)
Sistemi Operativi T - AA 2009-2010 29
Evoluzione SOEvoluzione SO
Prima generazionePrima generazione (anni ‘50)• linguaggio macchina• dati e programmi su schede perforate
Seconda generazioneSeconda generazione (‘55-’65): sistemi sistemi batch batch semplicisemplici
• linguaggio di alto livello (fortran)• input mediante schede perforate• aggregazione di programmi in lotti (batch)
con esigenze simili
![Page 30: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/30.jpg)
Sistemi Operativi T - AA 2009-2010 30
Sistemi Sistemi batch batch semplicisempliciBatch: insieme di programmi (job) da
eseguire in modo sequenziale
JOB begin$compile
$load$run
JOB end
![Page 31: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/31.jpg)
Sistemi Operativi T - AA 2009-2010 31
Sistemi Sistemi batch batch semplicisempliciCompito di SO (monitor):
trasferimento di controllo da un job (appena terminato)al prossimo da eseguire
Caratteristiche dei sistemi Caratteristiche dei sistemi batch batch semplici:semplici:• SO residente in memoria (monitor)• assenza di interazione tra utente e job• scarsa efficienza: durante l’I/O del job corrente, la CPU
rimane inattiva (lentezza dei dispositivi di I/O meccanici)
AttivitàCPU
tI/O I/O
![Page 32: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/32.jpg)
Sistemi Operativi T - AA 2009-2010 32
Sistemi Sistemi batch batch semplicisempliciIn memoria centrale, ad ogni istante,è caricato (al più) un solo job:
Sistemaoperativo
Jobdi utente
Configurazione dellamemoria centrale in
sistemi batchsemplici
![Page 33: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/33.jpg)
Sistemi Operativi T - AA 2009-2010 33
Spooling (Simultaneous Peripheral Operation On Line):simultaneità di I/O e attività di CPU
disco viene impiegato come buffer molto ampio, dove leggere in anticipo i dati memorizzare temporaneamente i risultati (in attesa che il
dispositivo di output sia pronto) caricare codice e dati del job successivo: -> possibilità di
sovrapporre I/O di un job con elaborazione di un altro job
Sistemi Sistemi batchbatch semplici semplici
cpu outputinput
disco
![Page 34: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/34.jpg)
Sistemi Operativi T - AA 2009-2010 34
Sistemi Sistemi batch batch semplicisemplici
Problemi: finché il job corrente non è terminato, ilsuccessivo non può iniziare l’esecuzione
se un job si sospende in attesa di unevento, la CPU rimane inattivainattiva
non c’è interazione con l’utente
![Page 35: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/35.jpg)
Sistemi Operativi T - AA 2009-2010 35
Sistemi Sistemi batch multiprogrammatibatch multiprogrammatiSistemi Sistemi batch batch semplicisemplici: l’attesa di un evento causa inattività
della CPU. Per evitare il problema
MultiprogrammazioneMultiprogrammazione
Pool di jobPool di job contemporaneamente presenti sudisco:
• Il SO seleziona un sottoinsieme dei jobsottoinsieme dei jobappartenenti al pool da caricare in memoriacaricare in memoriacentralecentrale
• mentre un job è in attesa di un eventoattesa di un evento, ilsistema operativo assegna CPU a un altrojob
![Page 36: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/36.jpg)
Sistemi Operativi T - AA 2009-2010 36
Sistemi Sistemi batch multiprogrammatibatch multiprogrammatiSO è in grado di portare avanti l’esecuzione di piùjob contemporaneamente.
Ad ogni istante:•• un solo jobun solo job utilizza la CPU•• più job,più job, appartenenti al pool selezionato e caricati in
memoria centrale, attendono di acquisire la CPU
Quando il job che sta utilizzando la CPUsi sospende in attesa di un evento:
• SO decidedecide a quale job assegnare la CPU ed effettua loscambio (schedulingscheduling)
![Page 37: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/37.jpg)
Sistemi Operativi T - AA 2009-2010 37
Sistemi Sistemi batch multiprogbatch multiprog.: .: schedulingscheduling
SO effettua delle scelteSO effettua delle scelte tra tutti i job quali job caricare in memoria centrale:schedulingscheduling dei job dei job (long-term scheduling)
a quale job assegnare la CPU: schedulingschedulingdella CPUdella CPU o (short-term scheduling)
Memoria centrale CPUdisco
Schedulingdei job
Schedulingdella CPU
![Page 38: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/38.jpg)
Sistemi Operativi T - AA 2009-2010 38
Sistemi Sistemi batch multiprogrammatibatch multiprogrammati
tt22tt11 t
job1
job2
job3
t0
Attesa di eventiUsoCPU
![Page 39: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/39.jpg)
Sistemi Operativi T - AA 2009-2010 39
Sistemi Sistemi batch multiprogrammatibatch multiprogrammati
In memoria centrale, ad ogniistante, possono essere caricati piùjob:
Configurazione dellamemoria centrale in
sistemi batchmultiprogrammati
Necessità diNecessità diprotezioneprotezione
SistemaOperativo
job 1
job 2
job 3
![Page 40: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/40.jpg)
Sistemi Operativi T - AA 2009-2010 40
Sistemi Sistemi time-sharing time-sharing ((MulticsMultics, 1965, 1965))Nascono dalla necessità di:
•• interattivitàinterattività con l’utente•• multi-utenzamulti-utenza: : più utenti interagiscono
contemporaneamente con SO
Sistema Operativo
Hardware
Utente 1 Utente 2 Utente n
![Page 41: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/41.jpg)
Sistemi Operativi T - AA 2009-2010 41
Sistemi Sistemi time-sharingtime-sharingMultiutenzaMultiutenza: il sistema presenta ad ogni utente
una macchina virtuale completamentededicata in termini di
• utilizzo della CPU• utilizzo di altre risorse, ad es. file system
InterattivitàInterattività: per garantire un’accettabilevelocità di “reazione” alle richieste dei singoliutenti, SO interrompeinterrompe l’esecuzione di ogni jobdopo un intervallo di tempo prefissato (quantodi tempo, o time slice), assegnando la CPU aun altro job
![Page 42: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/42.jpg)
Sistemi Operativi T - AA 2009-2010 42
Sistemi Sistemi time-sharingtime-sharing
Sono sistemi in cui:Sono sistemi in cui:• attività della CPU è dedicata a job diversi che si
alternano ciclicamente nell’uso della risorsa• frequenza di commutazione della CPU è tale da
fornire l’illusione ai vari utenti di una macchinacompletamente dedicata (macchina virtuale)
Cambio di contestoCambio di contesto (context switch):operazione di trasferimento del controllo da unjob al successivo -> costo aggiuntivo (overhead)
![Page 43: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/43.jpg)
Sistemi Operativi T - AA 2009-2010 43
Sistemi Sistemi time-sharingtime-sharing
job1job2job3CPU
t
job1
job2
job3
t0 tt22 tt33 tt44 tt55tt11
Dt Dt
Attesa di eventi fine del quanto di tempo
![Page 44: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/44.jpg)
Sistemi Operativi T - AA 2009-2010 44
Time-sharingTime-sharing: requisiti: requisiti
•• Gestione/protezioneGestione/protezione della memoria: trasferimenti memoria-disco separazione degli spazi assegnati ai diversi job molteplicità job + limitatezza della memoria
memoria virtualememoria virtuale•• SchedulingScheduling CPU•• Sincronizzazione/comunicazioneSincronizzazione/comunicazione tra job:
• interazione• prevenzione/trattamento di blocchi critici (deadlock)
•• InterattivitàInterattività: accesso on-line al file system perpermettere agli utenti di accedere semplicemente a codice e dati
![Page 45: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/45.jpg)
Sistemi Operativi T - AA 2009-2010 45
Esempi di SOEsempi di SO
MSDOSMSDOS: monoprogrammato, monoutente Windows 95/98, molti SO attuali perWindows 95/98, molti SO attuali per
dispositivi portabili (dispositivi portabili (SymbianSymbian, , PalmOSPalmOS,,AndroidAndroid, , etcetc.).): multiprogrammato (timesharing), tipicamente monoutente
Windows NT/2000/XP2000/XP: multiprogrammato,“multiutente”
MacOSXMacOSX: multiprogrammato, multiutente UNIX/LinuxUNIX/Linux: multiprogrammato, multiutente
![Page 46: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/46.jpg)
Sistemi Operativi T - AA 2009-2010 46
Evoluzione dei concetti nei SOEvoluzione dei concetti nei SO
![Page 47: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/47.jpg)
Sistemi Operativi T - AA 2009-2010 47
Alcuni richiami al funzionamentoAlcuni richiami al funzionamentohardware di un sistema dihardware di un sistema di
elaborazioneelaborazione
![Page 48: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/48.jpg)
Sistemi Operativi T - AA 2009-2010 48
Architettura di un sistema di elaborazioneArchitettura di un sistema di elaborazione
ControllerController: interfaccia HW delle perifericheverso il bus di sistema
CPU
Controllerdischi
Controllermemoria
Controllervideo
Controllerstampante
Memoria
bus
![Page 49: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/49.jpg)
Sistemi Operativi T - AA 2009-2010 49
Hardware di un sistema di elaborazioneHardware di un sistema di elaborazione
Funzionamento a interruzioni:Funzionamento a interruzioni: le varie componenti (HW e SW) del sistema
interagiscono con SO mediante interruzioniasincrone (interrupt)
ogni interruzione è causata da un eventoevento,, ad es.:richiesta di servizi al SOcompletamento di I/Oaccesso non consentito alla memoria
ad ogni interruzione è associata una routine diroutine diservizio servizio (handler) per la gestione dell’evento
![Page 50: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/50.jpg)
Sistemi Operativi T - AA 2009-2010 50
•• Interruzioni hardwareInterruzioni hardware:dispositivi inviano segnali a CPU perrichiedere l’esecuzione di servizi diSO
Interruzioni hardware e softwareInterruzioni hardware e software
•• Interruzioni softwareInterruzioni software::programmi in esecuzione possonogenerare interruzioni SW quando tentano l’esecuzione di
operazioni non lecite (ad es.divisione per 0): trap
quando richiedono l’esecuzionedi servizi al SO - system call
Sistema
Operativo
dispositivo
Segnale di
interrupt
Sistema
Operativo
dispositivo
Segnale di
interrupt
Sistema
Operativo
programma
Interruzione SW
(system call)
![Page 51: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/51.jpg)
Sistemi Operativi T - AA 2009-2010 51
Gestione delle interruzioniGestione delle interruzioniAlla ricezione di un’interruzione, il SO (lo
vedremo in seguito nel dettaglio per il cambio di contesto):1] interrompe la sua esecuzione => salvataggio dello stato in
memoria (locazione fissa, stack di sistema, ...)2] attiva la routine di servizio all’interruzione (handler)3] ripristina lo stato salvato
Per individuare la routine di servizio, si puòutilizzare un vettore delle interruzioni
Routine di
servizioi
Vettore delleinterruzioni
![Page 52: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/52.jpg)
Sistemi Operativi T - AA 2009-2010 52
Input/OutputInput/Output
Come avviene l’I/O in un sistema dielaborazione?
ControllerController: interfaccia HW delle perifericheverso il bus di sistema
ogni controller è dotato di un registro dati (ove memorizzare temporaneamente
le informazioni da leggere o scrivere) alcuni registri speciali , ove memorizzare le specifiche
delle operazioni di I/O da eseguire (reg. controllo) el’esito delle operazioni eseguite (reg. stato).
![Page 53: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/53.jpg)
Sistemi Operativi T - AA 2009-2010 53
Quando un job richiede un’operazione di I/O (adesempio, letturalettura da un dispositivo):
CPU scrive nei registri speciali del dispositivo coinvolto lespecifiche dell’operazione da eseguire
controller esamina i registri e provvede a trasferire i datirichiesti dal dispositivo al registro dati
invio di interrupt alla CPU (completamento deltrasferimento)
CPU esegue l’operazione di I/O tramite la routine di servizio(trasferimento dal registro dati del controller alla memoriacentrale)
driver di dispositivo: driver di dispositivo: componente del SO che copia nei registri del controller le informazioni
relative all’operazione da effettuare è l’unica componente del s.o. device-dependent
(la sua struttura è strettamente dipendente dalparticolare dispositivo controllato)
Input/OutputInput/Output
![Page 54: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/54.jpg)
Sistemi Operativi T - AA 2009-2010 54
2 tipi di I/O2 tipi di I/O Sincrono: il job viene sospeso in attesa del
completamento dell’operazione di I/O Asincrono: il sistema restituisce immediatamente il
controllo al job se necessario, funzionalità
di blocco in attesa dicompletamento dell’I/O
possibilità di più I/O pendenti-> tabella di stato dei dispositivi
I/O asincrono = maggiore efficienza
Input/OutputInput/Output
Disp.1:stampante Rich. di stampa
A
Rich. di stampa
B
Disp.2:disco 1
Disp.3:disco 2
![Page 55: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/55.jpg)
Sistemi Operativi T - AA 2009-2010 55
Il trasferimento tra memoria e dispositivo puòessere effettuato direttamente, senza interventodella CPU
Introduzione di un dispositivo HW per controllareI/O: DMA controllerDMA controller driver di dispositivo (DMA) driver di dispositivo (DMA) componente del
SO che copia nei registri del DMA controller i dati
relativi al trasferimento da effettuare invia comando richiesto al DMA controller
interruptinterrupt alla CPU (inviato dal DMA controller)solo alla fine del trasferimento dispositivo ->memoria, usualmente di grandi quantità di dati
Direct Direct Memory Memory AccessAccess
![Page 56: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/56.jpg)
Sistemi Operativi T - AA 2009-2010 56
Protezione HW degli accessi a risorseProtezione HW degli accessi a risorse
• Nei sistemi che prevedono multiprogrammazione emultiutenza sono necessari alcuni meccanismi HW(e non solo…) per esercitare protezioneprotezione
• Le risorse allocate a programmi/utenti devonoessere protette nei confronti di accessi illecitiaccessi illeciti dialtri programmi/utenti:
dispositivi di I/O memoria CPU
Ad esempio: accesso a locazioni esterne allospazio di indirizzamento del programma
![Page 57: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/57.jpg)
Sistemi Operativi T - AA 2009-2010 57
Protezione della memoriaProtezione della memoria
In un sistema multiprogrammatomultiprogrammato o time time sharingsharing,,ogni job ha un suo spazio di indirizzi: è necessario impedire al programma in
esecuzione di accedere ad aree di memoriaesterne al proprio spazio (ad esempio del SOoppure di altri job)
Sistemaoperativo
Job 1
Job 2
Job 3
Se fosse consentito: unprogramma potrebbe modificarecodice e dati di altri programmi
o, ancor peggio, del SO
![Page 58: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/58.jpg)
Sistemi Operativi T - AA 2009-2010 58
ProtezioneProtezione
Per garantire protezione, moltePer garantire protezione, moltearchitetture di CPU prevedono unarchitetture di CPU prevedono un dupliceduplicemodo di funzionamento (modo di funzionamento (dual dual mode):mode): useruser mode kernelkernel mode (supervisorsupervisor, monitormonitor mode)
Realizzazione:Realizzazione: l’architettura hardware della CPUprevede almeno un bit di modobit di modo
• kernel: 0• user: 1
![Page 59: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/59.jpg)
Sistemi Operativi T - AA 2009-2010 59
Dual Dual modemodeIstruzioni privilegiateIstruzioni privilegiate:: sono quelle più pericolose
e possono essere eseguite soltanto se il sistema sitrova in kernel mode:
• accesso a dispositivi di I/O (dischi,schede di rete, ...)• gestione della memoria (accesso a strutture dati di
sistema per controllo e accesso alla memoria, …)• disabilitazione interruzioni• istruzione di shutdownshutdown (arresto del sistema)• …
![Page 60: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/60.jpg)
Sistemi Operativi T - AA 2009-2010 60
Dual Dual ModeMode SO esegue in modo kernel
Ogni programma utente esegue in user mode:• quando un programma utente tenta l’esecuzione di
una istruzione privilegiata, viene generato un trap
• se necessita di operazioni privilegiate:chiamata a system system callcall
![Page 61: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/61.jpg)
Sistemi Operativi T - AA 2009-2010 61
System System callcall
Per ottenere l’esecuzione di istruzioniprivilegiate, un programma di utente devechiamare una system call:
invio di un’interruzione software al SO salvataggio dello stato (PC, registri, bit di
modo, ...) del programma chiamante e trasferimento del controllo al SO
SO esegue in modo kernelkernel l’operazione richiesta
al termine dell’operazione, il controllo ritornaal programma chiamante (ritorno al modo useruser)
![Page 62: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/62.jpg)
Sistemi Operativi T - AA 2009-2010 62
System System callcall
UserUser mode mode
KernelKernel mode mode
system call: read( )
Interrupt SW(salvataggio dello stato delprogramma utente)
Routine di gestionedell’interruzione
Esecuzione dell’operazionead es. read()
ripristino dellostato delprogramma utente
Programma utente
![Page 63: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/63.jpg)
Sistemi Operativi T - AA 2009-2010 63
ProtezioneProtezioneES: Architettura Intel IA32.• I 2 bit meno significativi del registro CS rappresentano il
livello (ring) di privilegio corrente (Current Privilege Level):
Ring 0 dotato dei maggiori privilegi e quindi destinato alkernel del sistema operativo -> modo kernel
…Ring 3, quello dotato dei minori privilegi e quindi destinato
alle applicazioni utente -> modo user
I sistemi operativi Windows e Linux usano solo il ring 0(kernel mode) e il ring 3 (user mode).
![Page 64: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/64.jpg)
Sistemi Operativi T - AA 2009-2010 64
Introduzione allIntroduzione all’’Organizzazione deiOrganizzazione deiSistemi OperativiSistemi Operativi
![Page 65: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/65.jpg)
Sistemi Operativi T - AA 2009-2010 65
Struttura dei SOStruttura dei SO
Quali sono le componenticomponenti di un SO?• gestione dei processi• gestione della memoria centrale• gestione di memoria secondaria e file system• gestione dell’I/O• protezione e sicurezza• interfaccia utente/programmatore
Quali sono le relazioni mutuerelazioni mutue tra lecomponenti?
![Page 66: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/66.jpg)
Sistemi Operativi T - AA 2009-2010 66
Processo = programma + contesto di esecuzione (PC, registri, …)
ProcessiProcessiProcesso = programma in esecuzione
• il programma è un’entità passiva (uninsieme di byte contenente le istruzioniche dovranno essere eseguite)
• il processo è un’entità attiva:• è l’unità di lavoro/esecuzione all’interno del
sistema. Ogni attività all’interno del SO èrappresentata da un processo
• è l’istanza di un programma in esecuzione
![Page 67: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/67.jpg)
Sistemi Operativi T - AA 2009-2010 67
Gestione dei processiGestione dei processiIn un sistema multiprogrammato: più processi
possono essere simultaneamente presenti nelsistema
Compito cruciale del SOCompito cruciale del SO creazione/terminazione dei processi sospensione/ripristino dei processi sincronizzazione/comunicazione dei processi gestione del blocco critico (deadlock) di processi
![Page 68: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/68.jpg)
Sistemi Operativi T - AA 2009-2010 68
Gestione della memoria centraleGestione della memoria centrale
HW di sistema di elaborazione è equipaggiato con ununico spazio di memoria accessibile direttamente daCPU e dispositivi
Compito cruciale di SOCompito cruciale di SO separare gli spazi di indirizzi associati ai processi allocare/deallocare memoria ai processi memoria virtuale - gestire spazi logici di indirizzi
di dimensioni complessivamente superiori allospazio fisico
realizzare i collegamenti (binding) tra memorialogica e memoria fisica
![Page 69: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/69.jpg)
Sistemi Operativi T - AA 2009-2010 69
Gestione dei dispositivi di I/OGestione dei dispositivi di I/O
Gestione dell’I/O rappresenta unaparte importante di SO:
interfaccia tra programmi e dispositivi per ogni dispositivo: device driver
• routine per l’interazione con un particolaredispositivo
• contiene conoscenza specifica sul dispositivo(ad es., routine di gestione delle interruzioni)
![Page 70: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/70.jpg)
Sistemi Operativi T - AA 2009-2010 70
Gestione della memoria secondariaGestione della memoria secondaria
Tra tutti i dispositivi, la memoria secondaria riveste unruolo particolarmente importante: allocazione/deallocazione di spazio gestione dello spazio libero scheduling delle operazioni sul disco
Di solito:• la gestione dei file usa i meccanismi di gestione della
memoria secondaria• la gestione della memoria secondaria è indipendente
dalla gestione dei file
![Page 71: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/71.jpg)
Sistemi Operativi T - AA 2009-2010 71
Gestione del file systemGestione del file systemOgni sistema di elaborazione dispone di uno o piùdispositivi per la memorizzazione persistente delleinformazioni (memoria secondaria)
Compito di SOCompito di SOfornire una visione logica uniforme della memoriasecondaria (indipendente dal tipo e dal numero deidispositivi):
• realizzare il concetto astratto di file, comeunità di memorizzazione logica
• fornire una struttura astratta perl’organizzazione dei file (direttorio)
![Page 72: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/72.jpg)
Sistemi Operativi T - AA 2009-2010 72
Gestione del file systemGestione del file system
Inoltre, SO si deve occupare diInoltre, SO si deve occupare di:: creazione/cancellazione di file e direttori manipolazione di file/direttori associazione tra file e dispositivi di memorizzazione
secondaria
SpessoSpesso file, direttori e dispositivi di I/O vengonofile, direttori e dispositivi di I/O vengonopresentatipresentati a utenti/programmi a utenti/programmi in modo uniformein modo uniforme
![Page 73: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/73.jpg)
Sistemi Operativi T - AA 2009-2010 73
Protezione e sicurezzaProtezione e sicurezzaIn un sistema multiprogrammato, più entità (processi o utenti)possono utilizzare le risorse del sistema contemporaneamente:necessità di protezioneProtezioneProtezione:: controllo dell’accesso alle risorse delsistema da parte di processi (e utenti) mediante
• autorizzazioni• modalità di accesso
Risorse da proteggereRisorse da proteggere: memoria processi file dispositivi
![Page 74: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/74.jpg)
Sistemi Operativi T - AA 2009-2010 74
Protezione e sicurezzaProtezione e sicurezza
Sicurezza:se il sistema appartiene a una rete, la sicurezzamisura l’affidabilità del sistema nei confronti diaccessi (attacchi) dal mondo esterno
Non ce ne occuperemo all’interno di questo corso…
![Page 75: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/75.jpg)
Sistemi Operativi T - AA 2009-2010 75
Interfaccia utenteInterfaccia utente
SO presenta un’interfaccia che consentel’interazione con l’utente interprete comandiinterprete comandi (shellshell): l’interazione
avviene mediante una linea di comando interfaccia graficainterfaccia grafica (graphical user
interface, GUIGUI): l’interazione avvienemediante interazione mouse-elementigrafici su desktop; di solito è organizzata afinestre
![Page 76: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/76.jpg)
Sistemi Operativi T - AA 2009-2010 76
Interfaccia programmatoreInterfaccia programmatore
LL’’interfaccia del SO verso i processi èinterfaccia del SO verso i processi èrappresentato dalle rappresentato dalle system system callcall::
• mediante la system call il processo richiede aSO l’esecuzione di un servizio
• la system call esegue istruzioni privilegiate:passaggio da modo useruser a modo kernelkernel
Classi di system Classi di system callcall:: gestione dei processi gestione di file e di dispositivi (spesso trattati in
modo omogeneo) gestione informazioni di sistema comunicazione/sincronizzazione tra processi
Programma di sistema Programma di sistema = programma che chiama system call
![Page 77: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/77.jpg)
Sistemi Operativi T - AA 2009-2010 77
Struttura e organizzazione di SOStruttura e organizzazione di SOSistema operativo = insieme di componenti
gestione dei processi gestione della memoria centrale gestione dei file gestione dell’I/O gestione della memoria secondaria protezione e sicurezza interfaccia utente/programmatore
Le componenti non sono indipendenti tra loro, mainteragiscono
![Page 78: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/78.jpg)
Sistemi Operativi T - AA 2009-2010 78
Struttura del Sistema OperativoStruttura del Sistema Operativo
Come sono organizzate le varie componentiall’interno del sistema operativo?
Varie soluzioni:Varie soluzioni: struttura monolitica struttura modulare Microkernel Macchine virtuali
![Page 79: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/79.jpg)
Sistemi Operativi T - AA 2009-2010 79
Struttura MonoliticaStruttura MonoliticaIl sistema operativo è costituito da ununico modulo contenente un insieme diinsieme diprocedureprocedure, che realizzano le variecomponenti:
l’interazione tra le diverse componentiavviene mediante il meccanismo di chiamataa procedura.
Esempi: MS-DOS,UNIX, GNU/Linux
![Page 80: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/80.jpg)
Sistemi Operativi T - AA 2009-2010 80
Sistemi Operativi MonoliticiSistemi Operativi MonoliticiPrincipale Vantaggio: : basso costo di interazionetra le componenti.
Svantaggio: : Il SO è un sistema complesso epresenta gli stessi requisiti delle applicazioni in-the-large::
• estendibilità• manutenibilità• riutilizzo• portabilità• affidabilità• ...
Soluzione: Soluzione: organizzazione modulare
![Page 81: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/81.jpg)
Sistemi Operativi T - AA 2009-2010 81
Struttura modulareStruttura modulareLe varie componenti del SO vengonoorganizzate in moduli caratterizzati dainterfacce ben definite.
Sistemi Stratificati (a livelli) (THE, Dijkstra1968)
il sistema operativo è costituito da livellisovrapposti, ognuno dei quali realizza uninsieme di funzionalità:
• ogni livello realizza un’insieme di funzionalità chevengono offerte al livello superiore medianteun’interfaccia
• ogni livello utilizza le funzionalità offerte dal livellosottostante, per realizzare altre funzionalità
![Page 82: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/82.jpg)
Sistemi Operativi T - AA 2009-2010 82
Ad esempio: THE (5 livelli)
livello 5: programmi di utente
livello 4: buffering dei dispositivi di I/O
livello 3: driver della console
livello 2: gestione della memoria
livello 1: scheduling CPU
livello 0: hardware
Struttura a livelliStruttura a livelli
![Page 83: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/83.jpg)
Sistemi Operativi T - AA 2009-2010 83
Struttura StratificataStruttura Stratificata
Vantaggi:• Astrazione: ogni livello è un oggetto astratto,
che fornisce ai livelli superiori una visioneastratta del sistema (Macchina Virtuale),limitata alle astrazioni presentatenell’interfaccia.
• Modularità: le relazioni tra i livelli sonochiaramente esplicitate dalle interfacce ->possibilità di sviluppo, verifica, modifica in modoindipendente dagli altri livelli.
![Page 84: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/84.jpg)
Sistemi Operativi T - AA 2009-2010 84
Struttura StratificataStruttura StratificataSvantaggi:
Organizzazione gerarchica tra le componenti: nonsempre è possibile -> difficoltà di realizzazione.
Scarsa efficienza: : costo di attraversamento deilivelli
Soluzione: limitare il numero dei livelli.
![Page 85: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/85.jpg)
Sistemi Operativi T - AA 2009-2010 85
Nucleo del Sistema Operativo (Nucleo del Sistema Operativo (kernelkernel))
“E` la parte del sistema operativo che esegue inmodo kernel”
• È la parte più interna del sistema operativo, che siinterfaccia direttamente con l’hardware dellamacchina.
• Le funzioni realizzate all’interno del nucleo varianoa seconda del Sistema Operativo.
![Page 86: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/86.jpg)
Sistemi Operativi T - AA 2009-2010 86
Nucleo del Sistema OperativoNucleo del Sistema Operativo((kernelkernel))
• Tipicamente, tra le funzioni del nucleo ci sono:• Creazione/terminazione dei processi• scheduling della Cpu• gestire il cambio di contesti• Sincronizzazione/comunicazione tra processi• Gestione della memoria• Gestione dell’I/O• Gestione delle interruzioni• implementazione system call.
![Page 87: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/87.jpg)
Sistemi Operativi T - AA 2009-2010 87
Sistemi Operativi a Sistemi Operativi a MicrokernelMicrokernel
• La struttura del nucleo è ridotta a poche funzionalità dibase.
• il resto del SO è rappresentato da processi di utente
Caratteristiche: affidabilità (separazione tra componenti) possibilità di estensioni e personalizzazioni scarsa efficienza (molte chiamate a system call)
ESEMPI: Minix, L4, Mach, Hurd, BeOS/Haiku
![Page 88: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/88.jpg)
Sistemi Operativi T - AA 2009-2010 88
L4 L4 µµkernelkernelhttp:http://os//os..infinf..tu-dresdentu-dresden.de.de
• gestione dei thread• allocazione della memoria (pager esterni)• Inter Process Communication
Comunicazione Threads
Memoria
Hardware
IRQ
IPC
Externalpagers Unmap
Mapping
![Page 89: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/89.jpg)
Sistemi Operativi T - AA 2009-2010 89
GNU/HurdGNU/Hurd
processi utente
µkernel MACH
Server diHurd
spaziokernel
spazioutente
authserver
processserver
filesystemserver
![Page 90: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/90.jpg)
Sistemi Operativi T - AA 2009-2010 90
Kernel Kernel IbridiIbridi
• microkernel che integrano a livellokernel funzionalità non essenziali.
Esempi: Microsoft Windows. XNU, il kernel di Mac OS X (inclusione di
codice BSD in un kernel basato su Mach).
![Page 91: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/91.jpg)
Sistemi Operativi T - AA 2009-2010 91
XNU (Darwin) - XNU (Darwin) - ““X X is Not Unixis Not Unix””Mach:kernel threadsProcessespre-emptive multitaskingmessage-passingMemory management
BSD: basic security policies,protezione, network stack, filesystem, Posix API
![Page 92: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/92.jpg)
Sistemi Operativi T - AA 2009-2010 92
MSWinXPMSWinXP
Kernel implementa:• Scheduler• Gestore della
memoria• Interprocess
communication(IPC)
Server in user-mode
MemoryServer
ClientApp
Network Server
ProcessServer
FileServer
DisplayServer
Microkernel
Hardware
request
reply
User Mode
Kernel Mode
![Page 93: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/93.jpg)
Sistemi Operativi T - AA 2009-2010 93
Architettura di WinXPArchitettura di WinXP::vista vista semplificatasemplificata
Systemsupport
processes
Serviceprocesses
Userapplications
Environmentsubsystems
Subsystem DLLs
ExecutiveKernel Device drivers
Hardware Abstraction Layer (HAL)
Windowingand graphics
UserMode
KernelMode
![Page 94: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/94.jpg)
Sistemi Operativi T - AA 2009-2010 94
Cenni di architettura Cenni di architettura WinXPWinXP• Progettato per avere più “personalità”
Applicazioni utente non chiamano servizi di sistemadirettam.
• DLL di sottosistema per tradurre una funzionenella corrispondente chiamata di sistema interna
• Processi di Sottosistema (Environment Subsystem) Espongono una serie di funzionalità sottostanti alle applic. Possono fare cose diverse nei diversi sottosistemi (e.g.,
POSIX fork)• Originariamente tre sottosistemi: Windows, POSIX
e OS/2 Windows 2000 include solo sottosistemi Windows e POSIX Windows XP/Vista include solo il sottosistema Windows
• “Services for Unix” offrono un sottosistema POSIX• Inclusi in Windows Server 2003 R2
![Page 95: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/95.jpg)
Sistemi Operativi T - AA 2009-2010 95
OS/2Windows
POSIX
Environment Subsystems
UserApplicationSubsystem DLL
WindowsUser/GDI
UserMode
ExecutiveDevice Drivers Kernel
Hardware Abstraction Layer (HAL)
KernelMode
System& ServiceProcesses
Componenti di sottosistemaComponenti di sottosistema• DLL per le API
per Windows: Kernel32.DLL, Gdi32.DLL, User32.DLL, etc.• Processi di sottosistema
per Windows: CSRSS.EXE (Client Server Runtime SubSystem)• Solo per Windows: kernel-mode GDI code
Win32K.SYS - (il codice era originariamente parte di CSRSS)
3
2
1
3
2
1
![Page 96: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/96.jpg)
Sistemi Operativi T - AA 2009-2010 96
NtDll.Dll
OS/2Windows
POSIX
Environment Subsystems
WindowsUser/GDI
UserMode
ExecutiveDevice Drivers Kernel
Hardware Abstraction Layer (HAL)
KernelMode
System& ServiceProcesses
1 3 2
KiSystemService
UserApplicationSubsystem DLL
LPC
ComunicazioneComunicazione applicazioniapplicazioni con SO con SO
• La maggior parte delle Windows Kernel API• La maggior parte delle Windows User e GDI API• Alcune Windows API321
![Page 97: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/97.jpg)
Sistemi Operativi T - AA 2009-2010 97
ModularitàModularità Molti moderni SO implementano il kernel in maniera
modulare ogni modulo core è separato ogni modulo interagisce con gli altri tramite interfacce note ogni modulo può essere caricato nel kernel quando e ove
necessario possono usare tecniche object-oriented
Strutturazione simile ai livelli, ma con maggiore flessibilità
Esempio di SO Solarisdi SUN
![Page 98: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/98.jpg)
Sistemi Operativi T - AA 2009-2010 98
Una piccola panoramicaUna piccola panoramica::organizzazione di organizzazione di MS-DOSMS-DOS
MS-DOS – progettatoper avere minimo footprint non diviso in moduli sebbene abbia una
qualche struttura,interfacce e livelli difunzionalità non sonoben separati
![Page 99: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/99.jpg)
Sistemi Operativi T - AA 2009-2010 99
UNIX – dati i limiti delle risorse hw del tempo,originariamente UNIX sceglie di avere unastrutturazione limitata. Consiste di due partiseparabili: programmi di sistema kernel
• costituito da tutto ciò che è sotto l’interfacciadelle system-call interface e sopra hw fisico
• fornisce funzionalità di file system, CPUscheduling, gestione memoria, …; moltefunzionalità tutte allo stesso livello
Una piccola panoramicaUna piccola panoramica::organizzazione di organizzazione di UNIXUNIX
![Page 100: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/100.jpg)
Sistemi Operativi T - AA 2009-2010 100
Organizzazione di Organizzazione di UNIXUNIX
kernelprogram
mi
utente e di sistem
a
![Page 101: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/101.jpg)
Sistemi Operativi T - AA 2009-2010 101
UNIX: UNIX: qualche cenno storicoqualche cenno storico• Thompson e Ritchie, Bell Laboratories (1969). Raccolti diversi
spunti dalle caratteristiche di altri SO contemporanei, specieMULTICS
• Terza versione del sistema scritta in C, specificamentesviluppato ai Bell Labs per supportare e implementare UNIX
• Gruppo di sviluppo UNIX più influente (escludendo Bell Labs eAT&T) - University of California at Berkeley (BerkeleySoftware Distributions): 4.0BSD UNIX fu il risultato di finanziamento DARPA per lo
sviluppo di una versione standard di UNIX 4.3BSD UNIX, sviluppato per VAX, influenzò molti dei SO
successivi• Numerosi progetti di standardizzazione per giungere
a interfaccia di programmazione uniformePOSIX
![Page 102: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/102.jpg)
Sistemi Operativi T - AA 2009-2010 102
![Page 103: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/103.jpg)
Sistemi Operativi T - AA 2009-2010 103
UNIX: UNIX: principi di progettazione principi di progettazione e e vantaggivantaggi• Progetto snello, pulito e modulare• Scritto in linguaggio di alto livello (linguaggio C)• Disponibilità codice sorgente• Potenti primitive di SO su una piattaforma a
basso prezzo Progettato per essere time-sharing User interface semplice (shell), anche sostituibile File system con direttori organizzati ad albero Concetto unificante di file, come sequenza non strutturata
di byte Supporto semplice a processi multipli e concorrenza Supporto ampio allo sviluppo di programmi applicativi e/o di
sistema
![Page 104: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/104.jpg)
Sistemi Operativi T - AA 2009-2010 104
Una piccola panoramicaUna piccola panoramica::organizzazione di organizzazione di OS/2OS/2
Buonastrutturazione
a livelli emodulare
![Page 105: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/105.jpg)
Sistemi Operativi T - AA 2009-2010 105
Macchine virtualiMacchine virtuali
Macchine virtuali (VMWare, VirtualBox, xen, Java?,.NET?) sono la logica evoluzione dell’approccio alivelli. Virtualizzano sia hardware che kernel delSO
• Creano l’illusione di processi multipli, ciascuno inesecuzione sul suo processore privato e con lapropria memoria virtuale privata, messa adisposizione dal proprio kernel SO, che può esserediverso per processi diversi
![Page 106: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/106.jpg)
Sistemi Operativi T - AA 2009-2010 106
VirtualizzazioneVirtualizzazioneDato un sistema caratterizzato da un insieme di risorse (hardware esoftware), virtualizzare il sistema significa presentare all’utilizzatore unavisione delle risorse del sistema diversa da quella reale.
Ciò si ottiene introducendo un livello di indirezione tra la vista logica e quellafisica delle risorse.
Obiettivo: disaccoppiare il comportamento delle risorse hardware esoftware di un sistema di elaborazione, così come viste dall’utente, dalla lororealizzazione fisica.
Tecnologie di virtualizzazione
Sistema realerisorse HW/SW
Vista fisica(sistema reale)
Vista logica (sistema virtuale)
![Page 107: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/107.jpg)
Sistemi Operativi T - AA 2009-2010 107
Esempi di Esempi di virtualizzazionevirtualizzazioneAstrazione: in generale un oggetto astratto (risorsa virtuale) è larappresentazione semplificata di un oggetto (risorsa fisica):
• esibendo le proprietà significative per l’utilizzatore• nascondendo i dettagli realizzativi non necessari.
Es: tipi di dato vs. rappresentazione binaria nella cella di memoriaIl disaccoppiamento è realizzato dalle operazioni (interfaccia) con le quali èpossibile utilizzare l’oggetto.
Linguaggi di Programmazione. La capacità di portare lo stesso programma(scritto in un linguaggio di alto livello) su architetture diverse è possibilegrazie alla definizione di una macchina virtuale in grado di interpretare edeseguire ogni istruzione del linguaggio, indipendentemente dall’architetturadel sistema (S.O. e HW):
• Interpreti (esempio Java Virtual Machine)• Compilatori
Virtualizzazione a livello di processo. I sistemi multitasking permettono lacontemporanea esecuzione di più processi, ognuno dei quali dispone di unamacchina virtuale (CPU, memoria, dispositivi) dedicata. La virtualizzazione èrealizzata dal kernel del sistema operativo.
![Page 108: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/108.jpg)
Sistemi Operativi T - AA 2009-2010 108
Sistemi Operativi Sistemi Operativi per laper laVirtualizzazioneVirtualizzazione
• La macchina fisica viene trasformata in n interfacce(macchine virtuali), ognuna delle quali e` una replica dellamacchina fisica: dotata di tutte le istruzioni del processore (sia privilegiate che
non privilegiate) dotata delle risorse del sistema (memoria, dispositivi di I/O).
Su ogni macchina virtuale è possibile installare ed eseguireun sistema operativo (eventualmente diverso da macchina amacchina): Virtual Machine Monitor
![Page 109: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/109.jpg)
Sistemi Operativi T - AA 2009-2010 109
Virtualizzazione di Sistema. Una singola piattaforma hardware viene condivisada più sistemi operativi, ognuno dei quali è installato su una diversa macchinavirtuale.Il disaccoppiamento è realizzato da un componente chiamato Virtual MachineMonitor (VMM, o hypervisor) il cui compito è consentire la condivisione da partedi più macchine virtuali di una singola piattaforma hardware. Ogni macchinavirtuale è costituita oltre che dall’applicazione che in essa viene eseguita, anchedal sistema operativo utilizzato.
Il VMM è il mediatore unico nelle interazioni tra le macchine virtuali e l’hardwaresottostante, che garantisce:
• isolamento tra le VM• stabilità del sistema
VIRTUAL MACHINE MONITOR
HARDWARE
applicazioni
sistema operativo
applicazioni applicazioni
sistema operativo sistema operativo
VM1 VM2 VM3
![Page 110: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/110.jpg)
Sistemi Operativi T - AA 2009-2010 110
VMM di Sistema. le funzionalità di virtualizzazione vengono integrate in un sistemaoperativo leggero, costituendo un unico sistema postodirettamente sopra l’hardware dell’elaboratore.
E’ necessario corredare il VMM di tutti i driver necessari perpilotare le periferiche.
Esempi di VMM di sistema: Vmware ESX, xen
VMM di sistema VMM di sistema vsvs. VMM ospitati. VMM ospitati
![Page 111: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/111.jpg)
Sistemi Operativi T - AA 2009-2010 111
Host: piattaforma di base sulla quale si realizzano macchine virtuali.Comprende la macchina fisica, l’eventuale sistema operativo ed il VMM.
Guest: la macchina virtuale. Comprende applicazioni e sistemaoperativo
VIRTUAL MACHINE MONITOR
HARDWARE
applicazioni
sistema operativo
applicazioni applicazioni
sistema operativo sistema operativo
VM1 VM2 VM3
guest
host
VMM di Sistema
![Page 112: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/112.jpg)
Sistemi Operativi T - AA 2009-2010 112
VMM ospitatoil VMM viene installato come un’applicazione sopra un sistemaoperativo esistente, che opera nello spazio utente e accedel’hardware tramite le system call del S.O. su cui viene installato.
• Più semplice l’installazione (come un’applicazione).• Può fare riferimento al S.O. sottostante per la gestione delle
periferiche e può utilizzare altri servizi del S.O.(es. scheduling,gestione delle risorse.).
• Peggiore la performance.
Prodotti: User Mode Linux, VMware Server/Player, MicrosoftVirtual Server , Parallels, VirtualBox.
![Page 113: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/113.jpg)
Sistemi Operativi T - AA 2009-2010 113
Applicazionihost
Applicazioniguest
Applicazioniguest
S.O. S.O.
HARDWARE
VMM ospitato
SISTEMA OPERATIVO
VM1 VM2
VIRTUAL MACHINE MONITOR
guest
host
![Page 114: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/114.jpg)
Sistemi Operativi T - AA 2009-2010 114
Virtualizzazione Virtualizzazione e e EmulazioneEmulazione
Emulazione:• eseguire applicazioni (o SO) compilate per un'architettura su di
un’altra.• uno strato software emula le funzionalita` dell'architettura; il s.o.
esegue sopra tale strato (a livello user). Le istruzioni macchinaprivilegiate e non privilegiate vengono emulate via SW. (Bochs,Qemu)
Virtualizzazione:• definizione di contesti di esecuzione multipli (macchine virtuali) su
di un singolo processore, partizionando le risorse;
![Page 115: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/115.jpg)
Sistemi Operativi T - AA 2009-2010 115
Tecniche di VirtualizzazioneTecniche di Virtualizzazionevirtualizzazione completa: le istruzioni non privilegiate vengono
eseguite direttamente a livello HW; solo le istruzioni privilegiatevengono traslate dinamicamente; il set di istruzioni delle macchinevirtuali e` lo stesso della macchina fisica.(VMware)
paravirtualizzazione: l’hardware virtuale esposto dal VMM e`funzionalmente simile, ma non identico, a quello della sottostantemacchina fisica. Definizione di una Applications ProgrammingInterface (Virtual Hardware API). Il kernel dei sistemi operativinelle macchine virtuali deve essere modificato. (xen)
![Page 116: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/116.jpg)
Sistemi Operativi T - AA 2009-2010 116
Vantaggi della virtualizzazioneVantaggi della virtualizzazione
• Uso di piu` S.O. sulla stessa macchina fisica: più ambienti diesecuzione (eterogenei) per lo stesso utente: Legacy systems Possibilità di esecuzione di applicazioni concepite per un particolare s.o.
• Isolamento degli ambienti di esecuzione: ogni macchina virtualedefinisce un ambiente di esecuzione separato (sandbox) da quelli dellealtre: possibilita` di effettuare testing di applicazioni preservando l'integrita` degli altri
ambienti e del VMM. Sicurezza: eventuali attacchi da parte di malware o spyware sono confinati alla
singola macchina virtuale
VIRTUAL MACHINE MONITOR
HARDWARE
applicazioni
Windows xp
applicazioni applicazioni
Suse Linux Ubuntu linux
VM1 VM2 VM3
![Page 117: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/117.jpg)
Sistemi Operativi T - AA 2009-2010 117
Vantaggi della Vantaggi della virtualizzazionevirtualizzazione• Consolidamento HW: possibilita` di concentrare piu`
macchine (ad es. server) su un'unica architettura HW per unutilizzo efficiente dell'hardware (es. server farm): Abbattimento costi hw Abbattimento costi amministrazione
• Gestione facilitata delle macchine: e` possibile effettuarein modo semplice: la creazione di macchine virtuali (virtual appliances) l'amministrazione di macchine virtuali (reboot, ricompilazione
kernel, etc.) migrazione a caldo di macchine virtuali tra macchine fisiche:
• possibilita` di manutenzione hw senza interrompere i serviziforniti dalle macchine virtuali
• disaster recovery• workload balancing: alcuni prodotti prevedono anche
meccanismi di migrazione automatica per far fronte in modo“autonomico” a situazioni di sbilanciamento
![Page 118: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/118.jpg)
Sistemi Operativi T - AA 2009-2010 118
Vantaggi della Vantaggi della virtualizzazionevirtualizzazione• In ambito didattico: invece di assegnare ad ogni studente un account su una macchina
fisica, si assegna una macchina virtuale.
DEIS Virtual Lab. La Facoltà di Ingegneria (DEIS) ha realizzato un laboratorio dimacchine virtuali che offre ad ogni studente una macchina virtuale personale daamministrare autonomamente: possibilita` di esercitarsi senza limitazioni nelle tecniche di amministrazione e
configurazione del sistema; possibilita` di installazione e testing di nuovi sistemi operativi, anche prototipali,
senza il rischio di compromettere la funzionalita` del sistema. possibilita` di testing di applicazioni potenzialmente pericolose senza il rischio di
interferire con altri utenti/macchine; possibilita` di trasferire le proprie macchine virtuali in supporti mobili (es:
memorie USB, per continuare le esercitazioni sul computer di casa).
Dotazione hw: 5 server Intel-VT xeon (2 processori quadcore), storage unit CORAID12TB
Software: xen
![Page 119: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/119.jpg)
Sistemi Operativi T - AA 2009-2010 119
Unix Unix & & LinuxLinux
![Page 120: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/120.jpg)
Sistemi Operativi T - AA 2009-2010 120
Storia di Storia di UnixUnix• 1969: AT&T, sviluppo di un ambiente di
calcolo multiprogrammato e portabile permacchine di medie dimensioni.
• 1970: prima versione di UNIX(multiprogrammata e monoutente)interamente sviluppata nel linguaggioassembler del calcolatore PDP-7.
• Anni 1970: nuove versioni, arricchite conaltre caratteristiche e funzionalità.Introduzione del supporto alla multiutenza.
![Page 121: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/121.jpg)
Sistemi Operativi T - AA 2009-2010 121
Unix Unix e il linguaggio Ce il linguaggio C• 1973: Unix viene realizzato nel linguaggio di programmazione C:
Elevata portabilità Leggibilità Diffusione presso la comunità scientifica e accademica.
• Anni 80: la grande popolarità di Unix ha determinato ilproliferare di versioni diverse. Due famiglie: Unix System V (AT&T Laboratories) Unix Berkeley Software Distributions, o BSD (University of
California at Berkeley)
![Page 122: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/122.jpg)
Sistemi Operativi T - AA 2009-2010 122
Organizzazione di Organizzazione di UnixUnix
hardware
Kernel del Sistema Operativo:gestione processi, memoria, file sytem, I/O, etc
Libreria standard di sistema(open, close, fork, exec...)
Utilità di sistema(shell, editor, compilatori,..)
utenti
System call
Funzioni di libreriastandard
Modo kernel
Modo user
![Page 123: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/123.jpg)
Sistemi Operativi T - AA 2009-2010 123
Caratteristiche di Caratteristiche di UnixUnix
multi-utente time sharing kernel monolitico Ambiente di sviluppo per programmi in linguaggio C Programmazione mediante linguaggi comandi portabilità
![Page 124: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/124.jpg)
Sistemi Operativi T - AA 2009-2010 124
POSIXPOSIX• 1988: POSIX (Portable Operating Systems
Interface) è lo standard definito dall’IEEE.Definisce le caratteristiche relative alle modalitàdi utilizzo del sistema operativo.
• 1990: POSIX viene anche riconosciuto dall'International Standards Organization (ISO).
• Anni 90: Negli anni seguenti, le versionisuccessive di Unix SystemV e BSD (versione 4.3),si uniformano a POSIX.
![Page 125: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/125.jpg)
Sistemi Operativi T - AA 2009-2010 125
Introduzione Introduzione a GNU/Linuxa GNU/Linux
• GNU project: 1984: Richard Stallman avvia un progetto di sviluppo di un
sistema operativo libero compatibile con Unix:
"GNU is Not Unix" Furono sviluppate velocemente molte utilita` di sistema:
• editor Emacs,• Compilatori: gcc,• shell: bash,• ...
lo sviluppo del kernel (Hurd), invece, subi` molte vicissitudini evide la luce molto piu` tardi (1996)
![Page 126: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/126.jpg)
Sistemi Operativi T - AA 2009-2010 126
GNU/LinuxGNU/Linux• 1991: Linus Tornvalds realizza un kernel
Unix-compatibile (Minix) per l’architetturaintel x86 e pubblica su web i sorgenti
• In breve tempo, grazie a una comunita` dihacker in rapidissima espansione, Linuxacquista le caratteristiche di un prodottoaffidabile e in continuo miglioramento.
• 1994: Linux viene integrato nel progettoGNU come kernel del sistema operativo:nasce il sistema operativo GNU/Linux
![Page 127: Università di Bologna Laurea in Ingegneria Informatica A.A ...lia.deis.unibo.it/Courses/sot0910/materiale/1-Intro.pdf · della teoria dei sistemi operativi Illustrare le caratteristiche](https://reader031.fdocumenti.com/reader031/viewer/2022022723/5c69546309d3f29b758d039d/html5/thumbnails/127.jpg)
Sistemi Operativi T - AA 2009-2010 127
GNU/LinuxGNU/LinuxCaratteristiche: Open Source / Free software multi-utente, multiprogrammato e multithreaded Kernel monolitico con possibilita` di caricamento dinamico
di moduli estendibilita` affidabilita`: testing in tempi brevissimi da parte di
migliaia di utenti/sviluppatori portabilità