INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in...

97
1 INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e Sistema Operativo (Come usiamo un Computer?)

Transcript of INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in...

Page 1: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

1INFORMATICA

Scienze e Tecniche Psicologiche

C. Gena, C. Picardi,J. Sproston

INFORMATICACdL in Scienze e Tecniche Psicologiche

Parte IIISoftware e Sistema Operativo

(Come usiamo un Computer?)

Page 2: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

2INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Sul libro...

Console, Ribaudo, Avalle: Introduzione all’Informatica.

Capitolo 4: tutto Capitolo 5:

Introduzione tutta 5.1 tutto 5.2 fino al 5.2.1 escluso 5.3 tutto ma:

di Partizioni Fisse, Partizioni Variabili, Segmentazione, Paginazione, Swapping e Demand Paging è sufficiente sapere su che principio si basano e quali sono le differenze (ciò che è svolto sui lucidi).

Va invece saputa bene la parte iniziale di 5.3.1 e 5.3.2 e la differenza fra Allocazione Contigua e Allocazione Non Contigua.

5.4 tutto 5.5 no 5.6 tutto

Page 3: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

3INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Il software

Il processore esegue istruzioni scritte in linguaggio macchina

Istruire un computer (cioè scrivere un programma) direttamente in linguaggio macchina sarebbe (al giorno d’oggi) impossibile

Il linguaggio macchina dipende molto dalle componenti fisiche

Bisogna conoscere in dettaglio la struttura fisica della macchina

Macchine diverse possono avere linguaggi macchina diversi

Si è perciò introdotto il concetto di macroistruzione

Insieme di istruzioni macchina che esegue un compito

Page 4: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

4INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Macroistruzione

Macroistruzione porzione di programma che esegue un compito ben preciso

Quando il programmatore vuole dire alla macchina di eseguire quel compito non scrive tutte le istruzioni in linguaggio macchina

Scrive solo il nome della macroistruzione Uno speciale programma chiamato compilatore traduce

poi la macroistruzione nelle corrispondenti istruzioni macchina

Chi ha scritto il compilatore doveva ovviamente conoscere il linguaggio macchina!

Le macroistruzioni sono ovviamente parametriche Come con le istruzioni macchina si specifica insieme al

compito anche il dato su cui deve essere eseguito

Page 5: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

5INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Un esempio

Macroistruzione “Visualizza X Y”: MOSTRA SULLO SCHERMO L’IMMAGINE CHE SI TROVA

AGLI INDIRIZZI DI MEMORIA DA X A Y1. ripeti le seguenti istruzioni per tutti i numeri N che vanno

da 0 a X-Y:a. trasferisci nel registro PincoPallo il contenuto della cella di

memoria all’indirizzo X+Nb. scrivi il contenuto del registro PincoPallo nella cella N della

memoria video

2. manda al video il segnale di visualizzare l’immagine Per visualizzare un’immagine da 10 KB all’indirizzo

di memoria 234 scrivo: Visualizza 234 10473

Page 6: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

6INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Macchina virtuale

L’insieme delle macroistruzioni definisce il comportamento di una macchina virtuale

virtuale non reale, inesistente infatti non c’è una macchina che esegue direttamente

quelle istruzioniLe istruzioni vengono tradotte nel linguaggio macchinaIl linguaggio macchina è il linguaggio della macchina reale

Si dice che la macchina reale implementa la macchina virtuale

Questo avviene tramite la traduzione delle istruzioni da un linguaggio all’altro

Vantaggio: macchine reali diverse possono implementare la stessa macchina virtuale

Uniformità di linguaggio programmi portabili

Page 7: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

7INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Gerarchie di macchine virtuali

Posso portare oltre questo discorso “super-macro-istruzioni”

programmi composti da più macroistruzioni che svolgono attività ancora più complesse

Tradotte in macroistruzioni, a loro volta tradotte in istruzioni macchina

Esempio: Una super-macro-istruzione che deve mostrare un

filmato usa più volte la macro istruzione che mostra la singola immagine

In pratica aggregando sempre di più le istruzioni ottengo macchine virtuali di livello sempre più alto

Page 8: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

8INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Astrazione

Macchina Virtuale Liv. N+1(applicativi)

Macchina Virtuale Liv. N (linguaggi di programmazione

ad alto livello)

Macchina Virtuale Liv. 1 (macroistruzioni)

Macchina Fisica (Linguaggio Macchina)

Maggiore astrazione dalle caratteristiche fisiche della macchina

Maggiore facilità d’uso

Maggiore rapidità nell’istruire la macchina in compiti complessi

Page 9: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

9INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Astrazione

Macchina Virtuale Liv. N+1(applicativi)

Macchina Virtuale Liv. N (linguaggi di programmazione

ad alto livello)

Macchina Virtuale Liv. 1 (macroistruzioni)

Macchina Fisica (Linguaggio Macchina)

Informatico

Utente

Page 10: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

10INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Il ruolo del Sistema Operativo

Automatizza la gestione di molti compiti contribuendo ad alzare il livello di astrazione

È fondamentale nell’ultimo livello di astrazione Permette all’utente di usare un computer senza conoscere in

dettaglio i suoi meccanismi e senza saperlo programmare!L’utente gestisce le attività del computer attraverso il sistema

operativoEsegue programmi già scritti per lui dai programmatori

Macchina Virtuale Liv. N+1(applicativi)

Macchina Virtuale Liv. N (linguaggi di programmazione

ad alto livello)

Macchina Virtuale Liv. 1 (macroistruzioni)

Macchina Fisica (Linguaggio Macchina)

SISTEMA OPERATIVO

Page 11: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

11INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Cosa fa il sistema operativo?

1. Avvia il computer2. Permette di avere in esecuzione più programmi

contemporaneamente Gestione del processore come “distribuire” il suo tempo fra

programmi diversi? Gestione della memoria principale come “distribuire” il suo spazio fra

programmi diversi?

3. Gestisce la memoria secondaria4. Permette agli utenti di interagire con il computer

Gestione del sistema operativo stesso Installare (e disinstallare) programmi Configurare il computer e il sistema operativo

Attività vera e propria: Mandare in esecuzione un programma con cui reare nuovi documenti o

elaborare documenti esistenti Eliminare e rinominare documenti creati e riorganizzarne la disposizione Utilizzare le periferiche

Page 12: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

12INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Cosa fa il sistema operativo?

1. Avvia il computer2. Permette di avere in esecuzione più programmi

contemporaneamente Gestione del processore come “distribuire” il suo tempo fra

programmi diversi? Gestione della memoria principale come “distribuire” il suo spazio fra

programmi diversi?

3. Gestisce la memoria secondaria4. Permette agli utenti di interagire con il computer

Gestione del sistema operativo stesso Installare (e disinstallare) programmi Configurare il computer e il sistema operativo

Attività vera e propria: Mandare in esecuzione un programma con cui reare nuovi documenti o

elaborare documenti esistenti Eliminare e rinominare documenti creati e riorganizzarne la disposizione Utilizzare le periferiche

Page 13: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

13INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Avvio dell’elaboratore

Il sistema operativo viene mandato in esecuzione al momento dell’accensione del computer

Questa fase prende il nome di bootstrap In questa fase una parte del sistema operativo

viene caricata nella memoria principale

Page 14: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

14INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Avvio dell’elaboratore

In genere questa parte del sistema operativo comprende:

I programmi per la gestione del processoreI programmi per la gestione della memoriaI programmi per la gestione dell’input/outputI programmi per la gestione delle risorse hardwareI programma per la gestione del file systemUn programma che crea l’interfaccia verso l’utente

Page 15: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

15INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Avvio dell’elaboratore

Una parte del sistema operativo deve essere sempre mantenuta in memoria principale e deve essere sempre pronta per l’esecuzione

012345

N

S.O.

spazioutente

Page 16: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

16INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Cosa fa il sistema operativo?

1. Avvia il computer2. Permette di avere in esecuzione più programmi

contemporaneamente Gestione del processore come “distribuire” il suo tempo fra

programmi diversi? Gestione della memoria principale come “distribuire” il suo spazio fra

programmi diversi?

3. Gestisce la memoria secondaria4. Permette agli utenti di interagire con il computer

Gestione del sistema operativo stesso Installare (e disinstallare) programmi Configurare il computer e il sistema operativo

Attività vera e propria: Mandare in esecuzione un programma con cui reare nuovi documenti o

elaborare documenti esistenti Eliminare e rinominare documenti creati e riorganizzarne la disposizione Utilizzare le periferiche

Page 17: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

17INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Esecuzione dei programmi

Quando si scrive un comando (oppure si clicca sull’icona di un programma) ….

C:> print foo1.doc

C:> oppure

Page 18: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

18INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

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

Stampante Memoria secondaria

Memoria principale

Page 19: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

19INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

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

Page 20: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

20INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Sistemi mono-utente, mono-programmati

Un solo utente può eseguire un solo programma alla volta

È forzato a “sequenzializzare” i programmi Il programma viene lanciato, eseguito e quindi terminato Ma il processore viene sfruttato al meglio?

Page 21: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

21INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Sistemi mono-utente, mono-programmati

No, il processore non viene sfruttato al meglio: si spreca molto tempo

Il processore è molto più veloce dei supporti di memoria secondaria e delle altre periferiche

Passa la maggior parte del suo tempo in attesaDurante l’attesa si dice che il processore è un uno stato

inattivo (idle)

Page 22: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

22INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Esempio 1

Un processo è costituito da 1000=103 istruzioniOgni istruzione richiede 10-6 secondi per essere eseguita dal

processoreTempo 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 è tempo sprecato

Page 23: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

23INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Esempio 2

Un processo è costituito da 1000=103 istruzioniOgni istruzione richiede 10-6 secondi per essere eseguita dal

processoreTempo 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

è tempo sprecato

Page 24: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

24INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Esecuzione sequenziale

Processo P1 Processo P2

Processore

inizio fine inizio fine

esecuzione in attesa

attivo idle

Page 25: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

25INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Esecuzione sequenziale

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:

Ordinare Preparareil caffé

ConsumarePagare

Ordinare Preparareil caffé

ConsumarePagare

Client 1 Client 2

Page 26: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

26INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Soluzione

In realtà:

Ordinare(C1)

Preparareil caffé (C1)

Pagare(C1)

Ordinare(C2)

Preparareil caffé (C2)

Pagare(C2)

Client 1

Client 2

Page 27: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

27INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Soluzione: sistemi multiprogrammati

Quando il processore è nello stato di idle lo 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

Page 28: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

28INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Sistemi multiprogrammati

Dal punto di vista dei processi

Dal punto di vista del processore

P1

P2

esec P1 esec P2

Page 29: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

29INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

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à

Page 30: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

30INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Sistemi multiprogrammati

Un processo può trovarsi in tre diversi stati: in esecuzione, in attesa, pronto

esecuzione

attesapronto

Quando sta utlizzandoil processore

Quando è in attesa del verificarsidi un evento esterno

Quando è potenzialmente in condizione di poter utilizzare il processore che è occupato da un altro processo

Page 31: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

31INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Creazione di un processo

pronto

Quando un processo viene creato vienemesso nello stato di pronto: in tale stato rimane fino a quandonon arriverà il suo turno

creazione

Page 32: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

32INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Pronto Esecuzione

esecuzione

pronto

scambio esecuzione

creazione

Quando il processore si libera, il primo processo pronto viene mandato in esecuzione

Page 33: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

33INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Uscita dall’esecuzione

esecuzione

prontocreazione

Un processo può abbandonare lo stato di esecuzione per tre diverse ragioni

Page 34: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

34INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Terminazione

esecuzione

pronto

terminazione

Il processo terminala sua esecuzionee abbandona il sistema

creazione

1

Page 35: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

35INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Esecuzione Attesa

esecuzione

attesapronto

terminazione

Il processo deve aspettare che qualche evento esterno si compia (caricamento da disco, input dell’utente,etc)

richiesta I/Oo risorse

creazione

2

Page 36: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

36INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Attesa Pronto

esecuzione

attesapronto

terminazione

Una volta che l’evento atteso si è verificato, il processo tornerà ad essere pronto e dovrà aspettare il suo turno

richiesta I/Oo risorse

creazione

2

I/O terminato orisorsa disponibile

Page 37: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

37INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Esecuzione Pronto

esecuzione

attesapronto

richiesta I/Oo risorse

terminazioneIl processore decide “arbitrariamente” di lasciare spazio ad un altro processo. scambio

esecuzione

creazione

3

I/O terminato orisorsa disponibile

Page 38: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

38INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

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

In questi casi è necessario far sì che il processore sia distribuito tra i processi dello stesso utente e di utenti diversi

Si parla di scheduling del processore

Page 39: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

39INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Sistemi multi-utente

Più utenti possono usare allo stesso tempo il computer

… perché il processore viene assegnato periodicamente ai processi dei vari utenti (per esempio ogni 10 o 100 millisecondo)

All’aumentare del numero di processi e del numero di utenti le prestazioni del sistema possono degradare

Page 40: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

40INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

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 processoL’identificatore dell’utente proprietarioLo stato del processoEcc.

Queste informazioni servono per realizzare l’operazione di cambio di contesto

Page 41: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

41INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

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

Page 42: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

42INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Cosa fa il sistema operativo?

1. Avvia il computer2. Permette di avere in esecuzione più programmi

contemporaneamente Gestione del processore come “distribuire” il suo tempo fra

programmi diversi? Gestione della memoria principale come “distribuire” il suo spazio fra

programmi diversi?

3. Gestisce la memoria secondaria4. Permette agli utenti di interagire con il computer

Gestione del sistema operativo stesso Installare (e disinstallare) programmi Configurare il computer e il sistema operativo

Attività vera e propria: Mandare in esecuzione un programma con cui reare nuovi documenti o

elaborare documenti esistenti Eliminare e rinominare documenti creati e riorganizzarne la disposizione Utilizzare le periferiche

Page 43: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

43INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Gestione della memoria

Due problemi fondamentali: Multiprogrammazione

Più programmi in memoria contemporaneamenteCome lasciare a ciascuno il suo spazio senza che si

modifichino i dati a vicenda per errore? Programmi e/o dati di grandi dimensioni

Alcuni programmi potrebbero essere troppo grandi per essere contenuti in RAM

Oppure i dati che essi elaborano potrebbero essere troppo grandi

Esiste un modo che permetta a programmi in queste condizioni di funzionare ugualmente?

Page 44: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

44INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Partizioni

Per tenere più programmi in memoria contemporaneamente

Si divide la memoria in sezioni chiamate partizioni In ogni partizione un programma con i suoi dati

Una partizione è individuata da Un indirizzo di inizio partizione (base) Un indirizzo di fine partizione (limite)

Page 45: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

45INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Partizioni

Quando il processore genera un indirizzo... Una unità specifica (MMU) gli somma il valore della base

In questo modo si “sposta” tutto ciò che il programma fa nell’area di memoria di sua comptetenza

Inoltre la MMU controlla che non superi il valore del limite

I programmi non possono interferire fra di loro

Page 46: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

46INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Partizioni fisse vs. variabili

Partizioni fisse: Dimensione delle partizioni decisa a priori una volta per tutte Problema: spreco di spazio di memoria

All’interno di ciascuna partizione (perché il processo probabilmente sarà un po’ più piccolo della partizione) Frammentazione interna

Complessivo (perché potrei avere tante partizioni libere tutte troppo piccole per contenere il mio processo, che però potrebbe stare in memoria se la partizione fosse unica) Frammentazione esterna

Partizioni variabili: Dimensione delle partizioni decisa al momento del caricamento

del processoOvviamente più difficile da gestire della precedente, ma più

flessibileLa frammentazione esterna esiste comunque

Page 47: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

47INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Allocazione non contigua

Partizioni in generale poco flessibili Se non azzecco la dimensione giusta per la partizione il

programma potrebbe non riuscire a girare! La memoria potrebbe avere abbastanza spazio per un

programma, ma non contiguamenteTanti spazi liberi ciascuno di dimensioni troppo piccole

Sistema più flessibile: allocazione non contigua

I programmi (e i relativi dati) vengono spezzettati Le tecniche per ottenere questo sono ovviamente molto

sofisticate Si deve in pratica memorizzare per ciascun pezzo di

programma dove esso viene a trovarsi in memoria

Page 48: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

48INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Segmentazione vs. Paginazione

Segmentazione: Il processo viene suddiviso in base ai contenuti

Posso separare la parte contenente le istruzioni da quella contenente i dati

Possono esserci analoghi criteri per suddividere ulteriormente, ad es. tipi di dati o pezzi di programma che vengono usati in momenti diversi

Problema: gestione di segmenti di dimensioni diverse piuttosto complicata

Paginazione: Il processo viene diviso in pagine di uguale dimensione La memoria viene divisa in frame [inglese, significa cornice] (simili

alle partizioni) della stessa dimensioneAd ogni pagina è assegnato un frameUna zona particolare della memoria (tabella delle pagine) contiene

le associazioni fra pagine e frame

Page 49: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

49INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Memoria virtuale

Permette di avere in esecuzione un insieme di processi la cui dimensione complessiva supera la capacità della memoria

Due tecniche principali Swapping Paginazione

Entrambe basate sull’idea di usare la memoria secondaria come deposito temporaneo per ciò che non sta in RAM

Ovviamente questo causa dei rallentamenti nell’esecuzione

Page 50: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

50INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Swapping

I processi sono in esecuzione uno alla volta Quando un processo non è in esecuzione posso toglierlo

temporaneamente dalla RAM e metterlo in memoria secondaria

Quando ritorna in esecuzione lo riporto in RAM spostando eventualmente un altro processo

Page 51: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

51INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Paginazione

Nella paginazione il processo è diviso in pagine e la memoria in frame

La tabella delle pagine associa ad ogni pagina un frame Ma qualche pagina potrebbe anche non avere nessun

frame, ed essere temporaneamente depositata sul disco fisso!

Quando una pagina serve al processore, viene “promossa” in RAM a scapito di un’altra

Il sistema operativo adotta tecniche particolari per cercare di “intuire” quali pagine non serviranno più per un po’ e possono essere spostate su disco, e quali invece serviranno quasi subito per cui conviene tenerle in RAM.

Page 52: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

52INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Thrashing

Se la memoria è troppo piccola per l’insieme di programmi caricato il processore va in thrashing:

Passa più tempo a spostare i processi dalla memoria secondaria alla RAM (e vicecersa) che a eseguire i programmi

Il computer rallenta tantissimo e non è più utilizzabile Si capisce che il computer è in thrashing perché sebbene

sembra non stia facendo nulla il disco è continuamente utilizzato

Unica soluzione: aspettare che abbia finito di “macinare” e quindi chiudere uno o più programmi.

Page 53: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

53INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Cosa fa il sistema operativo?

1. Avvia il computer2. Permette di avere in esecuzione più programmi

contemporaneamente Gestione del processore come “distribuire” il suo tempo fra

programmi diversi? Gestione della memoria principale come “distribuire” il suo spazio fra

programmi diversi?

3. Gestisce la memoria secondaria4. Permette agli utenti di interagire con il computer

Gestione del sistema operativo stesso Installare (e disinstallare) programmi Configurare il computer e il sistema operativo

Attività vera e propria: Mandare in esecuzione un programma con cui reare nuovi documenti o

elaborare documenti esistenti Eliminare e rinominare documenti creati e riorganizzarne la disposizione Utilizzare le periferiche

Page 54: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

54INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Gestione della memoria secondaria

La memoria secondaria serve per memorizzare programmi e dati in modo permanente.

Il concetto centrale è quello di file (=archivio, dossier) File insieme di informazioni omogenee che vengono

memorizzate insieme e a cui viene associato un nome che permetta di reperirle

File di programma contengono istruzioni che possono venire eseguite dal processore.

File di dati detti anche documenti, contengono i dati dell’utente.

File system parte del sistema operativo che si occupa di gestire e strutturare le informazioni memorizzate sulla memoria secondaria

Page 55: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

55INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Dal punto di vista dell’utente

File di programma Un programma è solitamente fatto da più file.

Uno di questi è chiamato “principale” o “eseguibile”. Installazione (copiatura “ordinata” dei file che costituiscono il

programma, registrazione del nuovo programma presso il sistema operativo)

Disinstallazione (cancellazione dei file e de-registrazione) Esecuzione (caricamento in memoria del file principale del

programma e creazione del processo corrispondente) Documenti

A seconda del tipo di documento (immagine, testo, etc) esso potrà essere creato e elaborato con programmi specifici

Il file system permette inoltre di intervenire sulla organizzazione dei documenti

In realtà permette di intervenire anche sulla organizzazione dei file di programma, ma conviene lasciarli stare!

Page 56: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

56INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Organizzazione dei file

I file devono essere organizzati in memoria secondaria perché sia facile reperirli!

Immaginiamo ciascun file come un documento cartaceo e la memoria secondaria come un armadio: non è una buona idea impilare tutti i documenti nell’armadio in modo casuale!

Il primo passo è associare a ciascun file una denominazione che permetta di identificarlo univocamente

Le denominazioni dei file hanno solitamente questa forma:

Il nome è scelto da chi crea il file, e dovrebbe permettergli di ricordare con facilità cosa esso contenga

L’estensione viene solitamente scelta dal programma con cui viene creato il file, e identifica la tipologia di informazioni i n esso contenute

NOME.EXT

Page 57: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

57INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Denominazione dei file

Chi crea il file ne sceglie il nome Alcune regole:

Scegliere nomi che abbiano senso (no “a”, “mio”, “documento”...)Non usare nei nomi caratteri speciali (no”segni di punteggiatura,

simboli, etc) Successivamente è possibile modificarlo

Non si devono modificare i nomi dei file di programma ma solo dei documenti!

L’estensione identifica il tipo di file, ed è solitamente di tre lettere

“.lib”, “.dll”, “.exe” sono estensioni tipiche dei file di programma Per i documenti, dipende dal tipo di documento

Es. “.txt” testo, “.bmp” immagine bitmap, etc È il programma con cui creiamo i documenti che stabilisce

l’estensione, solitamente è meglio non modificarlaModificare l’estensione non cambia il tipo di documento, così come

cambiare il vostro nome non vi trasforma in un’altra persona!

Page 58: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

58INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Organizzazione dei file

Se i file sono molti, dargli un nome non è sufficiente a reperirli con facilità (ed è difficile non usare due volte lo stesso nome!)

In un armadio useremmo delle cartellette o dei raccoglitori per dividere i documenti in modo logico...

Anche nel file system esiste il concetto di cartella (in inglese, folder o directory)

Una cartella è file speciale che funziona come un contenitore Una cartella può contenere dei file, e anche delle altre cartelle

(chiamate in questo caso sotto-cartelle)A differenza del caso dell’armadio, si possono mettere cartelle

dentro altre cartelle sino a che si vuole! Due file in due cartelle diverse possono anche avere lo stesso

nome: a distinguerli è la cartella di appartenenza

Questo porta alla organizzazione gerarchica dei file

Page 59: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

59INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Organizzazione gerarchica

La cima della gerarchia è l’unità di memoria secondaria Windows usa le lettere dell’alfabeto per identificare le diverse

unità: es. C hard disk, D cd o dvd, E penna usb,...

C

Page 60: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

60INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Organizzazione gerarchica

La cima della gerarchia è l’unità di memoria secondaria Windows usa le lettere dell’alfabeto per identificare le diverse

unità: es. C hard disk, D cd o dvd, E penna usb,... All’interno dell’unità si trovano file e cartelle...

C

Programmi

Documenti

config.log

Sistema

...

Page 61: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

61INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Organizzazione gerarchica

La cima della gerarchia è l’unità di memoria secondaria Windows usa le lettere dell’alfabeto per identificare le diverse

unità: es. C hard disk, D cd o dvd, E penna usb,... All’interno dell’unità si trovano file e cartelle... ...all’interno dei quali si trovano altri file e cartelle, etc.

C

Programmi

Documenti

config.log

Sistema

...

Claudia

Cristina

ElabTesti

ElabImg lucidi.ppt

libro.txt

lucidi.ppt

spese.xls

musica...

...

Page 62: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

62INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Organizzazione gerarchica

C

Programmi

Documenti

config.log

Sistema

...

Claudia

Cristina

ElabTesti

ElabImg lucidi.ppt

libro.txt

lucidi.ppt

spese.xls

musica...

...

ALBERO DEL FILE SYSTEM

Page 63: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

63INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Visualizzazione

Page 64: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

64INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Pathname

Pathname = nome del percorso Indica il percorso da seguire per raggiungere un file in

memoria secondariaSpecifica l’unità (es.: “C”)la sequenza di cartelle che bisogna aprire per trovare il file

(es.: “Documenti” quindi “Claudia” )Il nome del file (es.: “lucidi.ppt”)

C

Programmi

Documenti

config .log

Sistema

...

Claudia

Cristina

ElabTesti

ElabImglucidi. ppt

libro. txt

lucidi. ppt

spese. xls

musica...

...

Page 65: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

65INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Formato del pathname

C

Programmi

Documenti

config .log

Sistema

...

Claudia

Cristina

ElabTesti

ElabImglucidi. ppt

libro. txt

lucidi. ppt

spese. xls

musica...

...

C:\Documenti\Claudia\lucidi.ppt

Page 66: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

66INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Formato del pathname

C

Programmi

Documenti

config .log

Sistema

...

Claudia

Cristina

ElabTesti

ElabImglucidi. ppt

libro. txt

lucidi. ppt

spese. xls

musica...

...

C:\Documenti\Claudia\lucidi.ppt

Nome dell’unità di memoria secondaria, seguito dai due punti (:)

Page 67: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

67INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Formato del pathname

C

Programmi

Documenti

config .log

Sistema

...

Claudia

Cristina

ElabTesti

ElabImglucidi. ppt

libro. txt

lucidi. ppt

spese. xls

musica...

...

C:\Documenti\Claudia\lucidi.ppt

Nomi delle cartelle nell’ordine in cui devono essere aperte

Page 68: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

68INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Formato del pathname

C

Programmi

Documenti

config .log

Sistema

...

Claudia

Cristina

ElabTesti

ElabImglucidi. ppt

libro. txt

lucidi. ppt

spese. xls

musica...

...

C:\Documenti\Claudia\lucidi.ppt

Per finire, nome del file vero e proprio

Page 69: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

69INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Formato del pathname

C

Programmi

Documenti

config .log

Sistema

...

Claudia

Cristina

ElabTesti

ElabImglucidi. ppt

libro. txt

lucidi. ppt

spese. xls

musica...

...

C:\Documenti\Claudia\lucidi.ppt

I diversi elementi sono separati dal carattere \chiamato backslash

Page 70: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

70INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Formato del pathname

Page 71: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

71INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Manipolazione dei file

Un insieme di operazioni minimale:Creazione di un fileCancellazione di un fileCopia o spostamento di un fileVisualizzazione del contenuto di un fileStampa di un fileModifica del contenuto di un fileRinomina di un fileVisualizzazione delle caratteristiche di un file

Page 72: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

72INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Operazioni sulle cartelle

Per organizzare gerarchicamente i file, il sistema operativo deve fornire all'utente un insieme di operazioni per:

creare una nuova directoryrimuovere una directoryrinominare una directoryelencare il contenuto di una directorycopiare o spostare i file da una directory ad un'altra

Page 73: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

73INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Organizzazione fisica dei file

L’organizzazione del file system vista fino ad ora è di tipo puramente logico

Cioè fa vedere come il file system “fa vedere” i propri contenuti all’utente per permettergli di manipolarli

Organizzazione fisica: I file (e le cartelle) occupano dei blocchi su disco

Il sistema operativo deve sapere quali sono i file memorizzati sul disco sapere dove si trovano (in quali blocchi) per poterli

reperire ottimizzare lo spazio su disco (cioé evitare di sprecare

spazio inutilmente)

Page 74: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

74INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Sapere quali sono i file memorizzati sul disco e dove si trovano

Device directory Una tabella memorizzata in una porzione prefissata del disco che contiene un elenco di file descriptor

I file descriptor sono numerati sequenzialmente Ciascun file o cartella ha il suo file descriptor che contiene le

info su di essoPer ciascun file nome, dimensione, data di creazione e ultima

modifica, ... e soprattutto: dove si trova su discoPer ciascuna cartella nome, dimensione, data di creazione e ultima

modifica, ... e soprattutto: l’elenco dei file descriptor (tramite i loro numeri d’ordine) dei file e delle cartelle in essa contenuti

Page 75: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

75INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Sapere quali sono i file memorizzati sul disco e dove si trovano

Esempio: C:\Documenti\Claudia\lucidi.ppt

Page 76: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

76INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Sapere quali sono i file memorizzati sul disco e dove si trovano

Esempio: C:\Documenti\Claudia\lucidi.pptVado nella device directory del disco C; il primo file descriptor è

quello della cartella principale.

Page 77: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

77INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Sapere quali sono i file memorizzati sul disco e dove si trovano

Esempio: C:\Documenti\Claudia\lucidi.pptVado nella device directory del disco C; il primo file descriptor (0) è

quello della cartella principale.Cerco nel file descriptor 0 l’elenco dei contenuti della cartella, trovo

che “Documenti” corrisponde al file descriptor 7

Page 78: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

78INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Sapere quali sono i file memorizzati sul disco e dove si trovano

Esempio: C:\Documenti\Claudia\lucidi.pptVado nella device directory del disco C; il primo file descriptor (0) è

quello della cartella principale.Cerco nel file descriptor 0 l’elenco dei contenuti della cartella, trovo

che “Documenti” corrisponde al file descriptor 7Cerco nel file descriptor 7 (che corrisponde a “Documenti”) e trovo

che “Claudia” corrisponde al file descriptor 22

Page 79: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

79INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Sapere quali sono i file memorizzati sul disco e dove si trovano

Esempio: C:\Documenti\Claudia\lucidi.pptVado nella device directory del disco C; il primo file descriptor (0) è

quello della cartella principale.Cerco nel file descriptor 0 l’elenco dei contenuti della cartella, trovo

che “Documenti” corrisponde al file descriptor 7Cerco nel file descriptor 7 (che corrisponde a “Documenti”) e trovo

che “Claudia” corrisponde al file descriptor 22Cerco nel file descriptor 22 (che corrisponde a “Claudia”) e trovo

che “lucidi.ppt” corrisponde al file descriptor 18

Page 80: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

80INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Sapere quali sono i file memorizzati sul disco e dove si trovano

Esempio: C:\Documenti\Claudia\lucidi.pptVado nella device directory del disco C; il primo file descriptor (0) è

quello della cartella principale.Cerco nel file descriptor 0 l’elenco dei contenuti della cartella, trovo

che “Documenti” corrisponde al file descriptor 7Cerco nel file descriptor 7 (che corrisponde a “Documenti”) e trovo

che “Claudia” corrisponde al file descriptor 22Cerco nel file descriptor 22 (che corrisponde a “Claudia”) e trovo

che “lucidi.ppt” corrisponde al file descriptor 18Cerco nel file descriptor 18 (che corrisponde a “lucidi.ppt”) e, dal

momento che si tratta di un file, trovo la sua collocazione fisica su disco (ad esempio blocco 300)

Page 81: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

81INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Sapere quali sono i file memorizzati sul disco e dove si trovano

Esempio: C:\Documenti\Claudia\lucidi.pptVado nella device directory del disco C; il primo file descriptor (0) è

quello della cartella principale.Cerco nel file descriptor 0 l’elenco dei contenuti della cartella, trovo

che “Documenti” corrisponde al file descriptor 7Cerco nel file descriptor 7 (che corrisponde a “Documenti”) e trovo

che “Claudia” corrisponde al file descriptor 22Cerco nel file descriptor 22 (che corrisponde a “Claudia”) e trovo

che “lucidi.ppt” corrisponde al file descriptor 18Cerco nel file descriptor 18 (che corrisponde a “lucidi.ppt”) e, dal

momento che si tratta di un file, trovo la sua collocazione fisica su disco (ad esempio blocco 300)

Trovo anche che il file è grande 4 kB, cioè 4 blocchi, quindi so che per portarlo in memoria devo trasferire i blocchi 300, 301, 302 e 303

Page 82: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

82INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Ottimizzare lo spazio su disco

Allocazione contigua: Il file è memorizzato in una sequenza di blocchi uno

consecutivo all’altro. Il file descriptor memorizza l’indirizzo del primo blocco + la

dimensione del file (numero di blocchi) Problemi:

Se il file cresce di dimensioni e il primo blocco successivo non è libero devo spostarlo tutto da un’altra parte

Cancellando (o spostando) i file si creano dei buchi che è difficile riempire perché non è detto che si trovino file della dimensione giusta

È possibile ovviare a questi problemi con la compattazione: periodicamente si riordina il contenuto del disco per riunire i buchi liberi Però la compattazione è lunga da effettuare.

Page 83: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

83INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Ottimizzare lo spazio su disco

Allocazione sparsa: I blocchi che compongono il file possono trovarsi sparsi per il

disco Come fare a sapere in quali blocchi si trova il file?

Due metodi principali: Allocazione (sparsa) indexata: il file descriptor contiene

l’elenco di tutti i blocchi. Ad es. per un file di 3 blocchi: 300, 275, 423Ci si complica la vita con i file descriptor, le cui dimensioni

dovrebbero allungarsi o accorciarsi insieme al file! Allocazione (sparsa) linkata: il file descriptor contiene

l’indirizzo del primo blocco (es. 300). In fondo a ciascun blocco che compone il file c’è l’indirizzo del blocco successivo.

L’accesso ai file diventa sequenziale (ossia per accedere al quarto blocco di un file devo prima leggermi i tre precedenti)

Le tecniche più moderne adottano combinazioni di questi due metodi

Page 84: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

84INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Cosa fa il sistema operativo?

1. Avvia il computer2. Permette di avere in esecuzione più programmi

contemporaneamente Gestione del processore come “distribuire” il suo tempo fra

programmi diversi? Gestione della memoria principale come “distribuire” il suo spazio fra

programmi diversi?

3. Gestisce la memoria secondaria4. Permette agli utenti di interagire con il computer

Gestione del sistema operativo stesso Installare (e disinstallare) programmi Configurare il computer e il sistema operativo

Attività vera e propria: Mandare in esecuzione un programma con cui creare nuovi documenti o

elaborare documenti esistenti Eliminare e rinominare documenti creati e riorganizzarne la disposizione Utilizzare le periferiche

Page 85: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

85INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Cosa può fare l’utente grazie al S.O.?

Gestione del sistema operativo stesso Installazione di nuovi programmi (e disinstallazione) Configurazione del sistema

Attività vera e propria: Mandare in esecuzione un programma Tramite il programma, creare nuovi documenti o

elaborare documenti esistenti Manipolare il file system:

Eliminare documenti creatiRiorganizzare la disposizione dei documentiRinominare documenti esistenti

Accesso alle periferiche

Page 86: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

86INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Astrazione

Macchina Virtuale Liv. N+1(applicativi)

Macchina Virtuale Liv. N (linguaggi di programmazione

ad alto livello)

Macchina Virtuale Liv. 1 (macroistruzioni)

Macchina Fisica (Linguaggio Macchina)

Informatico

Utente

Sistema operativo

Page 87: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

87INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Ricapitolando: il Software

Sistema operativo (software di base) Viene fornito a corredo dell’hardware Programmi speciali per eseguire operazioni di base che

determinano in generale il comportamento del computerpermettono facilità d’uso da parte di un utente che

eventualmente non ne conosca la struttura fisica Consente l’esecuzione del software applicativo

Software applicativo Ciascun applicativo permette di elaborare dati di natura

diversaeditare testi, creare fogli elettronici, elaborare immagini

Richiede la presenza del sistema operativo

Page 88: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

88INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Una visione complessiva

Page 89: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

89INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Sistema Operativo indispensabile (senza il SO

il computer non funziona) dal SO dipendono le

funzioni comuni atutti i programmi

Esempi di sistemi operativi su PC: Windows XP, Unix

Programmi Applicativi opzionali necessari per funzioni specifiche

(come scrivere, archiviare dati …) compatibili con il software di base Esempi: Word, Excel, Access

Programmi applicativi e sistema operativo

Page 90: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

90INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Software applicativo

Classificazione in base all'uso

Page 91: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

91INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Software di produttività

Videoscrittura

Page 92: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

92INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Software di produttività

Fogli elettronici

Page 93: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

93INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Software di produttività

Database

Page 94: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

94INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

copyright vs copyleft

classificazione interessante (del software in generale e quindi anche degli applicativi):

copyright o software proprietario è coperto da diritti d'autore una volta venutone in possesso non posso copiarlo,

modificarlo, rivenderlo… Commerciale occorre acquistarlo Shareware gratuito solo per un periodo di prova Freeware disponibile gratuitamente

senza copyright o open source software di pubblico dominio non coperto da diritti di autore posso modificarlo come voglio, migliorarlo, adattarlo alle

mie esigenze...

Page 95: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

95INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Il manifesto del software libero

L'espressione "software libero" si riferisce alla libertà dell'utente di eseguire, copiare, distribuire, studiare, cambiare e migliorare il software. Più precisamente, esso si riferisce a quattro tipi di libertà per gli utenti del software:

Libertà di eseguire il programma, per qualsiasi scopo Libertà di studiare come funziona il programma e adattarlo alle

proprie necessità. L'accesso al codice sorgente (open-source) ne è un prerequisito.

Libertà di ridistribuire copie in modo da aiutare il prossimo Libertà di migliorare il programma e distribuirne pubblicamente

i miglioramenti, in modo tale che tutta la comunità ne tragga beneficio. L'accesso al codice sorgente ne è un prerequisito.

(R. Stallman)

Page 96: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

96INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Open-source

Dalla lettura del manifesto emergono tre concetti fondamentali

Accesso al codice sorgente la traduzione letterale di software OPEN SOURCE è proprio software a "codice sorgente aperto"

libertà di copia e ridistribuzione libertà di modifica per adattamento alle proprie esigenze

o per migliorare il programma in séla disponibilità del codice sorgente, ossia del Dna del

software, consente sia la sua libera circolazione, sia processi di modifica, produzione, ridistribuzione, evoluzione e riuso

Page 97: INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.

97INFORMATICA

Scienze e Tecniche PsicologicheC. Gena, C. Picardi,

J. Sproston

Open-source

Tipici fraintendimenti rispetto al software libero. Il software libero è spesso gratuito MA non è detto che

lo sia. Esistono programmatori che vengono retribuiti per aggiornare, modificare, adattare programmi liberi il loro lavoro deve essere pagato!

Si paga una licenza che permette di usare il software libero come precedentemente visto.

Il software gratuito non è per forza libero. Molte aziende divulgano software proprietario gratuitamente per vendere altri prodotti, per attirare nuovi clienti o per porre fuori gioco un concorrente.

Si ha gratuitamente l’utilizzo del software, ma non si può modificarlo, ridistribuirlo, etc