Elementi di Informatica A. A. 2016/2017 -...

33
Elementi di Informatica A . A . 2016/2017 Ing. Nicola Amatucci Università degli studi di Napoli Federico II Scuola Politecnica e Delle Scienze di Base [email protected]

Transcript of Elementi di Informatica A. A. 2016/2017 -...

Page 1: Elementi di Informatica A. A. 2016/2017 - unina.itwpage.unina.it/nicola.amatucci/elementi_2016/sistemi_operativi.pdf · •Ad es. Windows NT, Linux •Un programma può essere interrotto

Elementi di InformaticaA. A. 2016/2017

Ing. Nicola Amatucci

Università degli studi di Napoli Federico II

Scuola Politecnica e Delle Scienze di Base

[email protected]

Page 2: Elementi di Informatica A. A. 2016/2017 - unina.itwpage.unina.it/nicola.amatucci/elementi_2016/sistemi_operativi.pdf · •Ad es. Windows NT, Linux •Un programma può essere interrotto

Cos'è un Sistema Operativo?

• Il software può essere diviso un due grandi classi:• i programmi di sistema che gestiscono le operazioni del sistema di

elaborazione

• i programmi applicativi che risolvono i problemi dei loroutilizzatori

• L’insieme dei Programmi di Sistema viene comunementeidentificato con il nome di Sistema Operativo (SO)

Page 3: Elementi di Informatica A. A. 2016/2017 - unina.itwpage.unina.it/nicola.amatucci/elementi_2016/sistemi_operativi.pdf · •Ad es. Windows NT, Linux •Un programma può essere interrotto

Cosa fa un Sistema Operativo?

• Scopo del Sistema Operativo• Gestione delle risorse del sistema di elaborazione• Rendere più agevole l’interfaccia tra l’uomo e la macchina (anche la

programmazione)

• Attività svolte dal Sistema Operativo• Gestione della memoria di massa (file system)• Gestione della memoria RAM• Gestione dei processi• Gestione dell’ interfaccia utente• Accesso simultaneo di più utenti alla stessa macchina• Esecuzione simultaneamente di più processi sulla stessa macchina

Page 4: Elementi di Informatica A. A. 2016/2017 - unina.itwpage.unina.it/nicola.amatucci/elementi_2016/sistemi_operativi.pdf · •Ad es. Windows NT, Linux •Un programma può essere interrotto

Com'è fatto un Sistema Operativo?

• I Sistemi Operativi sono generalmente costituiti da uninsieme di moduli• Ciascun modulo è dedicato a svolgere una determinata funzione

• I vari moduli del Sistema Operativo interagiscono tra di loro• secondo regole precise

• al fine di realizzare le funzionalità di base dalla macchina.

Page 5: Elementi di Informatica A. A. 2016/2017 - unina.itwpage.unina.it/nicola.amatucci/elementi_2016/sistemi_operativi.pdf · •Ad es. Windows NT, Linux •Un programma può essere interrotto

Com'è fatto un Sistema Operativo?

KERNEL

Gestore dei ProcessiGestore della Memoria

Centrale

Gestore degli I/O Gestore del File System

Interfaccia utente

Page 6: Elementi di Informatica A. A. 2016/2017 - unina.itwpage.unina.it/nicola.amatucci/elementi_2016/sistemi_operativi.pdf · •Ad es. Windows NT, Linux •Un programma può essere interrotto

Gestore dei Processi

• È il modulo che si occupa di controllare la sincronizzazione, interruzione eriattivazione dei programmi in esecuzione cui viene assegnato un processore

• La gestione dei processi viene compiuta in vari modi, in funzione del tipo diutilizzo cui il sistema è rivolto

• Il programma che si occupa della distribuzione del tempo di CPU tra i vari processiattivi, decidendone l’avvicendamento, è comunemente chiamato Scheduler

• Nel caso di elaboratori multi-processore si occupa anche di gestire lacooperazione tra le varie CPU presenti nel sistema

Page 7: Elementi di Informatica A. A. 2016/2017 - unina.itwpage.unina.it/nicola.amatucci/elementi_2016/sistemi_operativi.pdf · •Ad es. Windows NT, Linux •Un programma può essere interrotto

Schedulazione dei Processi

running ready

waittermine attesa (es. I/O)

eventotempo scaduto

top

Page 8: Elementi di Informatica A. A. 2016/2017 - unina.itwpage.unina.it/nicola.amatucci/elementi_2016/sistemi_operativi.pdf · •Ad es. Windows NT, Linux •Un programma può essere interrotto

Politiche di Scheduling

• Le politiche di schedulazione utilizzate dallo Schedulersono raggruppabili in due grandi categorie:• Preemptive

• la CPU in uso da parte di un processo può essere tolta e passataa un altro in un qualsiasi momento

• Non Preemptive• una volta che un processo ha ottenuto l’uso della CPU non può

essere interrotto fino a che lui stesso non la rilascia

Page 9: Elementi di Informatica A. A. 2016/2017 - unina.itwpage.unina.it/nicola.amatucci/elementi_2016/sistemi_operativi.pdf · •Ad es. Windows NT, Linux •Un programma può essere interrotto

Sistemi Mono-Tasking

• I Sistemi Operativi che gestiscono l’esecuzione di un solo programmaper volta sono catalogati come mono-tasking

• Non è possibile sospendere l’esecuzione di un programma perassegnare la CPU a un altro

• Sono storicamente i primi Sistemi Operativi• Ad es. MS-DOS

Page 10: Elementi di Informatica A. A. 2016/2017 - unina.itwpage.unina.it/nicola.amatucci/elementi_2016/sistemi_operativi.pdf · •Ad es. Windows NT, Linux •Un programma può essere interrotto

Sistemi Mono-Tasking

tA

B

C

T

Tempo di utilizzo della CPU.

Tempo di attesa di eventi esterni.

Page 11: Elementi di Informatica A. A. 2016/2017 - unina.itwpage.unina.it/nicola.amatucci/elementi_2016/sistemi_operativi.pdf · •Ad es. Windows NT, Linux •Un programma può essere interrotto

Sistemi Multi-Tasking

• I SO che permettono l’esecuzione contemporanea di più programmisono definiti multi-tasking• Ad es. Windows NT, Linux

• Un programma può essere interrotto e la CPU passata a un altroprogramma

Page 12: Elementi di Informatica A. A. 2016/2017 - unina.itwpage.unina.it/nicola.amatucci/elementi_2016/sistemi_operativi.pdf · •Ad es. Windows NT, Linux •Un programma può essere interrotto

Sistemi Multi-Tasking

tA

B

C

Tmono-tasking

Tempo di utilizzo della CPU.

Tempo di attesa di eventi esterni.

Tmulti-tasking

Page 13: Elementi di Informatica A. A. 2016/2017 - unina.itwpage.unina.it/nicola.amatucci/elementi_2016/sistemi_operativi.pdf · •Ad es. Windows NT, Linux •Un programma può essere interrotto

Sistemi Time-Sharing

• Un’evoluzione dei sistemi multi-tasking sono i sistemi timesharing

• Ogni programma in esecuzione viene eseguito ciclicamenteper piccoli quanti di tempo

• Se la velocità del processore è sufficientemente elevata si hal’impressione di un’evoluzione parallela dei processi

Page 14: Elementi di Informatica A. A. 2016/2017 - unina.itwpage.unina.it/nicola.amatucci/elementi_2016/sistemi_operativi.pdf · •Ad es. Windows NT, Linux •Un programma può essere interrotto

Sistemi Time-Sharing

tA

B

C

D

Page 15: Elementi di Informatica A. A. 2016/2017 - unina.itwpage.unina.it/nicola.amatucci/elementi_2016/sistemi_operativi.pdf · •Ad es. Windows NT, Linux •Un programma può essere interrotto

Com'è fatto un Sistema Operativo?

KERNEL

Gestore dei ProcessiGestore della Memoria

Centrale

Gestore degli I/O Gestore del File System

Interfaccia utente

Page 16: Elementi di Informatica A. A. 2016/2017 - unina.itwpage.unina.it/nicola.amatucci/elementi_2016/sistemi_operativi.pdf · •Ad es. Windows NT, Linux •Un programma può essere interrotto

Gestore della Memoria

• L’organizzazione e la gestione della memoria centrale è uno degli aspettipiù critici nel disegno di un SO

• Il gestore della memoria è quel modulo del SO incaricato di assegnare lamemoria ai vari task• per eseguire un task è necessario che il suo codice sia caricato in memoria

• La complessità del gestore della memoria dipende dal tipo di SO

• Nei sistemi multi-tasking più programmi contemporaneamente possonoessere caricati in memoria• Problema: come allocare lo spazio in maniera ottimale?

Page 17: Elementi di Informatica A. A. 2016/2017 - unina.itwpage.unina.it/nicola.amatucci/elementi_2016/sistemi_operativi.pdf · •Ad es. Windows NT, Linux •Un programma può essere interrotto

Allocazione Lineare

Programma A

Programma B

Programma C

Memoria

0000x

Ogni programma occupa partedella memoria

Page 18: Elementi di Informatica A. A. 2016/2017 - unina.itwpage.unina.it/nicola.amatucci/elementi_2016/sistemi_operativi.pdf · •Ad es. Windows NT, Linux •Un programma può essere interrotto

Allocazione Lineare

Programma A

Programma C

Memoria

0000x

Il programma chiuso lascia un vuoto dimemoria (problema della frammentazione)

Page 19: Elementi di Informatica A. A. 2016/2017 - unina.itwpage.unina.it/nicola.amatucci/elementi_2016/sistemi_operativi.pdf · •Ad es. Windows NT, Linux •Un programma può essere interrotto

Paginazione

Programma D

Memoria

0000x Programma A

Programma A

Programma A

Programma B

Programma B

La memoria è divisa in parti dettepagine

Page 20: Elementi di Informatica A. A. 2016/2017 - unina.itwpage.unina.it/nicola.amatucci/elementi_2016/sistemi_operativi.pdf · •Ad es. Windows NT, Linux •Un programma può essere interrotto

Paginazione

Programma D

Memoria

0000x

Programma E

Programma A

Programma A

Programma A

Programma F

Programma F

Chiuso il Programma B, i nuoviprogrammi possono occupare lamemoria libera

Page 21: Elementi di Informatica A. A. 2016/2017 - unina.itwpage.unina.it/nicola.amatucci/elementi_2016/sistemi_operativi.pdf · •Ad es. Windows NT, Linux •Un programma può essere interrotto

Memoria Virtuale

• Spesso la memoria non è sufficiente per contenere completamente tutto il codice dei vari task

• Si può simulare una memoria più grande tenendo nella memoria di sistema (RAM) solo le parti di codice e dei dati che servono in quel momento

• Si usa il concetto di memoria virtuale.

Page 22: Elementi di Informatica A. A. 2016/2017 - unina.itwpage.unina.it/nicola.amatucci/elementi_2016/sistemi_operativi.pdf · •Ad es. Windows NT, Linux •Un programma può essere interrotto

Memoria Virtuale

• I dati dei programmi non in esecuzione possono essere tolti dallamemoria centrale e parcheggiati su disco nella cosiddetta area diswap

• Il rapporto tra le dimensioni dell’area di swap e della RAM è di 3 : 1(max)

• I moderni processori posseggono meccanismi hardware per facilitarela gestione della memoria virtuale

Page 23: Elementi di Informatica A. A. 2016/2017 - unina.itwpage.unina.it/nicola.amatucci/elementi_2016/sistemi_operativi.pdf · •Ad es. Windows NT, Linux •Un programma può essere interrotto

Memoria Virtuale

Programma D

Memoria

0000x Programma A-1

Programma B-1

Programma A-2

Programma A-3

Programma B-2

Swap

Page 24: Elementi di Informatica A. A. 2016/2017 - unina.itwpage.unina.it/nicola.amatucci/elementi_2016/sistemi_operativi.pdf · •Ad es. Windows NT, Linux •Un programma può essere interrotto

Memoria Virtuale

Programma D

Memoria

0000x Programma A-2

Programma B-1

Programma A-1

Programma A-3

Programma B-2

Swap

Page 25: Elementi di Informatica A. A. 2016/2017 - unina.itwpage.unina.it/nicola.amatucci/elementi_2016/sistemi_operativi.pdf · •Ad es. Windows NT, Linux •Un programma può essere interrotto

Com'è fatto un Sistema Operativo?

KERNEL

Gestore dei ProcessiGestore della Memoria

Centrale

Gestore degli I/O Gestore del File System

Interfaccia utente

Page 26: Elementi di Informatica A. A. 2016/2017 - unina.itwpage.unina.it/nicola.amatucci/elementi_2016/sistemi_operativi.pdf · •Ad es. Windows NT, Linux •Un programma può essere interrotto

Gestore del File System

• Il gestore del file system è quel modulo del sistema operativoincaricato di gestire le informazioni memorizzate sui dispositivi dimemoria di massa

• Il gestore del file system deve garantire la correttezza e la coerenzadelle informazioni

• Nei sistemi multi-utente, deve mettere a disposizione dei meccanismidi protezione• Ogni utente deve poter proteggere i propri dati dall’accesso da parte di altri

utenti non autorizzati

Page 27: Elementi di Informatica A. A. 2016/2017 - unina.itwpage.unina.it/nicola.amatucci/elementi_2016/sistemi_operativi.pdf · •Ad es. Windows NT, Linux •Un programma può essere interrotto

Gestore del File System

•Le funzioni tipiche che deve svolgere sono:• Fornire un meccanismo per l’identificazione dei files• Fornire opportuni metodi per accedere ai dati•Rendere trasparente la struttura fisica del supporto

di memorizzazione• Implementare meccanismi di protezione dei dati

Page 28: Elementi di Informatica A. A. 2016/2017 - unina.itwpage.unina.it/nicola.amatucci/elementi_2016/sistemi_operativi.pdf · •Ad es. Windows NT, Linux •Un programma può essere interrotto

Organizzazione dei file

• Quasi tutti i sistemi operativi utilizzano un’organizzazionegerarchica del File System

• L’elemento utilizzato per raggruppare più file insieme è ladirectory (o cartella)

• L’insieme gerarchico delle directory e dei file può essererappresentato attraverso un grafo delle directory

Page 29: Elementi di Informatica A. A. 2016/2017 - unina.itwpage.unina.it/nicola.amatucci/elementi_2016/sistemi_operativi.pdf · •Ad es. Windows NT, Linux •Un programma può essere interrotto

Com'è fatto un Sistema Operativo?

KERNEL

Gestore dei ProcessiGestore della Memoria

Centrale

Gestore degli I/O Gestore del File System

Interfaccia utente

Page 30: Elementi di Informatica A. A. 2016/2017 - unina.itwpage.unina.it/nicola.amatucci/elementi_2016/sistemi_operativi.pdf · •Ad es. Windows NT, Linux •Un programma può essere interrotto

Gestore dei dispositivi di I/O

• Il gestore dei dispositivi di I/O è quel modulo del SO incaricato diassegnare i dispositivi ai task che ne fanno richiesta e di controllare idispositivi stessi

• Da esso dipende la qualità e il tipo di periferiche riconosciute dalsistema.

• Il controllo dei dispositivi di I/O avviene attraverso speciali programmidetti Device Driver• I device driver sono spesso realizzati dai produttori dei dispositivi

stessi che ne conoscono le caratteristiche fisiche in manieraapprofondita

Page 31: Elementi di Informatica A. A. 2016/2017 - unina.itwpage.unina.it/nicola.amatucci/elementi_2016/sistemi_operativi.pdf · •Ad es. Windows NT, Linux •Un programma può essere interrotto

Device Driver

• Rendono trasparenti le caratteristiche fisiche tipiche di ognidispositivo

• Gestiscono la comunicazione dei segnali verso i dispositivi

• Gestiscono i conflitti, nel caso in cui due o più task voglionoaccedere contemporaneamente allo stesso dispositivo

Page 32: Elementi di Informatica A. A. 2016/2017 - unina.itwpage.unina.it/nicola.amatucci/elementi_2016/sistemi_operativi.pdf · •Ad es. Windows NT, Linux •Un programma può essere interrotto

Com'è fatto un Sistema Operativo?

KERNEL

Gestore dei ProcessiGestore della Memoria

Centrale

Gestore degli I/O Gestore del File System

Interfaccia utente

Page 33: Elementi di Informatica A. A. 2016/2017 - unina.itwpage.unina.it/nicola.amatucci/elementi_2016/sistemi_operativi.pdf · •Ad es. Windows NT, Linux •Un programma può essere interrotto

Interfaccia Utente

• Tutti i Sistemi Operativi implementano dei meccanismi per rendere agevole l’utilizzo del sistema da parte degli utente

• L’insieme di questi meccanismi di accesso al computer prende il nome di InterfacciaUtente

• Interfaccia testuale:• Interprete dei comandi (o shell)• Ad es. MS-DOS

• Interfaccia grafica (a finestre):• L’output dei vari programmi viene visualizzato in maniera grafica all’interno di finestre• L’utilizzo di disegni rende più intuitivo l’uso del calcolatore;• Ad es. Windows