Il Software - DiUniTorossano/DIDATTICA/INF-0102/lezione8.pdf · Informatica di Base -- R.Gaeta Il...

28
1 Informatica di Base Informatica di Base -- -- R.Gaeta R.Gaeta Il Software L’hardware da solo non è sufficiente per il funzionamento dell’elaboratore È necessario introdurre il software: un insieme di programmi che permettono di trasformare un insieme di circuiti elettronici in un oggetto in grado di svolgere delle funzioni di natura diversa La proprietà fondamentale dei computer è il fatto di essere programmabili

Transcript of Il Software - DiUniTorossano/DIDATTICA/INF-0102/lezione8.pdf · Informatica di Base -- R.Gaeta Il...

Page 1: Il Software - DiUniTorossano/DIDATTICA/INF-0102/lezione8.pdf · Informatica di Base -- R.Gaeta Il Software • Una programmazione diretta della macchina hardware da parte degli utenti

1

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Il Software

• L’hardware da solo non è sufficiente per il funzionamento dell’elaboratore

• È necessario introdurre il software:– un insieme di programmi che permettono di trasformare un insieme di

circuiti elettronici in un oggetto in grado di svolgere delle funzioni di natura diversa

• La proprietà fondamentale dei computer è il fatto di essere programmabili

Page 2: Il Software - DiUniTorossano/DIDATTICA/INF-0102/lezione8.pdf · Informatica di Base -- R.Gaeta Il Software • Una programmazione diretta della macchina hardware da parte degli utenti

2

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Il Software

• Una programmazione diretta della macchina hardware da parte degli utenti creerebbe delle serie difficoltà– l’utente dovrebbe conoscere l’organizzazione fisica dell'elaboratore e il

suo linguaggio macchina;

– ogni programma dovrebbe essere scritto utilizzando delle sequenze di bit ed ogni piccola differenza hardware comporterebbe una ri-scrittura del programma stesso.

Page 3: Il Software - DiUniTorossano/DIDATTICA/INF-0102/lezione8.pdf · Informatica di Base -- R.Gaeta Il Software • Una programmazione diretta della macchina hardware da parte degli utenti

3

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Il Software

• Questo non è accettabile ed è necessario fornire all’utente un meccanismo per:– astrarre dall’organizzazione fisica della macchina;– usare nello stesso modo, o comunque in modo molto simile, macchine

leggermente diverse dal punto di vista hardware o, al limite, macchine con hardware profondamente differente;

– avere un semplice linguaggio di interazione con la macchina; – avere un linguaggio semplice e ad alto livello per programmare la

macchina;– avere un insieme di programmi applicativi per svolgere diversi compiti

Page 4: Il Software - DiUniTorossano/DIDATTICA/INF-0102/lezione8.pdf · Informatica di Base -- R.Gaeta Il Software • Una programmazione diretta della macchina hardware da parte degli utenti

4

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Il Software

• Nei moderni sistemi di elaborazione questi obiettivi vengono raggiunti grazie alla definizione di macchine virtuali che vengono realizzate al di sopra della macchina hardware reale

HW

macchina virtuale

Utente

Page 5: Il Software - DiUniTorossano/DIDATTICA/INF-0102/lezione8.pdf · Informatica di Base -- R.Gaeta Il Software • Una programmazione diretta della macchina hardware da parte degli utenti

5

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Il Software

• Al di sopra della macchina reale (HW) si crea un livello software che realizza una macchina virtuale astratta con le con le funzionalità desiderate, e facile da utilizzare

• Questa macchina si dice virtuale in quanto essa non esiste fisicamente ma viene realizzata mediante il software (software di base)

• L'utente interagisce con la macchina virtuale grazie ad un opportuno linguaggio di comandi.

• La macchina virtuale si preoccuperà della traduzione dei comandi ad alto livello nell'opportuno comando che realizza la stessa funzione ed è riconosciuto dalla macchina fisica

Page 6: Il Software - DiUniTorossano/DIDATTICA/INF-0102/lezione8.pdf · Informatica di Base -- R.Gaeta Il Software • Una programmazione diretta della macchina hardware da parte degli utenti

6

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Il Software di base

• Ogni computer ha un suo linguaggio macchina le cui istruzioni sono direttamente eseguibili dalla macchina hardware

• Al di sopra di questo linguaggio è possibile definire altri linguaggi e fornire delle regole per tradurne le istruzioni in opportune sequenze di istruzioni in linguaggio macchina

• Possiamo vedere il software di base come ad un insieme di programmi in linguaggio macchina la cui esecuzione permette di creare l'ambiente virtuale con cui l'utente si trova ad interagire

Page 7: Il Software - DiUniTorossano/DIDATTICA/INF-0102/lezione8.pdf · Informatica di Base -- R.Gaeta Il Software • Una programmazione diretta della macchina hardware da parte degli utenti

7

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Il Software di base

• Il software di base fornisce un insieme finito di comandi, dettolinguaggio comandi, che la macchina è in grado di eseguireEsempio: supponiamo che l'utente voglia stampare un file. A livello fisico questa operazione è complessa e richiede operazioni di trasferimento dati dal disco alla stampante (via memoria centrale)La macchina virtuale fornisce all'utente un semplice comando di stampa:> print file1mediante il quale si può richiedere la stampa delle informazionicontenute nel file di nome file1

Page 8: Il Software - DiUniTorossano/DIDATTICA/INF-0102/lezione8.pdf · Informatica di Base -- R.Gaeta Il Software • Una programmazione diretta della macchina hardware da parte degli utenti

8

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Il Software di base

• La macchina virtuale deve innanzitutto verificare se si tratta di un comando valido

• Poi tradurlo nell’opportuna sequenza di comandi a basso livello per la macchina fisica

• Una volta eseguito il comando, la macchina virtuale si pone in attesa di un nuovo comando da parte dell'utente

• Grazie a questo livello software si può astrarre dalle caratteristiche fisiche della macchina

Page 9: Il Software - DiUniTorossano/DIDATTICA/INF-0102/lezione8.pdf · Informatica di Base -- R.Gaeta Il Software • Una programmazione diretta della macchina hardware da parte degli utenti

9

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Il Software di base

• Si può anche fare in modo che macchine differenti siano usabili in modo simile: si tratta, infatti, di costruire al di sopra delle diverse macchine fisiche la stessa macchina virtuale

• Per ogni comando della macchina virtuale si dovranno però avere diversi programmi di traduzione, uno per ogni tipo di hardware

Page 10: Il Software - DiUniTorossano/DIDATTICA/INF-0102/lezione8.pdf · Informatica di Base -- R.Gaeta Il Software • Una programmazione diretta della macchina hardware da parte degli utenti

10

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Tipi di funzioni fornite da SW di base

• Configurazione e accensione macchina• Gestione di informazione su memoria secondaria

=> FILE SYSTEM• Strumenti per accesso a tali informazioni• Gestione delle risorse

– uso semplificato e astratto risorse per utente, es. stampanti, dischi, nastri ...

– uso ottimale per sistema

Page 11: Il Software - DiUniTorossano/DIDATTICA/INF-0102/lezione8.pdf · Informatica di Base -- R.Gaeta Il Software • Una programmazione diretta della macchina hardware da parte degli utenti

11

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Tipi di funzioni fornite da SW di base

• Linguaggio di comandi astratto per interazione con il sistema

• Supporto per la comunicazione tra utenti e tra elaboratori

• Supporto per programmi applicativi• Linguaggi e ambienti di programmazione ad alto livello

L'insieme di programmi che realizza le funzionalità viste in precedenza prende il nome di

SISTEMA OPERATIVO

Page 12: Il Software - DiUniTorossano/DIDATTICA/INF-0102/lezione8.pdf · Informatica di Base -- R.Gaeta Il Software • Una programmazione diretta della macchina hardware da parte degli utenti

12

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Il Sistema Operativo

• Il sistema operativo è la componente software fondamentale di un computer

• È formato da un insieme di programmi che interagiscono e cooperano tra di loro per realizzare due obiettivi fondamentali:– gestire efficientemente l'elaboratore e le sue periferiche, cercando di

sfruttare al massimo tutte le componenti hardware– creare un ambiente virtuale per facilitare l'interazione uomo-macchina

Page 13: Il Software - DiUniTorossano/DIDATTICA/INF-0102/lezione8.pdf · Informatica di Base -- R.Gaeta Il Software • Una programmazione diretta della macchina hardware da parte degli utenti

13

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Il Sistema Operativo

• Esistono diversi tipi di sistemi operativi per diverse classi dicomputer

• Primi sistemi operativi (anni 60) avevano lo scopo di semplificare interazione con il computer

• Distinzioni fondamentali

– sistemi mono-utente - sistemi multi-utente

– sistemi interattivi - sistemi batch

Page 14: Il Software - DiUniTorossano/DIDATTICA/INF-0102/lezione8.pdf · Informatica di Base -- R.Gaeta Il Software • Una programmazione diretta della macchina hardware da parte degli utenti

14

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Il Sistema Operativo

• Sistemi mono-utente interattivi pensati per Personal Computer– IBM PC - Compatibili (DOS - versioni Windows precedenti Windows 95)– Macintosh

• Due diversi tipi di interazione utente/computer:– interazione testuale

• es. MS-DOS per PC-IBM– interazione grafica

• es. Macintosh• es. Windows per PC-IBM, Windows 95

Page 15: Il Software - DiUniTorossano/DIDATTICA/INF-0102/lezione8.pdf · Informatica di Base -- R.Gaeta Il Software • Una programmazione diretta della macchina hardware da parte degli utenti

15

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Il Sistema Operativo: Esempio

Eseguiamo il programma che permette di ottenere una finestra MS-DOS

Page 16: Il Software - DiUniTorossano/DIDATTICA/INF-0102/lezione8.pdf · Informatica di Base -- R.Gaeta Il Software • Una programmazione diretta della macchina hardware da parte degli utenti

16

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Il Sistema Operativo: Esempio

Immettiamo il comando date

Page 17: Il Software - DiUniTorossano/DIDATTICA/INF-0102/lezione8.pdf · Informatica di Base -- R.Gaeta Il Software • Una programmazione diretta della macchina hardware da parte degli utenti

17

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Il Sistema Operativo: Esempio

Premendo il tasto “Enter” si ottiene

Page 18: Il Software - DiUniTorossano/DIDATTICA/INF-0102/lezione8.pdf · Informatica di Base -- R.Gaeta Il Software • Una programmazione diretta della macchina hardware da parte degli utenti

18

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Il Sistema Operativo: Esempio

• Le operazioni effettuate sembrano abbastanza semplici ma …

• Provocano una serie di eventi in cui vengono coinvolte sia risorse hardware che risorse software

• Il coordinamento e la gestione delle varie risorse viene effettuato dal Sistema Operativo

• Il Sistema Operativo fornisce i servizi che sono necessari a tutti gli altri programmi in esecuzione

Page 19: Il Software - DiUniTorossano/DIDATTICA/INF-0102/lezione8.pdf · Informatica di Base -- R.Gaeta Il Software • Una programmazione diretta della macchina hardware da parte degli utenti

19

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Il Sistema Operativo: Esempio

❶ Per ogni carattere immesso tramite la tastiera viene inviato un codice corrispondente al computer

❷ Il codice viene ricevuto da un circuito che si occupa di gestirela comunicazione con la tastiera

❸ Il codice viene memorizzato in un’area di memoria riservata (buffer) e viene inviato un segnale alla CPU (interrupt)

❹ Quando la CPU riceve un interrupt dalla tastiera attiva un modulo (un piccolo programma) chiamato terminal driver

Page 20: Il Software - DiUniTorossano/DIDATTICA/INF-0102/lezione8.pdf · Informatica di Base -- R.Gaeta Il Software • Una programmazione diretta della macchina hardware da parte degli utenti

20

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Il Sistema Operativo: Esempio

❺ Il terminal driver invia al monitor una copia del codice del carattere immesso per visualizzare il carattere

❻ Il codice corrispondente al carattere “Enter” indica che il comando immesso (date) è completo

❼ Il terminal driver attiva un altro modulo chiamato listener(perché attende le richieste provenienti dagli utenti)

❽ Il listener legge i caratteri dal buffer della tastiera e ricerca un programma chiamato date, lo carica in memoria centrale e lo esegue

Page 21: Il Software - DiUniTorossano/DIDATTICA/INF-0102/lezione8.pdf · Informatica di Base -- R.Gaeta Il Software • Una programmazione diretta della macchina hardware da parte degli utenti

21

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Il Sistema Operativo: Esempio

❾ Il programma date “va a leggere” un “orologio” (un contatore che tiene conto dello scorrere del tempo) e passa l’informazioneletta al terminal driver

❿ Il terminal driver trasmette la data al monitor che la visualizzaOgnuno di questi eventi può essere descritto in dettaglio, per

esempio:– prima che il programma listener carichi il programma date in memoria deve

localizzare la “directory” dove tale comando si trova, ecc.– La fase di caricamento del programma comprende una fase di lettura dal

disco rigido

Page 22: Il Software - DiUniTorossano/DIDATTICA/INF-0102/lezione8.pdf · Informatica di Base -- R.Gaeta Il Software • Una programmazione diretta della macchina hardware da parte degli utenti

22

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Il Sistema Operativo: Esempio

Ogni carattere dato in input dalla tastiera viene ricevuto dal terminal driver che lo invia al monitor per la visualizzazione

datelistener

directory manager

terminal driverdisk driver

file manager

Disco rigido

BUFFERTastiera

BUFFER

Monitor

148.608.043.200.010clock

dat

dat

Page 23: Il Software - DiUniTorossano/DIDATTICA/INF-0102/lezione8.pdf · Informatica di Base -- R.Gaeta Il Software • Una programmazione diretta della macchina hardware da parte degli utenti

23

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Il Sistema Operativo: Esempio

Quando viene immesso il carattere Enter <cr> il terminal driverpassa la stringa date al programma listener che interpreta il comando

datelistener

directory manager

terminal driverdisk driver

file manager

Disco rigido

BUFFERTastiera

BUFFER

Monitor

date<cr>

date<cr>

148.608.043.200.020

Page 24: Il Software - DiUniTorossano/DIDATTICA/INF-0102/lezione8.pdf · Informatica di Base -- R.Gaeta Il Software • Una programmazione diretta della macchina hardware da parte degli utenti

24

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Il Sistema Operativo: Esempio

Il listener richiede al directory manager di cercare (nella directory dei comandi) date. Il programa directory managerrichiede al programma file manager, che a sua volta si avvale del programma disk driver, di localizzare sul disco rigido il programma date

Tastiera

datelistener

directory manager

terminal driverdisk driver

file manager

Disco rigido

BUFFER

BUFFER

Monitor

148.608.043.200.032

Page 25: Il Software - DiUniTorossano/DIDATTICA/INF-0102/lezione8.pdf · Informatica di Base -- R.Gaeta Il Software • Una programmazione diretta della macchina hardware da parte degli utenti

25

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Il Sistema Operativo: Esempio

Quando il comado date è stato localizzato (è un file eseguibile) il listener (mediante il file manager) lo carica in memoria. Per fare questa operazione il file manager utilizza il disk driver

Tastiera

datelistener

directory manager

terminal driverdisk driver

file manager

Disco rigido

BUFFER

BUFFER

Monitor

148.608.043.200.045

Page 26: Il Software - DiUniTorossano/DIDATTICA/INF-0102/lezione8.pdf · Informatica di Base -- R.Gaeta Il Software • Una programmazione diretta della macchina hardware da parte degli utenti

26

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Il Sistema Operativo: Esempio

Il listener manda in esecuzione il programma date che legge il clock ed effettua delle operazioni di conversione per trasformare il valore letto nella data del giorno

Tastiera

datelistener

directory manager

terminal driverdisk driver

file manager

Disco rigido

BUFFER

BUFFER

Monitor

148.608.043.200.101

Page 27: Il Software - DiUniTorossano/DIDATTICA/INF-0102/lezione8.pdf · Informatica di Base -- R.Gaeta Il Software • Una programmazione diretta della macchina hardware da parte degli utenti

27

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Il Sistema Operativo: Esempio

Il programma date tramite il terminal driver visualizza sul monitor la data

Tastiera

datelistener

directory manager

terminal driverdisk driver

file manager

Disco rigido

BUFFER

BUFFER

Monitor

148.608.043.200.104

Page 28: Il Software - DiUniTorossano/DIDATTICA/INF-0102/lezione8.pdf · Informatica di Base -- R.Gaeta Il Software • Una programmazione diretta della macchina hardware da parte degli utenti

28

Informatica di Base Informatica di Base ---- R.GaetaR.Gaeta

Il Sistema Operativo: esempio

Sebbene le operazioni che abbiamo preso in esame “sembrino abbastanza semplici” e di uso frequente esse provocano una serie di eventi e azioni molto complesse e articolate

L’immissione di un semplice carattere (tramite tastiera) può provocare l’esecuzione di una decina (o anche più) di funzionalità del S.O.