ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde...

79
ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su tastierino numerico od usando NUM LOCK) http://www.dit.unitn.it/~poesio/Tea ch/IU : piano delle lezioni di Informatica Umanistica D online.

Transcript of ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde...

Page 1: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

ANNUNCI

Testo di Ciotti: messo versione PDF sul sito (e su didattica online)

FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su tastierino numerico od usando NUM LOCK)

http://www.dit.unitn.it/~poesio/Teach/IU: piano delle lezioni di Informatica Umanistica D online.

Page 2: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

INFORMATICA UMANISTICA B

4: CIRCUITI LOGICI E SOFTWARE DI SISTEMA

Page 3: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

UNITA’ CENTRALE: LA MEMORIA PRINCIPALE

Page 4: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

ALU E CIRCUITI LOGICI

I CIRCUITI LOGICI sono la base dell’hardware di un calcolatore

L’ Unita’ aritmetico / logica (ALU), e’ prevalentemente composta di circuiti di questo tipo

Questi circuiti sono costituiti da un gran numero di componenti piu’ semplici

Page 5: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

OPERAZIONI BINARIE

Useremo il termine ‘OPERAZIONE BINARIA’ in modo generico per riferirsi ad ogni funzione che specifica un valore di OUTPUT 0 od 1 sulla base di 1 o piu’ valori di INPUT

Queste operazioni binarie possono essere specificate da TABELLE

Esempio piu’ noto di operazione binaria: OPERAZIONI LOGICHE

Page 6: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

AND

OR

NOT

A B A AND B

falso falso falso

falso vero falso

vero falso falso

vero vero vero

A B A OR B

falso falso falso

falso vero vero

vero falso vero

vero vero vero

A NOT A

falso vero

vero falso

00 1

11 1

01 0

00 0

RA B

10 1

11 1

11 0

00 0

RA B

01

10

RA

OPERAZIONI LOGICHE ELEMENTARI: AND, OR, NOT

Page 7: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

AND

OR

NOT

00 1

11 1

01 0

00 0

RA B

10 1

11 1

11 0

00 0

RA B

01

10

RA

A

B R

R A

B

A R

CIRCUITI ELEMENTARI: AND, OR, NOT

Page 8: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

DALLE TABELLE DI VERITA’ AI CIRCUITI Tanti input quante sono le dimensioni della

tabella Un solo output Un or all’output Tanti and quanti sono gli 1 della tabella Input degli and: 1 se diretto, 0 se negato

A B A B

0 0 0

0 1 1

1 0 1

1 1 0

B

A

R

Page 9: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

NAND E NOR

Per realizzare tutte le operazioni binarie non

servono tre operazioni (and, or, not)

Basta una tra :

nand (not and) e nor (not or)

Page 10: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

NAND

NOR

A B A NAND B

falso falso vero

falso vero vero

vero falso vero

vero vero falso

A B A NOR B

falso falso vero

falso vero falso

vero falso falso

vero vero falso

10 1

01 1

11 0

10 0

RA B

00 1

01 1

01 0

10 0

RA B

A

B R

R A

B

Page 11: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

CIRCUITI ARITMETICI

Riporto: 1 1 1 1 0 0

0111002 + 1001112 = ----------- 10000112

Somma: Colonna per colonna, da destra a sinistra Riporto se la somma su una colonna supera la base Tre cifre binarie (prima riga, seconda riga, riporto), somma =1 se una o tre sono 1, riporto = 1 se almeno due sono 1

28 + 39 =----------- 67

Page 12: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

Somma binaria

1 11 riporti 1010011+ 1100011=

-----------

10110110

Si vuole costruire un circuito per sommare due numeri binari

Iniziamo con un circuito che faccia la somma su di una colonna

Page 13: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

1-add 1-add 1-add 1-add

0 riporto inizialeRiporto

finale

risultato

Somma di numeri di 4 bits

Page 14: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

Vogliamo un circuito che con input due bit corrispondenti ed il riporto precedente calcola la loro somma ed il nuovo riporto.

yx

S

R

R'

1-ADD

Page 15: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

2 bit da sommare

riportoriporto per la prossima colonna

risultato su questa colonna

1-ADD

3 input

2 output

Page 16: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

Il circuito comprende due sottocircuiti:

riporto somma1-ADD

Page 17: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

La somma S è 1 se tutti e tre i bit in input sono 1 oppure solo uno di essi è 1.

Questo si esprime con la formula logica:

S = {[(X AND Y) AND R] OR [X AND (Y NOR R)]} OR {[Y AND (X NOR R)] OR [R AND (X NOR Y)]}

Page 18: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

Il nuovo riporto R' è 1 se almeno due bit in input sono 1.

Questo si esprime con la formula logica:

R' = [(X AND Y) OR (X AND R)] OR (Y AND R)

Page 19: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

TABELLE DI VERITÁ

00 01 10 11

0 1

0 1 1 0 1 0 0 1 00 01 10 11

0 1

0 0 0 1 0 1 1 1

Somma S

Riporto R

riporto

bit da sommare

Page 20: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

1-add 1-add 1-add 1-add

0 riporto inizialeRiporto

finale

risultato

Somma di numeri di 4 bits

Page 21: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

Componendo 6 circuiti ADD si ottiene il circuito

x0

0

ADD

R

y0

s0

x1

R

y1

s1

x2

R

y2

s2

x3

R

y3

s3

x4

R

y4

s4

x5

R

y5

s5

ADDADDADDADDADD

Che calcola la somma di due numeri di 6 bit

Page 22: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

H ard w are S oftw are

C om p u te r

Page 23: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

HARDWARE E SOFTWARE

Fino a qui, abbiamo parlato soprattutto di componenti fisiche del computer, il cosiddetto hardware

•Sappiamo però che il funzionamento di un computer non dipende solo dall’ hardware ma anche, e in maniera determinante, dai programmi che il computer è in grado di eseguire, il cosiddetto software

Page 24: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

CHE COSA IL SOFTWARE FA PER VOI

Page 25: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

TRE TIPI DI SOFTWARE

Software APPLICATIVO: programmi che permettono di svolgere funzioni VIDEOGIOCHI, WORD PROCESSING,

DATABASE, POSTA ELETTRONICA Programmi utente veri e propri

Software DI SISTEMA: controlla l’hardware, gestisce l’interfaccia con utente, coordina le applicazioni SISTEMA OPERATIVO, INTERFACCIA RETE

Page 26: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

IL SOFTWARE DI SISTEMA

Una programmazione diretta della macchina hardware da parte degli utenti creerebbe delle serie difficoltà

Page 27: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

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

LOAD 32 R2

ADD R1 84IL SOFTWARE DI SISTEMA

Page 28: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

IL SOFTWARE DI SISTEMA

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 riscrittura del programma stesso

Page 29: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

IL SOFTWARE DI SISTEMA

È necessario fornire un meccanismo per astrarre dall’organizzazione fisica della macchina

L’utente deve: usare nello stesso modo (o comunque in un modo molto

simile) macchine diverse dal punto di vista hardware avere un semplice linguaggio di interazione con la

macchina avere un insieme di programmi applicativi per svolgere

compiti diversi

Page 30: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

LA MACCHINA VIRTUALE

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

011100010111010101000011110

Hardware

Macchina virtuale (software)

Utente

Page 31: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

LA MACCHINA VIRTUALE

Questa macchina si dice virtuale in quanto essa non esiste fisicamente

Il SOFTWARE DI SISTEMA opera un’ASTRAZIONE mettendo a disposizione dell’utente (programmatore) un set di operazioni PIU’ RICCO di quello definito dall’hardware (o dai livelli di software di sistema inferiori)

Quest’operazione di astrazione puo’ essere ripetuta piu’ volte

Page 32: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

ESEMPI DI ISTRUZIONI ‘VIRTUALI’

STAMPA CARATTERE A Eseguire questa istruzione richiede mettere

carattere A in un’area speciale (‘print buffer’), inviare un segnale alla stampante che c’e’ dell’input, aspettare che la stampante abbia finito e controllare che tutto abbia funzionato OK

APRI DOCUMENTO B Un `documento’ é semplicemente una lista di

blocchi su tracce possibilmente diverese del disco

Page 33: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

DAI LINGUAGGI DI PROGRAMMAZIONE AL LINGUAGGIO MACCHINA Ogni computer ha un 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

Page 34: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

STRUTTURA A CIPOLLA

Hardware + software formano un insieme di livelli, che formano la cosi detta “struttura a cipolla”

Idealmente l’utente ad un livello è ignaro di tutti i dettagli delle operazioni svolte dai livelli inferiori della gerarchia e conosce solo le operazioni del livello più alto

Page 35: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

SISTEMA OPERATIVO

Il sistema operativo e’ il software che gestisce ed interagisce direttamente con il computer, presentando a tutti gli altri tipi di software un’interfaccia che astrae dalle caratteristiche dell’hardware specifico.

Esempi: Windows XP, Unix (Linux, Sistem X Apple), etc.

Page 36: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

Funzioni principali del sistema operativo

Avvio del computer

Gestione del processore e dei programmi in esecuzione (detti processi)

Gestione della memoria principale Gestione della memoria virtuale Gestione della memoria secondaria

Gestione dei dispositivi di input/output

Interazione con l’utente

Page 37: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

LA STRUTTURA A CIPOLLA DEL SISTEMA OPERATIVO

011100010111010101000011110Hardware

Utente

Avvio

Gestione: i processi, la memoria, i disp. di input/output

Interfaccia utente

Page 38: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

Funzioni principali del sistema operativo Avvio del computer

Gestione del processore e dei programmi in esecuzione (detti processi)

Gestione della memoria principale Gestione della memoria virtuale Gestione della memoria secondaria

Gestione dei dispositivi di input/output

Interazione con l’utente

Page 39: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

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 40: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

Avvio dell’elaboratore

In genere questa parte del sistema operativo comprende: I programmi per la gestione del processore I programmi per la gestione della memoria I programmi per la gestione dell’input/output I programmi per la gestione delle risorse hardware I programma per la gestione del file system Un programma che crea l’interfaccia verso l’utente

Page 41: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

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 42: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

Avvio dell’elaboratore (i virus)

Spesso durante questa fase sono eseguiti anche dei programmi che verificano l’eventuale presenza di virus sul disco dell’elaboratore

I virus può danneggiare il funzionamento dell’elaboratore Possono essere trasmessi da un elaboratore ad un altro

quando si copiano dei programmi oppure quando si salvano degli allegati dalla casella di posta elettronica

Page 43: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

ESEMPIO: WINDOWS XP

BIOS esegue PowerOnSelfTest (POST) Controlla che video card funzioni Controlla se reboot o ‘cold boot’. Se cold boot,

controlla RAM, bus, tastiera, mouse Carica i drivers speciali Fa partire BOOSTRAP LOADER

BOOTSTRAP LOADER: Carica sistema operativo in memoria Lo fa partire

Page 44: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

Funzioni principali del sistema operativo Avvio del computer

Gestione del processore e dei programmi in esecuzione (detti processi)

Gestione della memoria principale Gestione della memoria virtuale Gestione della memoria secondaria

Gestione dei dispositivi di input/output

Interazione con l’utente

Page 45: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

Esecuzione dei programmi

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

C:> print foo1.doc

C:> oppure

Page 46: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

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 47: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

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 48: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

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 49: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

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 attesa Durante l’attesa si dice che il processore è un

uno stato inattivo (idle)

Page 50: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

Esempio 1

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

processore Tempo totale di esecuzione: 103 * 10-6 = 10-3 = 1 millisecondo

A metà esecuzione è richiesta la lettura di un dato dal disco. Il tempo di lettura è 1 millisecondo

Tempo totale di esecuzione = 2 millisecondi Idle time = 1 millisecondo: 50% del tempo totale di esecuzione è

tempo sprecato

Page 51: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

Esempio 2

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

processore Tempo totale di esecuzione: 103 * 10-6 = 10-3 = 1 millisecondo

A metà esecuzione è richiesta un dato al’utente. Il tempo di reazione è 1 secondo

Tempo totale dell’esecuzione = 1001 millisecondi Idle time = 1 secondo: 99,9% del tempo totale di esecuzione è

tempo sprecato

Page 52: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

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 53: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

Soluzione

In realtà:

Ordinare(C1)

Preparareil caffé (C1)

Pagare(C1)

Ordinare(C2)

Preparareil caffé (C2)

Pagare(C2)

Client 1

Client 2

Page 54: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

Soluzione: sistemi multiprogrammati

Quando il processore è nello stato di idle può 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 55: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

Funzioni principali del sistema operativo Avvio del computer

Gestione del processore e dei processi

Gestione della memoria principale Gestione della memoria virtuale Gestione della memoria secondaria

Gestione dei dispositivi di input/output

Interazione con l’utente

Page 56: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

IL FILE SYSTEM

Page 57: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

Gestione della memoria secondaria

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

Il file system: quella parte del sistema operativo che si occupa di gestire e strutturare le informazioni memorizzate sulla memoria secondaria

Processore

Stampante Memoria secondaria

Memoria principale

Page 58: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

Il file system

Mediante il file system il sistema operativo fornisce una visione astratta dei file su disco

011100010111010101000011110

Hardware

Utente

Avvio

Gestione: i processi, la memoria, i disp. di input/output

Interfaccia utente

Page 59: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

Il file system

Il file system permette all’utente di: Identificare ogni file mediante il suo nome Operare sui file mediante opportune operazioni Effettuare l’accesso alle informazioni grazie ad

operazione di alto livello, che non tengono conto del tipo di memorizzazione

Per esempio, si deve accedere allo stesso modo ad un file memorizzato sul disco rigido oppure su un CD-ROM

Page 60: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

Il file system

Il file system permette all’utente di: … Strutturare i file, organizzandoli in sottoinsiemi

secondo le loro caratteristiche, per avere una visione “ordinata” e strutturata delle informazioni sul disco

Proteggere i propri file in un sistema multi-utente, ossia per impedire ad altri utenti di leggerli, scriverli o cancellarli

Page 61: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

Il file system

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

Page 62: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

Organizzazione gerarchica dei file

Il numero di file che devono essere memorizzati su un disco può essere molto elevato

Si ha quindi la necessità di mantenere i file in una forma ordinata

Un unico spazio (“contenitore”) di file è scomodo La scelta dei nomi diventa difficile perché non è possibile

avere due file con lo stesso nome nella stessa contenitore Le operazioni di ricerca dei file diventano onerose

Page 63: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

Organizzazione gerarchica dei file

L’idea è quella di raggruppare i file in sottoinsiemi

Questi sottoinsiemi di file vengono memorizzati all’interno di contenitori dette cartelle (directory)

I nomi dei file sono locali alle directory Si possono avere due file con lo stesso nome

perché siano in due directory diverse

Page 64: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

Organizzazione gerarchica dei file

Per organizzare gerarchicamente i file, il sistema operativo deve fornire all'utente un insieme di operazioni per: creare una nuova directory rimuovere una directory rinominare una directory elencare il contenuto di una directory copiare o spostare i file da una directory ad un'altra

Page 65: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

Organizzazione gerarchica dei file

I computer sono dotati di più unità di memoria secondaria, per esempio: Unità per floppy disk: A Unità per disco fisso: C Unità per CD-ROM: D

DOS e Windows usano dei nomi per distinguere le unità

Page 66: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

Organizzazione gerarchica dei file

Applicazioni

Biblioteca

Utenti

Indice

Elab_imm

Elab_testi

Narrativa-Fra

Narrativa-Ing

Narrativa-Ita

Bianchi …

Rossi …

Pautasso …

Photoshop.exe

Winword.exe

libro1.pdflibro2.pdf

libro1.pdf

libro1.pdf

libro2.pdf

Premiere.exe

A:

Questa struttura vienechiamata albero

foglie

radicedell’albero

Page 67: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

FUNZIONI DEL SISTEMA OPERATIVO, III: INTERFACCIA UTENTE

Page 68: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

INTERFACCE TESTUALI MS-DOS, Unix shell, Linux shell Lavorando con una interfaccia testuale i

comandi vengono impartiti mediante la tastiera

Ogni comando ha un suo nome e una sintassi ben precisa

C:> print foo1.doc

Can’t find file foo1.doc

C:>

prompt

Page 69: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

ESEMPI DI COMANDI

MS-DOS Date Dir Copy Del Help …

UNIX-Linux Date Ls Cp Rm Man …

Page 70: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

Linguaggio di comandi (interfaccia testuale)

Dai il messaggio di prompt all’utente

Quando arriva il comando, riconoscilo

Se è errato, dai un messaggio di errore

Se è corretto, esegui l’azione corrispondente

Al termine dell’operazione, torna all’inizio

C:> print foo1.doc

Can’t find file foo1.doc

C:>

Page 71: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

INTERFACCIE GRAFICHE

Nei calcolatori con interfaccia grafica molti comandi sono impartiti mediante l’interazione attraverso il mouse

Cioè il clic (il doppia clic, …) del mouse su un’icona viene tradotto in una opportuna sequenza di istruzioni che il computer esegue per soddisfare la richiesta dell’utente

Page 72: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

COMPILATORI ED INTERPRETI Linguaggi:

Di basso livello Di alto livello

I linguaggi ad alto livello devono essere trasformati in un linguaggio comprensibile alla macchina: Interpretati: ogni istruzione viene eseguita da un programma

interprete a richiesta dell’utente (basic) Compilati: le istruzioni vengono tradotte tutte insieme da un

programma compilatore che genera un codice eseguibile che il computer processa direttamente (c, cobol, ecc.)

Page 73: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

STORIA DEI SISTEMI OPERATIVI

Prima generazione: 1945 - 1955 valvole

Seconda generazione: 1955 - 1965 transistors, sistemi ‘batch’

Terza generazione: 1965 – 1980 Circuiti integrati, multiprogramming

Quarta generazione: 1980 – oggi personal computers, interfacce grafiche

Page 74: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

SISTEMI BATCH

Early batch system bring cards to 1401 read cards to tape put tape on 7094 which does computing put tape on 1401 which prints output

Page 75: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

SISTEMI BATCH

Struttura di un tipico Fortran Monitor System job

Page 76: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

PRIMI SISTEMI OPERATIVI MULTI-TASKING

CTSS (Compatible Time Sharing System - 1962)

MULTICS (MULTIplexed Information and Computing Service - 1965)

UNIX (1969)

Page 77: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

SISTEMI OPERATIVI PER PC

MS-DOS (MicroSoft Disk Operating System -1980)

Apple Mac: primo sistema operativo ad utilizzare il nuovo tipo di interfaccia a finestre sviluppato da Xerox

Windows (1985) Windows 95, Windows 98, Windows Me Windows NT, Windows 2000 (5th version of NT),

Windows XP

UNIX per PC: Minix (1987) Linux (1994)

Page 78: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

INTERFACCE SU RETE E WEB

A partire dal 1980 una componente essenziale del sistema operativo

Lezione 6

Page 79: ANNUNCI Testo di Ciotti: messo versione PDF sul sito (e su didattica online) FAQ: come fare la tilde (~, ASCII 126) su tastiere italiane: ALT + 126 (su.

LETTURE

Ciotti & Roncaglia cap. 3