introduzione ai sistemi operativi

50
INTRODUZIONE AI INTRODUZIONE AI SISTEMI SISTEMI OPERATIVI OPERATIVI

Upload: martin-blanchard

Post on 03-Jan-2016

50 views

Category:

Documents


5 download

DESCRIPTION

INTRODUZIONE AI SISTEMI OPERATIVI. Introduzione. 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 loro utilizzatori; - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: INTRODUZIONE AI SISTEMI OPERATIVI

INTRODUZIONE AI INTRODUZIONE AI SISTEMI OPERATIVISISTEMI OPERATIVI

Page 2: INTRODUZIONE AI SISTEMI OPERATIVI

IntroduzioneIntroduzione

Il software può essere diviso un due grandi Il software può essere diviso un due grandi classi:classi:– i i programmi di sistemaprogrammi di sistema che gestiscono le che gestiscono le

operazioni del sistema di elaborazioneoperazioni del sistema di elaborazione– i i programmi applicativiprogrammi applicativi che risolvono i che risolvono i

problemi dei loro utilizzatori;problemi dei loro utilizzatori; L’insieme dei L’insieme dei Programmi di Sistema Programmi di Sistema viene viene

comunemente identificato con il nome di comunemente identificato con il nome di Sistema Operativo (SO).Sistema Operativo (SO).

Page 3: INTRODUZIONE AI SISTEMI OPERATIVI

Scopo del Sistema OperativoScopo del Sistema Operativo

Gestione delle risorse del sistema di Gestione delle risorse del sistema di elaborazioneelaborazione

Rendere AGEVOLE l’interfaccia tra Rendere AGEVOLE l’interfaccia tra l’uomo e la macchina.l’uomo e la macchina.

Page 4: INTRODUZIONE AI SISTEMI OPERATIVI

Attività svolte dal Sistema Attività svolte dal Sistema OperativoOperativo

Gestione della memoria di massa Gestione della memoria di massa (file system);(file system);

Gestione della memoria RAM;Gestione della memoria RAM; Gestione dei processi;Gestione dei processi;

Page 5: INTRODUZIONE AI SISTEMI OPERATIVI

Attività svolte dal Sistema Attività svolte dal Sistema Operativo Operativo (Cont.)(Cont.)

Gestione dell’ interfaccia utente;Gestione dell’ interfaccia utente; Accesso simultaneo di più utenti alla stessa Accesso simultaneo di più utenti alla stessa

macchina;macchina; Esecuzione simultaneamente di più processi Esecuzione simultaneamente di più processi

sulla stessa macchina.sulla stessa macchina.

Page 6: INTRODUZIONE AI SISTEMI OPERATIVI

Struttura del Sistema Operativo Struttura del Sistema Operativo

I SO sono generalmente costituiti da un I SO sono generalmente costituiti da un insieme di moduli, ciascuno dedicato a insieme di moduli, ciascuno dedicato a svolgere una determinata funzione;svolgere una determinata funzione;

I vari moduli del SO interagiscono tra di I vari moduli del SO interagiscono tra di loro secondo regole precise al fine di loro secondo regole precise al fine di realizzare le funzionalità di base dalla realizzare le funzionalità di base dalla macchina.macchina.

Page 7: INTRODUZIONE AI SISTEMI OPERATIVI

KERNELKERNEL

Struttura del Sistema Operativo Struttura del Sistema Operativo (cont.)(cont.)

Gestore dei ProcessiGestore dei ProcessiGestore della Gestore della

Memoria CentraleMemoria Centrale

Gestore degli I/OGestore degli I/O Gestore del File SystemGestore del File System

Interfaccia utenteInterfaccia utente

Page 8: INTRODUZIONE AI SISTEMI OPERATIVI

Gestore dei ProcessiGestore dei Processi

Page 9: INTRODUZIONE AI SISTEMI OPERATIVI

Gestore dei Processi Gestore dei Processi

E’ il modulo che si occupa di controllare la E’ il modulo che si occupa di controllare la sincronizzazione, interruzione e sincronizzazione, interruzione e riattivazione dei programmi in esecuzione riattivazione dei programmi in esecuzione cui viene assegnato un processore;cui viene assegnato un processore;

La gestione dei processi viene compiuta in La gestione dei processi viene compiuta in vari modi , in funzione del tipo di utilizzo vari modi , in funzione del tipo di utilizzo cui il sistema è rivolto.cui il sistema è rivolto.

Page 10: INTRODUZIONE AI SISTEMI OPERATIVI

Gestore dei Processi Gestore dei Processi (Cont.)(Cont.)

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

Nel caso di elaboratori multi-processore si Nel caso di elaboratori multi-processore si occupa anche di gestire la cooperazione tra occupa anche di gestire la cooperazione tra le varie CPU presenti nel sistema.le varie CPU presenti nel sistema.

Page 11: INTRODUZIONE AI SISTEMI OPERATIVI

SchedulazioneSchedulazione

running ready

waittermine attesa (es. I/O)

eventotempo scaduto

top

Page 12: INTRODUZIONE AI SISTEMI OPERATIVI

Politiche di Scheduling Politiche di Scheduling

Le politiche di schedulazione utilizzate Le politiche di schedulazione utilizzate dallo scheduler sono raggruppabili in due dallo scheduler sono raggruppabili in due grandi categorie:grandi categorie:– Preemptive:Preemptive: la CPU in uso da parte di un la CPU in uso da parte di un

processo può essere tolta e passata a un altro in processo può essere tolta e passata a un altro in un qualsiasi momento;un qualsiasi momento;

– Non Preemptive:Non Preemptive: una volta che un processo ha una volta che un processo ha ottenuto l’uso della CPU non può essere ottenuto l’uso della CPU non può essere interrotto fino a che lui stesso non la rilascia.interrotto fino a che lui stesso non la rilascia.

Page 13: INTRODUZIONE AI SISTEMI OPERATIVI

Sistemi Mono-Tasking Sistemi Mono-Tasking

I SO che gestiscono l’esecuzione di un solo I SO che gestiscono l’esecuzione di un solo programma per volta sono catalogati come programma per volta sono catalogati come mono-tasking;mono-tasking;

Non è possibile sospendere l’esecuzione di Non è possibile sospendere l’esecuzione di un programma per assegnare la CPU a un un programma per assegnare la CPU a un altroaltro

Sono storicamente i primi SO (es MS-Sono storicamente i primi SO (es MS-DOS).DOS).

Page 14: INTRODUZIONE AI SISTEMI OPERATIVI

Sistema Mono-TaskingSistema Mono-Tasking

tA

B

C

T

Tempo di utilizzo della CPU.

Tempo di attesa di eventi esterni.

Page 15: INTRODUZIONE AI SISTEMI OPERATIVI

Sistemi Multi-Tasking Sistemi Multi-Tasking

I SO che permettono l’esecuzione I SO che permettono l’esecuzione contemporanea di più programmi sono contemporanea di più programmi sono definiti definiti multi-taskingmulti-tasking (Windows-NT , (Windows-NT , Linux);Linux);

Un programma può essere interrotto e la Un programma può essere interrotto e la CPU passata a un altro programmaCPU passata a un altro programma

Page 16: INTRODUZIONE AI SISTEMI OPERATIVI

Sistema Multi-TaskingSistema Multi-Tasking

tA

B

C

Tmono-tasking

Tempo di utilizzo della CPU.

Tempo di attesa di eventi esterni.

Tmulti-tasking

Page 17: INTRODUZIONE AI SISTEMI OPERATIVI

Sistemi Time-Sharing Sistemi Time-Sharing

Un’evoluzione dei sistemi multi-tasking Un’evoluzione dei sistemi multi-tasking sono i sistemi sono i sistemi time sharing.time sharing.

Ogni programma in esecuzione viene Ogni programma in esecuzione viene eseguito ciclicamente per piccoli eseguito ciclicamente per piccoli quanti di quanti di tempo.tempo.

Se la velocità del processore è Se la velocità del processore è sufficientemente elevata si ha l’impressione sufficientemente elevata si ha l’impressione di un’evoluzione parallela dei processi.di un’evoluzione parallela dei processi.

Page 18: INTRODUZIONE AI SISTEMI OPERATIVI

Time-sharing: schemaTime-sharing: schema

Ipotesi: 1 MIPS, 4 processi, 0.25 s/utenteIpotesi: 1 MIPS, 4 processi, 0.25 s/utente Conseguenze:Conseguenze:

– 0.25 MIPS/utente0.25 MIPS/utente

– TTELAELA = 4 = 4 TTCPUCPU

C B

AD

0.00”

0.25”0.75”

0.50”

Page 19: INTRODUZIONE AI SISTEMI OPERATIVI

Time-sharing:Time-sharing:diagramma temporalediagramma temporale

tA

B

C

D

Page 20: INTRODUZIONE AI SISTEMI OPERATIVI

Gestore della MemoriaGestore della Memoria

Page 21: INTRODUZIONE AI SISTEMI OPERATIVI

Gestore della Memoria Gestore della Memoria

L’organizzazione e la gestione della L’organizzazione e la gestione della memoria centrale è uno degli aspetti più memoria centrale è uno degli aspetti più critici nel disegno di un SO;critici nel disegno di un SO;

Il Il gestore della memoriagestore della memoria è quel modulo del è quel modulo del SO incaricato di assegnare la memoria ai SO incaricato di assegnare la memoria ai vari task (per eseguire un task è necessario vari task (per eseguire un task è necessario che il suo codice sia caricato in memoria);che il suo codice sia caricato in memoria);

Page 22: INTRODUZIONE AI SISTEMI OPERATIVI

Gestore della Memoria Gestore della Memoria (Cont.)(Cont.)

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

Nei sistemi multi-tasking più programmi Nei sistemi multi-tasking più programmi contemporaneamente possono essere contemporaneamente possono essere caricati in memoria .caricati in memoria .

Problema: come allocare lo spazio in Problema: come allocare lo spazio in maniera ottimalemaniera ottimale

Page 23: INTRODUZIONE AI SISTEMI OPERATIVI

Allocazione Lineare Allocazione Lineare

Programma AProgramma A

Programma BProgramma B

Programma CProgramma C

Memoria

0000x

Page 24: INTRODUZIONE AI SISTEMI OPERATIVI

Allocazione Lineare Allocazione Lineare

Programma AProgramma A

Programma CProgramma C

Memoria

0000x

Programma DProgramma D

PROBLEMA !!!!PROBLEMA !!!!

FRAMMENTAZIONEFRAMMENTAZIONE

Page 25: INTRODUZIONE AI SISTEMI OPERATIVI

Paginazione Paginazione

Programma DProgramma D

Memoria

0000x Programma AProgramma A

Programma AProgramma A

Programma AProgramma A

Programma BProgramma B

Programma BProgramma B

Page 26: INTRODUZIONE AI SISTEMI OPERATIVI

Paginazione Paginazione

Programma DProgramma D

Memoria

0000x

Programma EProgramma E

Programma AProgramma A

Programma AProgramma A

Programma AProgramma A

Programma FProgramma F

Programma FProgramma F

Page 27: INTRODUZIONE AI SISTEMI OPERATIVI

Memoria Virtuale Memoria Virtuale

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

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

Si usa il concetto di Si usa il concetto di memoria virtuale.memoria virtuale.

Page 28: INTRODUZIONE AI SISTEMI OPERATIVI

Memoria Virtuale Memoria Virtuale (Cont.)(Cont.)

I dati dei programmi non in esecuzione I dati dei programmi non in esecuzione possono essere tolti dalla memoria possono essere tolti dalla memoria centrale e parcheggiati su disco nella centrale e parcheggiati su disco nella cosiddetta cosiddetta area di swap;area di swap;

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

I moderni processori posseggono I moderni processori posseggono meccanismi hardware per facilitare la meccanismi hardware per facilitare la gestione della memoria viertuale.gestione della memoria viertuale.

Page 29: INTRODUZIONE AI SISTEMI OPERATIVI

Memoria Virtuale Memoria Virtuale

Programma DProgramma D

Memoria

0000x Programma A-1Programma A-1

Programma B-1Programma B-1

Programma A-2Programma A-2

Programma A-3Programma A-3

Programma B-2Programma B-2

Swap

Page 30: INTRODUZIONE AI SISTEMI OPERATIVI

Memoria Virtuale Memoria Virtuale

Programma DProgramma D

Memoria

0000x Programma A-2Programma A-2

Programma B-1Programma B-1

Programma A-1Programma A-1

Programma A-3Programma A-3

Programma B-2Programma B-2

Swap

Page 31: INTRODUZIONE AI SISTEMI OPERATIVI

Gestore del File SystemGestore del File System

Page 32: INTRODUZIONE AI SISTEMI OPERATIVI

Gestore del File SystemGestore del File System

Il Il gestore del file systemgestore del file system è quel modulo è quel modulo del sistema operativo incaricato di del sistema operativo incaricato di gestire le informazioni memorizzate sui gestire le informazioni memorizzate sui dispositivi di memoria di massa;dispositivi di memoria di massa;

Il gestore del file system deve garantire Il gestore del file system deve garantire la correttezza e la coerenza delle la correttezza e la coerenza delle informazioni;informazioni;

Page 33: INTRODUZIONE AI SISTEMI OPERATIVI

Gestore del File System Gestore del File System (Cont.)(Cont.)

Nei sistemi multi-utente, deve mettere a Nei sistemi multi-utente, deve mettere a disposizione dei meccanismi di protezione disposizione dei meccanismi di protezione in modo tale da consentire agli utenti di in modo tale da consentire agli utenti di proteggere i propri dati dall’accesso da proteggere i propri dati dall’accesso da parte di altri utenti non autorizzati.parte di altri utenti non autorizzati.

Page 34: INTRODUZIONE AI SISTEMI OPERATIVI

Gestore del File System Gestore del File System (Cont.)(Cont.)

Le funzioni tipiche che deve svolgere sono:Le funzioni tipiche che deve svolgere sono:– Fornire un meccanismo per l’identificazione dei Fornire un meccanismo per l’identificazione dei

Files;Files;– Fornire opportuni metodi per accedere ai dati;Fornire opportuni metodi per accedere ai dati;– Rendere trasparente la struttura fisica del Rendere trasparente la struttura fisica del

supporto di memorizzazione;supporto di memorizzazione;– Implementare meccanismi di protezione dei Implementare meccanismi di protezione dei

dati.dati.

Page 35: INTRODUZIONE AI SISTEMI OPERATIVI

OrganizzazioneOrganizzazione

Quasi tutti i sistemi operativi utilizzano Quasi tutti i sistemi operativi utilizzano un’organizzazione un’organizzazione gerarchicagerarchica del File del File System;System;

L’elemento utilizzato per raggruppare più L’elemento utilizzato per raggruppare più file insieme è la file insieme è la directorydirectory;;

L’insieme gerarchico delle directory e dei L’insieme gerarchico delle directory e dei file può essere rappresentato attraverso un file può essere rappresentato attraverso un grafo delle directory.grafo delle directory.

Page 36: INTRODUZIONE AI SISTEMI OPERATIVI

Grafo delle DirectoryGrafo delle Directory

DirectoryDirectory

FileFile

Page 37: INTRODUZIONE AI SISTEMI OPERATIVI

Gestore dei Dispositivi Gestore dei Dispositivi di I/Odi I/O

Page 38: INTRODUZIONE AI SISTEMI OPERATIVI

Gestore dei dispositivi di I/OGestore dei dispositivi di I/O

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

Da esso dipende la qualità e il tipo di Da esso dipende la qualità e il tipo di periferiche riconosciute dal sistema.periferiche riconosciute dal sistema.

Page 39: INTRODUZIONE AI SISTEMI OPERATIVI

Gestore dei dispositivi di I/OGestore dei dispositivi di I/O

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

Da esso dipende la qualità e il tipo di Da esso dipende la qualità e il tipo di periferiche riconosciute dal sistema.periferiche riconosciute dal sistema.

Page 40: INTRODUZIONE AI SISTEMI OPERATIVI

Device DirverDevice Dirver

Il controllo dei dispositivi di I/O avviene Il controllo dei dispositivi di I/O avviene attraverso speciali programmi detti attraverso speciali programmi detti Device Device Driver;Driver;

I device driver sono spesso realizzati dai I device driver sono spesso realizzati dai produttori dei dispositivi stessi che ne produttori dei dispositivi stessi che ne conoscono le caratteristiche fisiche in conoscono le caratteristiche fisiche in maniera approfondita.maniera approfondita.

Page 41: INTRODUZIONE AI SISTEMI OPERATIVI

Device Driver Device Driver (Cont.)(Cont.)

Questi programmi implementano Questi programmi implementano normalmente le seguenti funzioni:normalmente le seguenti funzioni:– Rendono trasparenti le caratteristiche fisiche Rendono trasparenti le caratteristiche fisiche

tipiche di ogni dispositivo;tipiche di ogni dispositivo;– Gestiscono la comunicazione dei segnali verso i Gestiscono la comunicazione dei segnali verso i

dispositivi;dispositivi;– Gestiscono i conflitti, nel caso in cui due o più Gestiscono i conflitti, nel caso in cui due o più

task vogliono accedere contemporaneamente task vogliono accedere contemporaneamente allo stesso dispositivo.allo stesso dispositivo.

Page 42: INTRODUZIONE AI SISTEMI OPERATIVI

Interfaccia UtenteInterfaccia Utente

Page 43: INTRODUZIONE AI SISTEMI OPERATIVI

Interfaccia utenteInterfaccia utente

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

L’insieme di questi meccanismi di accesso L’insieme di questi meccanismi di accesso al computer prende il nome di al computer prende il nome di Interfaccia Interfaccia Utente.Utente.

Page 44: INTRODUZIONE AI SISTEMI OPERATIVI

Interfaccia utente Interfaccia utente (Cont.)(Cont.)

Interfaccia testuale:Interfaccia testuale:– Interprete dei comandi ( shell )Interprete dei comandi ( shell )– Esempio MS-DOSEsempio MS-DOS

Interfaccia grafica (a finestre):Interfaccia grafica (a finestre):– L’output dei vari programmi viene visualizzato L’output dei vari programmi viene visualizzato

in maniera grafica all’interno di finestrein maniera grafica all’interno di finestre– L’utilizzo di disegni rende più intuitivo l’uso L’utilizzo di disegni rende più intuitivo l’uso

del calcolatore;del calcolatore;– Esempio WINDOWS Esempio WINDOWS

Page 45: INTRODUZIONE AI SISTEMI OPERATIVI

I Sistemi Presenti in I Sistemi Presenti in CommericioCommericio

Page 46: INTRODUZIONE AI SISTEMI OPERATIVI

I Sistemi Operativi presenti in I Sistemi Operativi presenti in commercialicommerciali

In commercio sono presenti una grande In commercio sono presenti una grande quantità di diversi Sistemi Operativi;quantità di diversi Sistemi Operativi;

In passato la tendenza delle case costruttrici In passato la tendenza delle case costruttrici di sistemi di elaborazione era di sviluppare di sistemi di elaborazione era di sviluppare sistemi operativi proprietari per le loro sistemi operativi proprietari per le loro architetture;architetture;

La tendenza attuale è quella di sistemi La tendenza attuale è quella di sistemi operativi eseguibili su diverse piattaforme. operativi eseguibili su diverse piattaforme.

Page 47: INTRODUZIONE AI SISTEMI OPERATIVI

MS-DOSMS-DOS

– CPU Intel 80x86 (16 bit)CPU Intel 80x86 (16 bit)– monotaskmonotask– monoutentemonoutente– file-system gerarchicofile-system gerarchico– memoria limitata (1 MB / 640 KB)memoria limitata (1 MB / 640 KB)– nessuna protezionenessuna protezione– PC- / IBM- / DR-DOSPC- / IBM- / DR-DOS

Page 48: INTRODUZIONE AI SISTEMI OPERATIVI

MS-WindowsMS-Windows

– CPU Intel 80386/486/PentiumCPU Intel 80386/486/Pentium– multitask imperfettomultitask imperfetto

(non ha la (non ha la preemptionpreemption))– monoutentemonoutente– stesso file system del MS-DOSstesso file system del MS-DOS– interfaccia grafica a finestre e menù interfaccia grafica a finestre e menù – sistema a 16 bit !!!sistema a 16 bit !!!

Page 49: INTRODUZIONE AI SISTEMI OPERATIVI

Windows-NTWindows-NT

– CPU Intel 80386/486/Pentium/Sparc/AlfaCPU Intel 80386/486/Pentium/Sparc/Alfa– multitaskmultitask– monoutentemonoutente– NTFS (NT File System)NTFS (NT File System)– microkernel, threadmicrokernel, thread– non solo per Intel 80x86non solo per Intel 80x86

(DEC-AXP, MIPS-R4000, ...)(DEC-AXP, MIPS-R4000, ...)– sistema a 32 bitsistema a 32 bit

Page 50: INTRODUZIONE AI SISTEMI OPERATIVI

UNIXUNIX

– nato negli anni ‘60 (AT&T Bell Labs)nato negli anni ‘60 (AT&T Bell Labs)– rimasto all’avanguardia perchè sviluppato nelle rimasto all’avanguardia perchè sviluppato nelle

università (UCB)università (UCB)– multitaskmultitask– multiutentemultiutente– ottima integrazione in reteottima integrazione in rete– portabilità dei programmiportabilità dei programmi