La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

(processore, i dispositivi di input/output, ecc.)

Presentazioni simili


Presentazione sul tema: "(processore, i dispositivi di input/output, ecc.)"— Transcript della presentazione:

1 (processore, i dispositivi di input/output, ecc.)
Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

2 La macchina virtuale Hardware Utente La macchina virtuale
Hardware

3 Il sistema operativo Hardware Utente 011100010111010101000011110 Avvio
Gestione: i processi, la memoria, i disp. di input/output Interfaccia utente

4 Funzioni principali del sistema operativo
Avvio del computer Gestione del processore e dei processi Gestione della memoria principale Gestione della memoria virtuale Gestione della memoria secondaria Gestione dei dispositivi di input/output Interazione con l’utente

5 Funzioni principali del sistema operativo
Avvio del computer Gestione del processore e dei processi Gestione della memoria principale Gestione della memoria virtuale Gestione della memoria secondaria Gestione dei dispositivi di input/output Interazione con l’utente Un processo è un programma in esecuzione

6 Esecuzione dei programmi
Quando si scrive un comando (oppure si clicca sull’icona di un programma) …. C:> print foo1.doc C:> oppure

7 Esecuzione dei programmi
Quando si scrive un comando (oppure si clicca sull’icona di un programma), il sistema operativo: Cerca il programma corrispondente sulla memoria secondaria Copia il programma in memoria principale Processore Memoria principale Stampante Memoria secondaria

8 Esecuzione dei programmi
Quando si scrive un comando (oppure si clicca sull’icona di un programma), il sistema operativo: Cerca il programma corrispondente sulla memoria secondaria Copia il programma in memoria principale Imposta il registro Program Counter con l’indirizzo in memoria principale della prima istruzione del programma

9 Il sistema operativo Mono-utente o multi-utente (mono/multi-user)
Si distingue tra elaboratori di tipo personale e elaboratori utilizzabili da più utenti contemporaneamente Mono-programmati o multi-programmati (mono/multi-tasking) Si distingue tra elaboratori in grado di eseguire un solo programma alla volta oppure più programmi “contemporaneamente”

10 Sistemi mono-utente, mono-programmati
Un solo utente può eseguire un solo programma alla volta È forzato a sequenzializzare i programmi Ma il processore non viene sfruttata al meglio Il processore è molto più veloce dei supporti di memoria secondaria e delle altre periferiche Passa la maggior parte del suo tempo in attesa Durante l’attesa si dice che il processore è un uno stato inattivo (idle)

11 Sistemi mono-utente, mono-programmati
Supponiamo che il nostro sistema sia un bar in cui il barista serve diversi clienti Il barista è corrispondente del processore, i clienti sono l’equivalente dei processi da eseguire Esecuzione mono-programmati: Client 1 Client 2 Ordinare Preparare il caffé Consumare Ordinare Preparare il caffé Consumare Pagare Pagare

12 Esempio 1 Un processo è costituito da 1000=103 istruzioni
Ogni istruzione richiede 10-6 secondi per essere eseguita dal processore Tempo totale di esecuzione?

13 Esempio 1 Un processo è costituito da 1000=103 istruzioni
Ogni istruzione richiede 10-6 secondi per essere eseguita dal processore Tempo totale di esecuzione: 103 * 10-6 = 10-3 = 1 millisecondo A metà esecuzione è richiesta la lettura di un dato dal disco. Il tempo di lettura è 1 millisecondo Tempo totale di esecuzione = 2 millisecondi Idle time = 1 millisecondo: 50% del tempo totale di esecuzione ed è tempo sprecato

14 Esempio 2 Un processo è costituito da 1000=103 istruzioni
Ogni istruzione richiede 10-6 secondi per essere eseguita dal processore Tempo totale di esecuzione: 103 * 10-6 = 10-3 = 1 millisecondo A metà esecuzione è richiesta un dato al’utente. Il tempo di reazione è 1 secondo Tempo totale dell’esecuzione = 1001 millisecondi Idle time = 1 secondo: 99,9% del tempo totale di esecuzione ed è tempo sprecato

15 Esecuzione sequenziale
Processo P1 Processo P2 inizio fine inizio fine in attesa esec Processore attivo idle

16 Soluzione In realtà: Client 1 Client 2 Ordinare (C1) Ordinare (C2)
Pagare (C1) Preparare il caffé (C1) Preparare il caffé (C2) Pagare (C2)

17 Soluzione: sistemi multiprogrammati
Quando il processore è nello stato di idle la si può sfruttare per eseguire (parte di) un altro processo Quando un processo si ferma (per esempio in attesa di un dato dall’utente) il processore può passare ad eseguire le istruzione di un altro processo Il sistema operativo si occupa dell’alternanza tra i processi in esecuzione

18 Sistemi multiprogrammati
Dal punto di vista dei processi P1 P2 Dal punto di vista del processore esec P1 esec P2

19 Sistemi multiprogrammati
Più programmi sembrano essere eseguiti “contemporaneamente” In realtà in esecuzione c’è sempre un solo processo Ma, se l’alternanza è molto frequente, si ha un’idea di simultaneità

20 Sistemi multiprogrammati
Un processo può trovarsi in tre diversi stati: in esecuzione, in attesa, pronto Quando sta utlizzando il processore esecuzione pronto attesa Quando è potenzialmente in condizione di poter utlizzare il processore che è occupato da un altro processo Quando è in attesa del verificarsi di un evento esterno

21 Sistemi multiprogrammati
terminazione esecuzione richiesta I/O o risorse scambio esecuzione pronto attesa I/O terminato o risorsa disponibile

22 Sistemi multiprogrammati
Quando un processo viene creato viene messo nello stato di pronto in tale stato rimane fino a quando non arriverà il suo turno pronto

23 Sistemi multiprogrammati
Un processo può abbandonare lo stato di esecuzione per tre diverse ragioni esecuzione pronto attesa

24 Sistemi multiprogrammati
Un processo può abbandonare lo stato di esecuzione per tre diverse ragioni terminazione esecuzione Il processo termina la sua esecuzione e abbandona il sistema pronto attesa

25 Sistemi multiprogrammati
Un processo può abbandonare lo stato di esecuzione per tre diverse ragioni terminazione esecuzione richiesta I/O o risorse pronto attesa Il processore viene liberato e può essere concesso ad un altro processo pronto

26 Sistemi multiprogrammati
Un processo può abbandonare lo stato di esecuzione per tre diverse ragioni terminazione esecuzione richiesta I/O o risorse scambio esecuzione pronto attesa Per realizzare in modo equo l’alternanza tra i processi, in certi casi può essere opportuno fermare un processo e concedere il processore ad un altro processo

27 Sistemi multiprogrammati
In quali casi è opportuno fermare un processo e concedere il processore ad un altro processo? Se un processo non si ferma mai in attesa di input/output o di una risorsa Se più utenti vogliono usare il computer Si parla di scheduling del processore

28 Esempio di scheduling: Round Robin
Ad ogni processo viene assegnato un quanto di tempo del processore (time slice) Terminato il quanto di tempo, il processo viene sospeso e rimesso nella coda dei processi pronti (al fondo) Il processore viene assegnata ad un altro processo pronto Un processo può usare meno del quanto che gli spetta se deve eseguire operazioni di I/O oppure ha terminato la sua computazione

29 Sistemi multi-utente, multi-programmati
Più utenti possono usare allo stesso tempo il computer perché il processore viene assegnata periodicamente ai processi dei vari utenti All’aumentare del numero di processi e del numero di utenti le prestazioni del sistema possono degradare

30 Esercizio 1a Supponiamo di avere nella coda dei processi pronti tre processi P1, P2 e P3 con i seguenti “comportamenti” in termini di computazione e tempi di attesa Quante unità di tempo ci vogliono per portare a termine tutti e tre i processi in un sistema mono-programmato? calcolo P1 10 40 10 P2 in attesa 10 20 30 P3 10 10 10 10 10

31 Esercizio 1a: soluzione
Quante unità di tempo ci vogliono per portare a termine tutti e tre i processi in un sistema mono-programmato? Tot(P1)=60, Tot(P2)=60, Tot(P3)=50 Tot(P1+P2+P3) = = 170 10 40 10 10 20 30 10 10 10 10 10

32 Esercizio 1b Supponiamo di avere nella coda dei processi pronti tre processi P1, P2 e P3 con i seguenti “comportamenti” in termini di computazione e tempi di attesa Quante unità di tempo ci vogliono per portare a termine tutti e tre i processi in un sistema multi-programmato, se si applica l’alternanza tra i processi? calcolo P1 10 40 10 P2 in attesa 10 20 30 P3 10 10 10 10 10

33 Esercizio 1b: una soluzione
Quante unità di tempo ci vogliono per portare a termine tutti e tre i processi in un sistema multi-programmato, se si applica l’alternanza tra i processi? 10 40 20 30 P1 P2 P3 In questo caso, quando un processo va in attesa, Il processsore viene assegnato al primo processo pronto Totale = 100 P1 in attesa P2 in attesa P3 in attesa P3 in attesa

34 Esercizio 1b: un’altra soluzione
Quante unità di tempo ci vogliono per portare a termine tutti e tre i processi in un sistema multi-programmato, se si applica l’alternanza tra i processi? 10 40 20 30 P1 P2 P3 Totale = 100 P1 in attesa P2 in attesa P3 in attesa P3 in attesa

35 Esercizio 1b: una soluzione optimale
Quante unità di tempo ci vogliono per portare a termine tutti e tre i processi in un sistema multi-programmato, se si applica l’alternanza tra i processi? 10 40 20 30 P1 P2 P3 Totale = 90 P1 in attesa P2 in attesa P3 in attesa P3 in attesa

36 Esercizio 2 Supponiamo di avere nella coda dei processi pronti i processi P1 durata = 40 unità di tempo P2 durata = 10 unità di tempo P3 durata = 60 unità di tempo P4 durata = 30 unità di tempo Qual è una sequenza di esecuzione con una politica di scheduling Round Robin e quanto di tempo pari a 20 unità?

37 Esercizio 2: soluzione P1 durata = 40 unità di tempo
20 30 50 70 90 110 120 140 Non consideriamo eventuali tempi di attesa

38 Gestione dei processi Per gestire un insieme di processi “contemporaneamente” attivi il sistema operativo mantiene la tabella di processi Per ogni processo vi è un descrittore nel quale sono memorizzate informazioni come: L’identificatore del processo L’identificatore dell’utente proprietario Lo stato del processo Ecc. Queste informazioni servono per realizzare l’operazione di cambio di contesto

39 Gestione dei processi Cambio di contesto:
Quando un processo rilascia il processore, le informazioni sul suo stato vengono memorizzate nel suo descrittore all’interno della tabella dei processi In questo modo, quando tornerà nuovamente in esecuzione, il processo potrà ripartire dal punto in cui era stato interotto

40 Funzioni principali del sistema operativo
Avvio del computer Gestione del processore e dei processi Gestione della memoria principale Gestione della memoria virtuale Gestione della memoria secondaria Gestione dei dispositivi di input/output Interazione con l’utente

41 Gestione della memoria secondaria
La memoria secondaria serve per memorizzare programmi e dati in modo permanente Il file system: quella parte del sistema operativo che si occupa di gestire e strutturare le informazioni memorizzate sulla memoria secondaria Processore Memoria principale Stampante Memoria secondaria

42 Consigli: è meglio usare nomi significativi
Il file system I file vengono utilizzati come supporto per la memorizzazione dei programmi e dei dati Un file deve avere un nome logico Consigli: è meglio usare nomi significativi mio.doc, a.txt tesi.doc, inf9.ppt

43 Esempi: .doc .txt .html .jpg .gif
Il file system Un file ha anche una estensione Esempi: .doc .txt .html .jpg .gif Le estensioni sono importanti perchè di solito indicano il tipo del file (quindi danno informazioni sul programma applicativo in grado di manipolarlo)

44 Il file system Mediante il file system il sistema operativo fornisce una visione astratta dei file su disco Utente Hardware Avvio Gestione: i processi, la memoria, i disp. di input/output Interfaccia utente

45 Il file system Il file system permette all’utente di:
Identificare ogni file mediante il suo nome Operare sui file mediante opportune operazioni Effetuare l’accesso alle informazioni grazie ad operazione di alto livello, che non tengono conto del tipo di memorizzazione Per esempio, si deve accedere allo stesso modo ad un file memorizzato sul disco rigido oppure su un CD-ROM

46 Il file system Il file system permette all’utente di: …
Strutturare i file, organizzandoli in sottoinsiemi secondo le loro caratteristiche, per avere una visione “ordinata” e strutturata delle informazioni sul disco Proteggere i propri file in un sistema multi-utente, ossia per impedire ad altri utenti di leggerli, scriverli o cancellarli

47 Il file system Un insieme di operazioni minimale: Creazione di un file
Cancellazione di un file Copia o spostamento di un file Visualizzazione del contenuto di un file Stampa di un file Modifica del contenuto di un file Rinomina di un file Visualizzazione delle caratteristiche di un file

48 Organizzazione gerarchica dei file
Il numero di file che devono essere memorizzati su un disco può essere molto elevato Si ha quindi la necessità di mantenere i file in una forma ordinata Un unico spazio (“contentitore”) di file è scomodo

49 Organizzazione gerarchica dei file
L’idea è quella di ragruppare i file in sottoinsiemi Questi sottoinsiemi di file vengono memorizzati all’interno di contenitori dette cartelle (directory) I nomi dei file sono locali alle directory Si possono avere due file con lo stesso nome perché siano in due directory diverse

50 Organizzazione gerarchica dei file
I computer sono dotati di più unità di memoria secondaria, per esempio: Unità per floppy disk: A Unità per disco fisso: C Unità per CD-ROM: D DOS e Windows usano dei nomi per distinguire le unità

51 Organizzazione gerarchica dei file
Photoshop.exe Applicazioni Elab_imm Premiere.exe Elab_testi Winword.exe libro1 Narrativa-Fra libro2 A: Biblioteca Narrativa-Ing libro1 libro1 Narrativa-Ita libro2 Bianchi … Utenti Rossi … Pautasso … Indice

52 Organizzazione gerarchica dei file
radice dell’albero Photoshop.exe Applicazioni Elab_imm Premiere.exe Elab_testi Winword.exe libro1 foglie Narrativa-Fra libro2 A: Biblioteca Narrativa-Ing libro1 libro1 Narrativa-Ita libro2 Bianchi … Utenti Rossi … Questa struttura viene chiamata albero Pautasso … Indice

53 Organizzazione gerarchica dei file
Nel caso di un’organizzazione gerarchica a più livelli il nome non è più sufficiente ad identificare un file Per individuare un file o directory in modo univoco si deve allora specificare l’intera sequenza di directory che lo contengono, a partire dalla radice dell’albero (“pathname”) libro1 Narrativa-Fra libro2 A: Biblioteca Narrativa-Ing libro1 libro1 Narrativa-Ita libro2

54 Organizzazione gerarchica dei file
Ad esempio il file libro1 di narrativa italiana è univocamente identificato dal pathname A:\Biblioteca\Narrativa-Ita\libro1 La directory Pautasso di Utenti è identificata dal pathname A:\Utenti\Pautasso

55 Organizzazione gerarchica dei file
Un altro modo di individuare un file o una directory è basato sul concetto di posizione relativa (pathname relativo) In questo caso per indivduare un file o una directory in modo univoco si deve specificare l’intera sequenza di directory lo contengono, a partire dalla posizione corrente

56 Organizzazione gerarchica dei file
Photoshop.exe Applicazioni Elab_imm Premiere.exe Elab_testi Winword.exe libro1 Narrativa-Fra libro2 A: Biblioteca Narrativa-Ing libro1 libro1 Narrativa-Ita libro2 Bianchi … Utenti Rossi … Posizione corrente Pautasso … Indice

57 Organizzazione gerarchica dei file
Se la posizione corrente è A:\Biblioteca, il file libro1 di narrativa italiana è univocamente identificato dalla sequenza Narrativa-Ita\libro1 Se la posizione corrente è A:\Utenti, la directory Pautasso è identificata dalla sequenza Pautasso “Narrativa-Ita\libro1” e “Pautasso” sono esempi di pathname relativo

58 Organizzazione fisica dei file
presentazione.ppt Sistema operativo (file system) Blocco Settore

59 Organizzazione fisica dei file
Nel caso della memorizzazione fisica si devono considerare: Quali file sono memorizzati si disco? Dove sono? Come si può ottimizzare lo spazio su disco, evitando degli sprechi?

60 Organizzazione fisica dei file
Come sono memorizzati i file? Allocazione contigua Ogni file è visto come una entità indivisibile memorizzata in blocchi contigui Noto l’indirizzo del primo blocco e il numero di blocchi si accede alle informazioni Allocazione sparsa I blocchi sono memorizzati separatamente

61 Allocazione sparsa Possiamo vedere il disco fisso come un quaderno can tante pagine su cui un utente scrive delle relazione (file) L’utente ha la necessità di scrivere, cancellare, e modificare i file Problemi: Quando un file viene cancellato rimangono delle pagine “vuote” La modifica di un file può dare origine ad una nuova versione più corta o più lunga di quella precedente (potrebbero esserci dei file richiedono delle pagine già occupate da altri file)

62 Allocazione sparsa In analogia con un quaderno “ad anelli”, le pagine possono essere spostate, aggiunte, cancellate senza creare sprechi di spazio e senza limitazioni sulla cerscita delle dimensioni di un file (l’unico limite è quello di avere pagine bianche) In analogia con l’utilizzo di un indice, le pagine del quaderno vengono numerate e l’indice conterrà (nell’ordine) i numeri delle pagine del file


Scaricare ppt "(processore, i dispositivi di input/output, ecc.)"

Presentazioni simili


Annunci Google