Lezione 5: Software - Unicalirina/lezioni/lezione5.pdf · Hardware Software di base Software...

28
Introduzione all'Informatica - corso E Lezione 5: Lezione 5: Software Software Firmware Sistema Operativo

Transcript of Lezione 5: Software - Unicalirina/lezioni/lezione5.pdf · Hardware Software di base Software...

Page 1: Lezione 5: Software - Unicalirina/lezioni/lezione5.pdf · Hardware Software di base Software applicativo Architettura del Calcolatore La prima decomposizione di un calcolatore è

Introduzione all'Informatica - corso E

Lezione 5:Lezione 5:

SoftwareSoftware

FirmwareSistema Operativo

Page 2: Lezione 5: Software - Unicalirina/lezioni/lezione5.pdf · Hardware Software di base Software applicativo Architettura del Calcolatore La prima decomposizione di un calcolatore è

Intro

duzi

one

all'I

nfor

mat

ica

-cor

so E

2

Hardware

Software di base

Software applicativo

Architettura del CalcolatoreArchitettura del Calcolatore

La prima decomposizione di un calcolatore è relativa a due macro-componenti:Hardware e Software

Hardware

Software di base

Software applicativo

Firmware

Firmware permette la comunicazione tra il dispositivo in cui il firmware è integrato e il sistema operativo di un computer, traducendo le istruzioni ricevute in operazioni concrete (ad es: sposta la testina, scrivi un dato, leggi un dato).

Il firmware della scheda madre èchiamato comunemente BIOS.

Firmware: strato di (micro-)programmi che agiscono direttamente sullo strato hardwarememorizzato dal costruttore su memoria permanente (ROM)

Page 3: Lezione 5: Software - Unicalirina/lezioni/lezione5.pdf · Hardware Software di base Software applicativo Architettura del Calcolatore La prima decomposizione di un calcolatore è

Intro

duzi

one

all'I

nfor

mat

ica

-cor

so E

3

Firmware: Firmware: ilil BIOSBIOS

BIOS = Basic Input-Output Systemgestisce direttamente le risorse hardware ed offre delle funzionalità standard di accesso (terminal driver)

risiede su un chip di memoria permanente ROM (e/o RAM + batteria di alimentazione)

gestisce la procedura di avviamento (bootstrap) del calcolatore, consistente delle seguenti fasi

1. diagnostica (POST: Power-On Self Test)2. inizializzazione delle risorse hardware (Setup)3. caricamento (dal disco rigido verso la RAM) ed

esecuzione della routine di bootstrap, che provvede quindi a caricare il sistema operativo

Page 4: Lezione 5: Software - Unicalirina/lezioni/lezione5.pdf · Hardware Software di base Software applicativo Architettura del Calcolatore La prima decomposizione di un calcolatore è

Intro

duzi

one

all'I

nfor

mat

ica

-cor

so E

4

Procedura di avviamentoProcedura di avviamentoMemoria centrale

Memoria di massaBIOS

boot loader

boot loader

Sistema operativo

Sistema Operativo

• POST• Setup• carica boot loader

ROM

RAM

Page 5: Lezione 5: Software - Unicalirina/lezioni/lezione5.pdf · Hardware Software di base Software applicativo Architettura del Calcolatore La prima decomposizione di un calcolatore è

Intro

duzi

one

all'I

nfor

mat

ica

-cor

so E

5

Sistema OperativoSistema Operativo

Software = insieme (complesso) di programmi.organizzato a strati, ciascuno con funzionalità di livello più alto rispetto a quelli sottostanti:

Sistema Operativo è lo strato di programmi che opera al di sopra dell’hardware (e del firmware) e gestisce l’elaboratore

Hardware

Software di base

Software applicativo

Firmware

Page 6: Lezione 5: Software - Unicalirina/lezioni/lezione5.pdf · Hardware Software di base Software applicativo Architettura del Calcolatore La prima decomposizione di un calcolatore è

Intro

duzi

one

all'I

nfor

mat

ica

-cor

so E

6

Sistema operativo (SO)Sistema operativo (SO)

Come Gestore delle Risorsecontrolla e gestisce tutte le funzioni del calcolatore in modo efficienteaccetta e soddisfa le richieste degli utenti/programmifunziona come mediatore tra risorse in conflittotiene traccia dell’utilizzo delle risorse

Come Macchina estesasimula una macchina estesa più facile da programmare, astraendo dai dettagli tecnologici dell’hardwarecostituisce una base sulla quale è possibile scrivere programmi applicativi

Page 7: Lezione 5: Software - Unicalirina/lezioni/lezione5.pdf · Hardware Software di base Software applicativo Architettura del Calcolatore La prima decomposizione di un calcolatore è

Intro

duzi

one

all'I

nfor

mat

ica

-cor

so E

7

Interazione dellInterazione dell’’utente con il SOutente con il SO

Un utente "vede" l’elaboratore solo tramite il SO, che simula una “macchina virtuale”

diversi SO possono realizzare diverse macchine virtuali sullo stesso hardwareaumenta l’astrazione nell’interazione utente/elaboratore

senza SO: sequenze di bitcon SO: comandi, programmi, dati

Il S.O. traduce le richieste dell’utente in opportune sequenze di comandi da sottoporre alla macchina fisica

Il SO esplicita qualsiasi operazione di accesso a risorse hardware, implicitamente implicata dal comando dell’utente

Page 8: Lezione 5: Software - Unicalirina/lezioni/lezione5.pdf · Hardware Software di base Software applicativo Architettura del Calcolatore La prima decomposizione di un calcolatore è

Intro

duzi

one

all'I

nfor

mat

ica

-cor

so E

8

Interazione dellInterazione dell’’utente con il S.O.utente con il S.O.

Utente S.O.“esegui progr1” lettura comando da dispositivo di input

ricerca codice di “progr1” su disco

carica in RAM codice e dati

<elaborazione>

“risultato = 10” output su video

Page 9: Lezione 5: Software - Unicalirina/lezioni/lezione5.pdf · Hardware Software di base Software applicativo Architettura del Calcolatore La prima decomposizione di un calcolatore è

Intro

duzi

one

all'I

nfor

mat

ica

-cor

so E

9

Interazione dellInterazione dell’’utente con il S.O.utente con il S.O.

Interfaccia testualeIl S.O. interagisce con l’utente mediante l’interpretazione di linee di comandoesempi: DOS, Linux

Interfaccia grafica o GUI (Graphical User Interface)tutti i programmi e le funzioni sono mostrati sullo schermo mediante simboli immediatamente comprensibili (icone)esempi: Windows, MacOS (Macintosh)

Page 10: Lezione 5: Software - Unicalirina/lezioni/lezione5.pdf · Hardware Software di base Software applicativo Architettura del Calcolatore La prima decomposizione di un calcolatore è

Intro

duzi

one

all'I

nfor

mat

ica

-cor

so E

10

Classificazione dei SOClassificazione dei SO

In base al numero di utenti:mono-utente (mono-user)

un solo utente alla volta può utilizzare il sistemamulti-utente (multi-user)

più utenti in contemporanea interagiscono con la macchinail S.O. dà a ciascuno l'astrazione di un sistema “dedicato”

In base al numero di processi:Mono-programmato (mono-task)

si può eseguire un solo programma per voltaMulti-programmato (multi-task)

il SO permette di eseguire più programmi in contemporaneail SO gestisce la suddivisione del tempo fra i vari processi

Page 11: Lezione 5: Software - Unicalirina/lezioni/lezione5.pdf · Hardware Software di base Software applicativo Architettura del Calcolatore La prima decomposizione di un calcolatore è

Intro

duzi

one

all'I

nfor

mat

ica

-cor

so E

11

Moduli del S.O.Moduli del S.O.

Moduli di un Sistema Operativogestore dei processigestore della memoriagestore delle periferichegestore dei file (File system)interprete dei comandi

Le funzioni del S.O. dipendono dalla complessità del sistema di elaborazione:

gestione delle varie risorse hardwaregestione della multi-utenza e del multi-taskinggestione della memoria centraleorganizzazione e gestione della memoria di massainterpretazione ed esecuzione di comandi elementari

Page 12: Lezione 5: Software - Unicalirina/lezioni/lezione5.pdf · Hardware Software di base Software applicativo Architettura del Calcolatore La prima decomposizione di un calcolatore è

Intro

duzi

one

all'I

nfor

mat

ica

-cor

so E

12

Gestione dei processiGestione dei processi

La CPU esegue programmi Si chiama processo l’esecuzione di un programma

Qualunque processo alterna fasi di esecuzione a fasi in cui è bloccato in attesa di qualche evento esterno

attesa che sia terminata un’operazione di input attesa per usare una risorsa al momento occupata

Page 13: Lezione 5: Software - Unicalirina/lezioni/lezione5.pdf · Hardware Software di base Software applicativo Architettura del Calcolatore La prima decomposizione di un calcolatore è

Intro

duzi

one

all'I

nfor

mat

ica

-cor

so E

13

Strategie di esecuzioneStrategie di esecuzione

Strategie di esecuzione dei programmimono-tasking: un processo per volta multi-tasking: più processi in contemporanea

Limiti del mono-taskingLimitazione all’uso del calcolatore

un solo utente e una sola applicazione per voltaSotto-utilizzo del processore

mentre il processo è bloccato in attesa di eventi esterni, il processore rimane inattivo (idle)i tempi di lavoro delle periferiche di I/O, e ancor più i tempi di reazione umani, sono maggiori di molti ordini di grandezza della velocità del processore

Page 14: Lezione 5: Software - Unicalirina/lezioni/lezione5.pdf · Hardware Software di base Software applicativo Architettura del Calcolatore La prima decomposizione di un calcolatore è

Intro

duzi

one

all'I

nfor

mat

ica

-cor

so E

14

MultiMulti--taskingtasking

Page 15: Lezione 5: Software - Unicalirina/lezioni/lezione5.pdf · Hardware Software di base Software applicativo Architettura del Calcolatore La prima decomposizione di un calcolatore è

Intro

duzi

one

all'I

nfor

mat

ica

-cor

so E

15

MultiMulti--taskingtasking

Il tempo di lavoro della CPU è diviso tra i vari processiAd ogni istante vi è un solo processo attivoIl processore alterna l’esecuzione dei vari programmi

Se l'alternanza tra i processi è frequente (es.10 ms), si ha l'impressione di un'esecuzione simultanea

a livello macroscopico si ha quindi l'impressione della contemporaneità, mentre a livello microscopico si ha una semplice alternanza sequenziale molto veloce

Il tempo totale di esecuzione di un singolo processo aumenta rispetto al caso mono-tasking

a causa dell’alternanza con gli altri processi

Page 16: Lezione 5: Software - Unicalirina/lezioni/lezione5.pdf · Hardware Software di base Software applicativo Architettura del Calcolatore La prima decomposizione di un calcolatore è

Intro

duzi

one

all'I

nfor

mat

ica

-cor

so E

16

Gestione dei processiGestione dei processi

Stati di un processo:

Problematiche di concorrenza fra processiStarvation: più processi potrebbero accedere alla risorsa condivisa ma solo alcuni di essi vi riescono

Deadlock (blocco critico)un gruppo di processi rimane permanentemente bloccato senza che la risorsa contesa viene utilizzata da alcuni di essi

I/O terminato o risorsa disponibile

in_esecuzione

pronto in_attesacreazione

terminazione

richiesta I/O o risorsascambio

esecuzione

I/O terminato o risorsa disponibile

in_esecuzione

pronto in_attesacreazione

terminazione

richiesta I/O o risorsascambio

esecuzione

in_esecuzione

pronto in_attesacreazione

terminazione

richiesta I/O o risorsascambio

esecuzione

Selezione primo processo pronto dalla coda dei processi pronti Termine

quanto di tempo

Processo A: per concludere mi serve il risultato di B

Processo B: per concludere mi serve il risultato di A

Page 17: Lezione 5: Software - Unicalirina/lezioni/lezione5.pdf · Hardware Software di base Software applicativo Architettura del Calcolatore La prima decomposizione di un calcolatore è

Intro

duzi

one

all'I

nfor

mat

ica

-cor

so E

17

Esempio di esecuzione di un Esempio di esecuzione di un programma (vedi Lezione 3)programma (vedi Lezione 3)

Load 3568 R1

Add R1 R2

Store R1 3568Jump 1000

44

1000

1001

1002

1003

3568

30R2R1

Load 3568 R1

Add R1 R2

Store R1 3568Jump 1000

Load 3568 R1Load 3568 R1

Add R1 R2Add R1 R2

Store R1 3568Store R1 3568Jump 1000

44

1000

1001

1002

1003

3568

30R2R1

Registri CPU

1000PC

MAR

IR

MDR

Memoria centrale

Livello HARDWARE

Page 18: Lezione 5: Software - Unicalirina/lezioni/lezione5.pdf · Hardware Software di base Software applicativo Architettura del Calcolatore La prima decomposizione di un calcolatore è

Intro

duzi

one

all'I

nfor

mat

ica

-cor

so E

18

Gestione della memoria principaleGestione della memoria principale

Visione astratta della memoria: un programma non deve conoscere la configurazione e le dimensioni della memoria reale e può essere eseguito su computer con dotazioni di memoria differentiil programma ignora gli indirizzi (fisici) delle celle di memoria effettivamente usate

Nel caso multi-tasking la memoria deve essere condivisa da più processi:

la memoria viene suddivisa in blocchi (paginazione)ad ogni programma si assegna un certo numero di blocchi (non necessariamente contigui)

si può caricare un numero maggiore di programmi

Page 19: Lezione 5: Software - Unicalirina/lezioni/lezione5.pdf · Hardware Software di base Software applicativo Architettura del Calcolatore La prima decomposizione di un calcolatore è

Intro

duzi

one

all'I

nfor

mat

ica

-cor

so E

19

Risoluzione degli indirizziRisoluzione degli indirizzi

Indirizzi logici e indirizzi fisici:indirizzi logici: gli indirizzi presenti nei programmiindirizzi fisici: gli indirizzi RAM assegnati al programma quando viene caricato dal disco

Risoluzione degli indirizziPer poter essere caricato a blocchi il programma viene suddiviso in blocchi logici il SO associa ogni blocco logico ad uno fisico trasformando gli indirizzi logici in quelli fisici

Page 20: Lezione 5: Software - Unicalirina/lezioni/lezione5.pdf · Hardware Software di base Software applicativo Architettura del Calcolatore La prima decomposizione di un calcolatore è

Intro

duzi

one

all'I

nfor

mat

ica

-cor

so E

20

Gestione della memoria principale: esempioGestione della memoria principale: esempio

Memoria centrale

P3/2P1/1

P1/2

P1/3

P3/1

P2/1

P2/2

P2/3

P4/1

P4/2

P4/3P4/4

P4/5

P4/6

riservato

P1/1

P1/2

P1/3

P2/1

P2/2

P2/3

P5/1

P3/2

P3/1

Utente chiede di eseguire:

1) P5

2) P1

3) P3

4) P2

P5/1

Page 21: Lezione 5: Software - Unicalirina/lezioni/lezione5.pdf · Hardware Software di base Software applicativo Architettura del Calcolatore La prima decomposizione di un calcolatore è

Intro

duzi

one

all'I

nfor

mat

ica

-cor

so E

21

Gestione della memoria principale: esempioGestione della memoria principale: esempio

Memoria centrale

P3/2P1/1

P1/2

P1/3

P3/1

P2/1

P2/2

P2/3

P4/1

P4/2

P4/3P4/4

P4/5

P4/6

riservato

P1/1

P1/2

P1/3

P2/1

P2/2

P2/3

Utente chiude:

1)P5

2)P3

Utente chiede di eseguire P4

P5/1

Page 22: Lezione 5: Software - Unicalirina/lezioni/lezione5.pdf · Hardware Software di base Software applicativo Architettura del Calcolatore La prima decomposizione di un calcolatore è

Intro

duzi

one

all'I

nfor

mat

ica

-cor

so E

22

Gestione della memoria principale: esempioGestione della memoria principale: esempio

Memoria centrale

P3/2P1/1

P1/2

P1/3

P3/1

P2/1

P2/2

P2/3

P4/1

P4/2

P4/3P4/4

P4/5

P4/6

riservato

P1/1

P1/2

P1/3

P2/1

P2/2

P2/3

Utente chiede di eseguire P4

P4/1

P4/2

P4/3

P5/1

Page 23: Lezione 5: Software - Unicalirina/lezioni/lezione5.pdf · Hardware Software di base Software applicativo Architettura del Calcolatore La prima decomposizione di un calcolatore è

Intro

duzi

one

all'I

nfor

mat

ica

-cor

so E

23

Memoria virtualeMemoria virtuale

Come è possibile eseguire uno o più programmi contemporaneamente che richiedono più memoria di quanta sia disponibile?Per eseguire un programma non è necessario caricarlo completamente in memoria:

basta caricare in memoria principale solo le parti del programma e dei dati che servono durante una certa fase dell’esecuzione

Per gestire la memoria in modo virtuale, si usa:la memoria principale

in cui tenere solo i programmi, o i pezzi di programmi, e i datiche servono in un certo istante (compreso il SO)

un supporto di memoria secondaria in cui mantenere tutte le informazioni relative ai processi in esecuzione, non contenute nella RAMsi usano i dischi rigidi perché sono abbastanza veloci e hanno accesso diretto

Page 24: Lezione 5: Software - Unicalirina/lezioni/lezione5.pdf · Hardware Software di base Software applicativo Architettura del Calcolatore La prima decomposizione di un calcolatore è

Intro

duzi

one

all'I

nfor

mat

ica

-cor

so E

24

Memoria virtualeMemoria virtuale

Le pagine sono caricate nella RAM indipendentemente, quando sono richieste per l’esecuzione (on demand)

Il SO stabilisce quali pagine eliminare dalla RAM per far posto a nuove pagine di processi in esecuzionese le pagine sono state modificate devono essere ricopiate sul disco

Il processo di scambiare pagine tra memoria e disco si chiama swapping

Lo swapping è costoso in termini di tempo e rallenta l’esecuzione di un programma

Page 25: Lezione 5: Software - Unicalirina/lezioni/lezione5.pdf · Hardware Software di base Software applicativo Architettura del Calcolatore La prima decomposizione di un calcolatore è

Intro

duzi

one

all'I

nfor

mat

ica

-cor

so E

25

Gestione delle perifericheGestione delle periferiche

Driver: programmi del SO per la gestione delle periferiche

Funzioni assolte:Sincronizzazione fra calcolatore e ambiente esterno

Asincronicità fra CPU-RAM e perifericheAccesso contemporaneo al calcolatore da parte di diverse periferiche

Gestione di accessi contemporanei alle perifericheesempio: gestione delle richieste di stampa da parte di piùprocessi attraverso code di spooling

Astrazione/standardizzazionemascherare le differenze fra dispositivi dello stesso tipo

Page 26: Lezione 5: Software - Unicalirina/lezioni/lezione5.pdf · Hardware Software di base Software applicativo Architettura del Calcolatore La prima decomposizione di un calcolatore è

Intro

duzi

one

all'I

nfor

mat

ica

-cor

so E

26

Gestione dei file (Gestione dei file (filefile system)system)

Si basa su una strutturazione logica del contenuto delle memorie di massa

File: sequenze di bit, identificate da un nomeCartelle (directory): contenitori di fileUnità di memoria di massa (a:, b:, c:, d:)

Funzioni assolte:Astrazione/standardizzazioneReperimento efficienteGestione degli accessi contemporaneiSicurezza e protezione

Page 27: Lezione 5: Software - Unicalirina/lezioni/lezione5.pdf · Hardware Software di base Software applicativo Architettura del Calcolatore La prima decomposizione di un calcolatore è

Intro

duzi

one

all'I

nfor

mat

ica

-cor

so E

27

Alcuni sistemi operativi realiAlcuni sistemi operativi reali

DOSDOS IBM compatibili con architettura 80x86, IBM compatibili con architettura 80x86, monoutentemonoutente, , monoprogrammatomonoprogrammato

Windows 3.1Windows 3.1

Windows Windows ‘‘9x9x

Windows NT Windows NT

OS/2OS/2

UnixUnix

MacOSMacOS

Ambiente di rete per architetture da 80486, Ambiente di rete per architetture da 80486, multiutentemultiutente, , multiprogrammatomultiprogrammato

Ambiente per le architetture a partire da 80486, Ambiente per le architetture a partire da 80486, monoutentemonoutente, , multiprogrammatomultiprogrammato

Ambiente vasto e potente, capace di ospitarne altri, montato su Ambiente vasto e potente, capace di ospitarne altri, montato su gran parte gran parte delle delle workstationworkstation, , multiutentemultiutente, , multiprogrammatomultiprogrammato

Noto come Macintosh, Noto come Macintosh, monoutentemonoutente, , multiprogrammatomultiprogrammato

Per le architetture a partire da 80386, Per le architetture a partire da 80386, monoutentemonoutente, , multiprogrammatomultiprogrammato

Per le architetture a partire da 80486, Per le architetture a partire da 80486, monoutentemonoutente, , multiprogrammatomultiprogrammato

Page 28: Lezione 5: Software - Unicalirina/lezioni/lezione5.pdf · Hardware Software di base Software applicativo Architettura del Calcolatore La prima decomposizione di un calcolatore è

Intro

duzi

one

all'I

nfor

mat

ica

-cor

so E

28

Classificazione dei calcolatoriClassificazione dei calcolatori

SUPER COMPUTER

MAINFRAME

PERSONAL COMPUTER

WORKSTATION

MINICOMPUTER

NOTEBOOK, LAPTOP (Portatili) Pot

enza

di

Pot

enza

di

calc

olo

calc

olo

CLUSTER O RETI DI WORKSTATION

HANDHELD COMPUTER(Palmari)