Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in...

79
fondamenti di informatic a 1 parte 1 D.U. 1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica, a.a. 2000-2001 di anna maria carminelli gregori

Transcript of Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in...

Page 1: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

1

fondamenti di informatica parte 1

appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica, a.a. 2000-2001dianna maria carminelli gregori

Page 2: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

2

PREMESSAAnche quest’ anno le lezioni saranno svolte

usando i miei file contenenti appunti sulle lezioni stesse;

il primo file e’ fondinf1.1 e si trova al sito E:/carmin/duinf2000/fondinf1.1 (accessibile con le operazioni specificate negli appunti a mano).

E’ costruito come tutti gli altri con/per Power Point: gli altri sono posti alla stessa locazione (direttorio). I loro nomi: fondinf1.2, fondinf1.3 fondinf1.4 fondinf1.5

Page 3: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

3

Modalita’ di utilizzo Nel Laboratorio di Informatica viene usato il

Sistema Operativo Windows95_NT ossia un S.O. che controlla un insieme di computer collegati in rete ad un Elaboratore Elettronico, detto SERVER, che gestisce la rete locale e condivide tra tutti il suo disco fisso, suddiviso in piu’ partizioni chiamate E: , S: , H: (vedere denominazioni in DOS, parte 2);

Significato e tipo della rete del Laboratorio: l’ utente usa uno degli elaboratori connessi al Server e di questo Server puo’ leggere le informazioni registrate sul suo disco.

Page 4: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

4

Laboratorio ed uso della reteI file ed il software che lo studente (=utente )

vuole usare non sono residenti sulla macchina locale , o CLIENT, ma sul disco condiviso dal Server con tutti i computer del Laboratorio.

La connessione al Server avviene tramite accesso con username e password chiesti all’ avvio del computer locale: la loro mancanza inibisce l’ accesso al Server e quindi ai file. RICORDARSENE !!

Page 5: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

5

username e passwordsaranno comunicati ad ogni studente

del D.U.PER ORA I LORO VALORI PROVVISORI

sono:username: password: tutto in minuscolo perche’ Windows e’

“sensitivo” ossia conosce la differenza tra minusolo e maiuscolo !

Page 6: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

6

Tali username e password

abilitano l’ utente ad accedere al disco del Server (E: S:) ed a usare tutti i programmi li’ registrati, per es. S:\tc\bin\tc per programmi in C++ (cfr. modalita’ d’uso del C++ parte 2 );

NON l’ abilitano a scrivere alcunche’ sul disco del Server (E: S:) per preservare lo stesso da cancellazioni e/o modifiche (SICUREZZA !);

per conservare i suoi programmi l’ utente puo’ usare un floppy personale e temporaneamente il disco C:\temp del Client (Elaboratore) locale che sta usando.

Page 7: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

7

fondamenti di informatica 1

Scopo del corso:fornire: i principi, i concetti

fondamentali, le nozioni e l’ impostazione per l’ utilizzo corretto dell’ Elaboratore Elettronico (E.E.) imparando le nozioni di base su:

Page 8: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

8

Primo corso di: fondamenti di informatica=Nozioni base su: _hardware/software;_la struttura funzionale di E.E.;_i sistemi operativi;_la programmazione;_alcuni strumenti software;_il linguaggio C, C++ ….Propedeuticita': conoscenza di base della

matematica

=>

Page 9: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

9

… ma l’ informatica, che cos’ e’?E` bene evidenziare subito cosa non e’ l'

Informatica ! NON E’:Calcolo numerico ne’ Geometria ossia

non e’ una disciplina che insegna metodi numerici o geometrici;

Probabilita’ ne’ Statistica ossia .....Un gioco nel senso che non insegna a

giocare con l' elaboratore e va presa sul serio;

Page 10: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

10

Cosa e’ l’ informatica

NON E’ Semplicemente una materia di ausilio alle altre, ma ha sue precise finalita’ che si possono sintetizzare nel:

razionalizzare il trattamento delle informazioni ... (e di E.E.)

Una possibile prima definizione:scienza e professione della gestione

delle informazioni effettuata con le velocita’ e precisione proprie di E.E.

Page 11: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

11

Bibliografia

Franco Crivellari: “Elementi di programmazione con il C++”, Franco Angeli;

A.Bellini, A.Guidi: “Guida al linguaggio C”, McGraw Hill;

P. Bishop: “L’ Informatica”, Gruppo Editoriale Jackson, 1992;

R.A. MEO, M. Mezzalama ed altri: “Fondamenti di informatica”, UTET.

Page 12: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

12

Programma Il corso comprende: a) una parte teorica, (25 ore) b) una parte applicativa. "

a): introduzione all' Elaboratore Elettronico (E.E.), concetti di . base su Hardware & Software, livelli di utilizzo e . . . . . funzionamento di E.E.; (2 ore)

rappresentazione e codifica delle informazioni; algoritmi & informatica; (3 ore) calcolo booleano: fondamenti, tabelle di verita’, circuiti .

. logici corrispondenti, combinatori e sequenziali ; (4 ore) l' Hardware, struttura, componenti funzionali e fisiche di

. E.E.; funzionamento ciclico della CPU e cenni sul suo . . . . Linguaggio; cenni su reti (LAN e WAN) e Internet. (5 ore)

Page 13: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

13

(segue programma: a)

il Software ed il Sistema Operativo con suo utilizzo sui Personal Computer (riferimenti DOS, e WINDOWS e WINDOWS_NT); software di base (editor, interpreti, compilatori e assemblatori); prog. applicativi: cenni su Word Processor, sui Sistemi di gestione di Basi di Dati, su iper- testi/media e WWW; (6 ore) la programmazione: linguaggi e traduttori (Fortran, C, C++); composizione e struttura di un programma, progetto e costruzione di un programma con metodo TOP-DOWN; (4 ore) fasi del processo di traduzione di un programma. (1 ora)

Page 14: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

14

(segue programma:) b) il linguaggio C e C++:

b) presentazione, uso, ambiente di sviluppo (Tc della Borland per il C++), fasi di sviluppo di un programma: progetto - stesura - compilazione - "linkaggio"- esecuzione; esempi in Lab.;(2 ore ) programmi monolitici e strutturati con uso di funzioni come e' tipico nei programmi in C e C++; concetto di funzione e di sottoprogramma in generale; librerie e file header del C e C++; esempi in Lab.;(4

ore) tipi di dati e di operatori; le variabili, le espressioni, la frase di assegnazione; variabili locali e globali, ambiente locale e globale;(2 ore )

Page 15: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

15

(segue programma:) b) il linguaggio C e C++:

differenza tra indirizzo e contenuto di ogni informazione; esempi in Lab. (4 ore );

elaborazione sequenziale, condizionale, ciclica; (4 ore) argomenti di sottoprogrammi e passaggio di parametri

tra (sotto)-programmi (per indirizzo e valore); funzioni e procedure; argomenti del main; compilazione separata; esempi in Lab. (4 ore);

informazioni strutturate come vettori, stringhe, matrici; passaggio di vettori e matrici a sottoprogrammi;

cenni su: strutture e alcune operazioni/funzioni relative; registrazione/lettura su/da file sequenziali; esempi in Laboratorio (5 ore).

Page 16: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

16

Metodo usato: top - down

… o a raffinamenti successivi che permette di presentare un problema o un in generale un oggetto in modo globale, scomponendolo ricorsivamente nelle sue componenti essenziali, piu’ semplici da capire e con specifici dettagli in evidenza.

Es. Programma del corso (precedente), Elaboratore Elettronico (seguito), …….

Page 17: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

17

E.E.cosa è, a cosa serve, come è …..Storia e Antenati …….Livelli di utilizzo

Introduzione a E.E.

Page 18: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

18

E.E. cosa e’ ….. (es. Metodo top - down)

E.E. e’ una macchina elettronica, funzionante in modo automatico, capace di effettuare l’ elaborazione di informazioni.

Informazioni: sono parole e/o numeri CODIFICATI nella forma piu’ adatta per l’ elaborazione.

Elaborazione di Informazioni: lettura dall’ esterno, memorizzazione su supporto elettronico e/o magnetico, recupero, modifica, visualizzazione all’ esterno di informazioni.

Page 19: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

19

Hardware & Software

E.E. e’ dunque fatto di circuiti elettronici = componenti fisici = HARDWARE …. ma questi da soli sono soltanto una accozzaglia di fili e ferramenta. Solo con l’ aggiunta di componenti

logiche = programmi = SOFTWARE che ne governano l’hardware, E.E. diventa capace di ELABORARE INFORMAZIONI.

Page 20: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

20

E.E. Storia e Antenatiantenati: 1642 macchina calcolatrice meccanica di Blaise Pascal; 1671 macc. calc. meccanica di Gotfried Von Leibniz; 1821 macc. calc. mecc. di Charles Babbage e successiva Macchina Analitica (? Aritmetic Unit ? Calcolatore Meccanico ?); 1850 nuova logica matematica George Boole (algebra booleana);

Page 21: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

21

E.E. Storia e Antenati

Antenati: 1890 uso di schede perforate da parte di Hollerith; 1936 macchina di Turing: …. ….. 1946 ENIAC primo elaboratore costruito all’ Univ. della Pennsylvania sul modello di Von Newman; ……….

Page 22: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

22

Elaborazione di Informazioni ….

Informazioni: parole-numeri CODIFICATI nella forma piu’ adatta per l’ elaborazione ... o anche: successione di simboli di un dato alfabeto con proprio significato in un dato linguaggio.

Linguaggi: naturale con alfabeto composto da: lettere minuscole, maiuscole, cifre ... simboli;

artificiale con alfabeto diverso .... per es. alfabeto dell' elaboratore: 0 1 cifre binarie = binary digit = bit.

Page 23: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

23

BitPerche’?Ogni elemento dei componenti fisici dell’

elaboratore puo’ avere solo 2 stati convenzionalmente indicati con 0 e 1 (per es. i valori di tensione elettrica in un punto possono essere: basso = 0, o alto = 1).

Elaboratore elettronico: i suoi circuiti elettronici, con tempi di commutazione dell' ordine del nano-secondo (10-9 sec.), sono dedicati a: memorizzare, combinare, trasferire bit = =>elaborare informazioni = sequenze di bit.

Page 24: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

24

Il suo uso permette Codifica/Decodifica delle informazioni.

La Codifica/Decodifica delle informazioni sfrutta tutte le componenti!

Componenti dell elaboratore: Hardware, Software ..... Firmware

Software ( = merce soffice contrapposto ad Hardware = ferramenta)

Firmware = Software realizzato ad Hardware (per es. il loader = caricatore)

Necessita’ di un Codice: corrispondenza tra 2 alfabeti !

Page 25: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

25

Codifica/Decod. di informazioni:1) tipo numerico intero

Numeri: naturali, interi, interi relativi, reali relativi. Il codice numerico usato negli elaboratori si basa sul

Sistema numerico binario ossia a base 2 con uso dei simboli 0 e 1. E’ un Sistema numerico posizionale

Sistema numerico posizionale: scelto un numero come base, ogni valore numerico e’ esprimibile tramite potenze della base moltiplicate per opportuni coefficienti.

Es. in base dieci: 94 = 9 . 101+4 . 100

Intero10= idi.10i con di =0,1….9 coefficienti

Page 26: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

26

Sistema posizionaleIn generale nel sistema a base r (r>0)la rappresentazione di N intero positivo e’:N = dn-1 dn-2 . . . . d1d0 sequenza di simboli di

con di {0,1,2…..r-1}, n = n.ro posizioni di

rappresentazioneed il suo valore e’: n-1

Valore N=i=0 di . ri e se r = 1 ??!

Page 27: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

27

Interpretare sequenze di bit: pacchetti & byte

Base 10: utilizzabili 10 simboli; " 2: " 2 " " 8: " 8 " ” 16: " 16 " ...... Ogni valore numerico ha una rappresentazione in

binario: una sequenza di bit. Importanza dei raggruppamenti = pacchetti di bit: in base 8 una cifra (0-7) e’ rappresentabile con un pacchetto di 3 bit; " " 16 " " (0-F) " " " " ” " 4 " Pacchetti importanti: byte = 8 bit; parola = 2, 4, 8 ... byte; una sequenza di bit e’ interpretabile raggruppando i bit a

pacchetti.

Page 28: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

28

Conversioni tra basi: regole di calcolo Conversione di interi da base 2 a base 10: somma dei prodotti tra i

bit e le corrispondenti potenze di 2; Es. 0001 0101 01112 = 28+26+24+22+21+20 = 34310 = 1.162

+5.161+7.160

Simboli in base 16: 0,1..9,A,B,C,D,E,F Rappresentazione e corrispondenza esadecimale: Binario Esad. Dec. Binario Esad. Dec. 0000 0 0 0001 1 1 .… … … 1001 9 9 1010 A 10 1011 B 11 1100 C 12 1101 D 13 1110 E 14 1111 F 15 FF16 = 15 . 161 +15 . 160 = 25510 = MAX INTERO IN UN BYTE = 1

. 162 - 1 = 25610 - 1 = 10016 - 1.

Page 29: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

29

Conversioni di interi

Conversione da base 10 a base 2: successione di divisioni per 2 fino ad avere quoziente = 0: si ottiene una sequenza di bit che si puo’ leggere raggruppando i bit a pacchetti di 4 ossia con cifre esadecimali.

Es. 8/2=4 e resto=0 4/2=2 “ “ =0 2/2=1 “ “ =0 1/2=0 “ “ =1 810=10002 =816

Page 30: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

30

Algoritmo per divisioni N10->Nr

(Significato “algoritmo” cfr. avanti)Si basa sulla rappresentazione di N10 nella base

r e sulla definizione euclidea di divisione:N10 = dn-1rn-1 + dn-2rn-2 . . . . d1r1 +d0r0 =

= r(dn-1rn-2 + dn-2rn-3 . . . . d1) + d0 =

= rQ0+ d0 (e d0 e’ il resto di N10/r !)

Si procede analogamente per Q0, Q1, Q2… ... a proposito di divisioni e moltiplicazioni: in

cosa consistono quelle per la base ??! Per es. come si fanno in binario divisioni/moltiplicaz. per 2?

Page 31: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

31

Valori significativiMAX INTERO IN 16 BIT: FFFF16 = 65 53510 = 216 -1 = 1 0000 0000 0000 00002 -1 = = 1111 1111 1111 11112

MAX INTERO RELATIVO IN 16 BIT: 7FFF16 = 32767 = 0111 1111 1111 11112

(IL BIT PIU` A SINISTRA DEDICATO AL SEGNO: 0 = NUM. POSitivo 1 = NUM. NEGativo)

PER NUM. "REALI": CODIFICA IN "VIRGOLA MOBILE" (NOTAZIONE SCIENTIFICA +avanti )

Page 32: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

32

Interi negativi: invece della notazione in modulo e segno

si usa quella in complemento a 2Una motivazione: per il Circuito Sommatore e’

elementare fare la Differenza se si usa il complemento a 2 del sottraendo.

Complemento alla base e significato in base10: es. 8-3 = 5 Sommando ad 8 il complemento alla base 10 di 3

8+(10-3)=1 5 il risultato ha sempre 5 unita’8-3+10 = 1 5

Page 33: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

33

Complemento a 10L’ uso del complemento alla base 10 di

310 nella sottrazione produce sempre il risultato con 5 unita’ (ripetizione delle cifre: vedere “orologio” decimale.)

Avendo un dispositivo (Registro) contenente le sole unita’ il risultato della sottrazione si puo’ ottenere sommando a 8 il complemento a 10 di 3 che vale 7 ossia quanto manca a 10 da 3 ossia 10-3.

Page 34: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

34

L’ “Orologio” decimale con 2 sensi: antiorario (-) orario (+)Altro esempio in Decimale:810-710 = 810+310 = =1 unita’

In Binario:1-1 = 0 1-1+102 = 1 02

1+(102 -1) = 1 02

Complemento alla base 210 (=102 ) di 1

8+

3

Page 35: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

35

In binario come si fa il complemento alla base 2 : ?

Si cambiano gli 0 in 1 , gli 1 in 0 e si somma 1es: in un registro fatto di soli 4 bit = |x|x|x|x|complemento a 210=00102=>(1101+1=1110)2

e quindi: (2-2)10= 00102 +1110 = (1) 0000La cifra 1 esce a sinistra dal registro: non conta Il bit piu’ significativo del registro (a sinistra) se

posto a 1 rappresenta una quantita’ < 0,intervallo di rappresentazione in n bit:[-2n-1, +2n-1-1] se n=4 => [-8, +7]10

Page 36: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

36

Perche’ si cambiano gli 0 in 1 e si somma 1 ?

Con un registro a 4 bit: |x|x|x|x|MAX valore IN 4 BIT: F16 = 1 1 1 12 = 1510 = = 1610-1 =1 0 0 0 02 -1 Per fare il complemento a 2 di un valore con 4

bit occorre calcolare quanto dista quel valore da1 0 0 0 02 : cio’ equivale a cambiare gli zeri in 1

e sommare 1. VERIFICARE !!!!! Per es. 310=00112; 100002 - 00112 = 11012

Page 37: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

37

Intervallo di rappresentazione con 4 bit = =>[-8, +7]10= [10002 , 01112] Perche’ ? Con 4 bit

il n.o valori = 1610 da 0 a15 ossia da 0000 a 11112

Destinare il bit di sinistra al segno significa dividere per 2 l’ intervallo. Si hanno 8 valori 0 ossia da 0 a 710 0 (ed 8 valori < 0 ). Risulta +710 = 01112.

Facendo il complemento a 2 di 01112 si ha: 1000+1=1001= -710 che dista 1 da -810

-810 invece dista 0 da -810 ossia: -810=10002

Ecco quindi: intervallo di rappresentazione in n bit: [-2n-1, +2n-1-1]

Page 38: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

38

Domande

Quale e’ il complemento a 2 di 1 ?Quanto vale 11112 nella notazione del

complemento a 2 ? Overflow = tracimazione: quando si

verifica? Per registri a 4 bit la somma: 11112 +1 produce: 1|0|0|0|0| ossia zero con riporto di 1 in posizione esterna: questo e’ un esempio di tracimazione.

Page 39: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

39

Motivazione per il Floating-Point

Intervalli di rappresentazione limitati: come si risolve il problema? Con l’ aumento del parallelismo dei registri di memoria e del circuito sommatore ?

non basta: occorre un altro tipo di rappresentazione ossia, per esempio, la codifica floating-point normalizzata (vedi diapo seguente).

Page 40: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

40

Codifica/Decod. di informazioni:2) tipo numerico non intero

Con un Sistema posizionale a base r (r>0)la rappresentazione di un numero positivo N

con n cifre intere e m frazionarie e’:

N = dn-1 dn-2 . . . d1d0 . d-1 d-2 . . . d-m

con di {0,1,2…..r-1}

ed il suo valore e’: n-1 m

Valore N=i=0 di . ri + i=1 d-i

. r -i

Page 41: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

41

Codifica floating-point normalizzata per fissare il

posto standard del punto decimale che si stabilisce stia a sinistra della prima cifra significativa. Se 9.0810=9 .100+0 .10-1+8 .10-2 = 0.908 . 101 = 908.0 . 10-2 =… Dove va il punto? In forma normalizzata a sinistra di 908 ossia ...=(-1)0 . 0.908 . 10+1

. In forma normalizzata si ha:

N=(-1)s . M . rE ossia e’ importante la tripla (S, M, E) con S {0,1} Segno del numero, dato da (-1)S; M = suo valore assoluto con r-1 M <1; E= Esponente di r con segno. Nell’ esempio fatto S=0; M=908; E=+1

(0, 908, +1)

Page 42: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

42

CHIOSA... naturalmente e’ tutto in binario con: 1 bit

riservato a S, X bit riservati a M, e Y bit riservati a E (esponente della base 2) esprimibile in modulo e segno!!!! Esempio: -1/8 ha S=1, M=0.12510=0.0012= 0.1002

. 2-2 cioe’ E= -210 =

=1 102. Se si riservano 4 bit per M, 3 bit per E ed 1 per S si ottiene: 1 1000 1102 .

Conversione da base 10 a base 2 per valori frazionari: successione di moltiplicazioni per 2 basandosi sulla rappresentazione dei numeri e sulla definizione euclidea di moltiplicazione.

Page 43: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

43

Moltiplicazioni: perche’ ?Valore N=i=0 di

. ri + i=1 d-i. r -i =

Ni + NfNf = d-1

. r -1 + d-2. r -2 + d-3

. r -3 + …. == r -1 . (d-1 + d-2

. r -1 + d-3. r -2 + ….)

Nf . r = d-1 + d-2. r -1 + d-3

. r -2 + …la prima moltiplicazione isola la prima cifra, le

moltiplicazioni successive isoleranno le altre cifre.

Page 44: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

44

nota

…. ma se il valore numerico e’ una potenza negativa di 2 o una combinazione di potenze negative di 2 la conversione in base 2 diventa elementare !

Es. 0.510=1/210 = 0.12

0.7510=(1/2+1/4)10=0.112

VERIFICARE COL METODO DELLE MOLTIPLICAZIONI SUCCESSIVE !

Page 45: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

45

Intervalli di Rappresentazione in binario IMPORTANTE! _Campo Finito di Numeri: limiti superiore e inferiore

finiti: se un' operazione produce un risultato oltre questi limiti: ERRORE !

_Precisione Limitata dei Valori Numerici: in ogni tipo di rappresentazione esiste un numero finito di bit fissato per la rappresentazione di un valore numerico. (Per es. non puo’ essere rappresentato con tutte le sue cifre.) Arrotondamenti o troncamenti non producono risultati esatti ma approssimati nei limiti della precisione ottenibile con il numero di bit fissato.

Page 46: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

46

Aritmetica 1) notazione Fixed-Point: intervallo di rappresentazione limitato (per es. con 16

bit: -32768 <---> +32767)operazioni effettuate direttamente dalle componenti

apposite di E.E. Se pero’ si tratta di moltiplicazioni per 2basta uno schift a sinistra ! (a destra per la divisione !!) 2) notazione Floating-Point Normalizzata(S,M,E): intervallo di rappresentazione limitato (per es. con 32

bit di cui 1 bit per S, 8 bit per E, 23 bit per M: (+/-)10-38 <---> 10+38 a cui va aggiunto lo 0;

operazioni effettuate da altre componenti di E.E.

Page 47: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

47

Codifica/Decod. di informazioni:3) informazione di tipo testo

Testo = Successione di caratteri

Viene usato il Codice ASCII (American Standard Code for Information Interchange) che associa ad ogni carattere un byte contenente una configurazione dei suoi 8 bit alla quale corrisponde un valore numerico n

0 n 25510 ossia 0000 0000 n 1111 11112 ossia 00 n FF16

Byte: sequenza di 8 bit; con un byte si hanno 256 possibili combinazioni diverse (28 = 2 elementi diversi combinati a ottetti)

Page 48: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

48

Codice ASCII: qualche esempioPrimi 32 caratteri con valori decimali da 00 a

31: caratteri di controllo per esempio ^G=BEL;da 3210 a 6410 si hanno caratteri speciali come

la spazio, il $, le parentesi (), le cifre da 0 a 9 e la @ ;

da 6510 a 9010 lettere maiuscole A-Z; poi ancora caratteri speciali come le parent.

{};da 9710 a 12210 lettere minuscole a-z;poi ancora caratteri speciali e simboli grafici.

Page 49: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

49

Codifiche: conclusioni Informazione => successione di caratteri alfanumerici => successione di bit

=> interpretabile a livelli Hard/Soft.

Importanza interpretazione numerico/alfabetica: es. Valore intero = 4616 = 7010

0100 0111 { Lettera maiuscola F

Operazioni sulle informazioni:1) " elementari (livello hard. ling. macchina)2) " complesse ( " soft. )

Page 50: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

50

Istruzioni relative e note 1) es. Somma numeri interi;

Confronta byte; ......... 2)

es. Ordina una sequenza di parole; Visualizza un’ immagine, un suono…NOTA 1: qualsiasi tipo di informazione (immagini,

suoni...) e’ rappresentabile con sequenze di bit (rappresentazione unitaria!) e quindi gestibile usando appropriatamente E.E.

NOTA 2: Ogni operazione complessa e’ realizzata con un insieme di apposite istruzioni che utilizzano operazioni elementari: ... algoritmo !

Page 51: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

51

Nozione di algoritmo: insieme di regole non ambigue tese ad

elaborare informazioni, eseguibili automaticamente, (per esempio da

uno schiavo che sappia contare senza sbagli e sia dotato di memoria ove annotare le informazioni che deve elaborare ed i risultati via via ottenuti) e

a partire dai dati producano i risultati in un tempo finito.

Programma: algoritmo scritto per l' elaboratore. Importante: prima algoritmo, dopo programma !

Page 52: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

52

( CURIOSITA’:

il nome deriva da Al-Kuwarizmi, matematico Persiano, il quale nell’ 800 d.C. scrisse un trattato di artimetica con la descrizione dei passi necessari per effettuare le operazioni aritmetiche. Il trattato iniziava con la frase: “Al-Kuwarizmi dice: … ”

Il trattato fu tradotto in latino ed in latino la frase iniziale divento’: “ Algoritmo dicit: … ” )

Page 53: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

53

Che cosa e’ l' informatica …

La creazione di algoritmi che combinano anche in modo complesso sequenze di operazioni semplici (blocchi) ...

puo’ sintetizzare meglio

che cosa e’ l' informatica.

Page 54: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

54

Livelli di utilizzo di E.E. Livello utente: E.E. = scatole cinesi = sistema a cipolla col primo

strato di tipo software amichevole che ad un dato INPUT risponde con un certo OUTPUT;

obiettivo utente: acquisire familiarita’ col sistema.

Livello professionista: conoscenza precisa e completa di ogni componente

funzionale di E.E. Studenti Informatica: entrambi livelli, ma per un uso

piu’ immediato solo uno sguardo su hardware e SUBITO visione software.

Page 55: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

55

Da Babage ad oggi ??La struttura funzionale di un Personal

Computer (ossia di un E.E. standard, non di tipo particolare) e’ sempre quella ideata prima da Charles Babbage intorno al 1820 e poi realizzata da Von Neumann negli anni ‘40.

La tecnologia elettronica e’ cambiata, e’ cresciuta la potenzialita’ ... ma la “filosofia” del funzionamento e’ rimasta inalterata.

Segue un’ elementare sintesi semplificata del comportamento di E.E.

Page 56: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

56

Il via alle varie unita’ componenti e’ scandito

periodicamente da un orologio. “Si sveglia” l’ Unita’ Centrale di elaborazione

(C.P.U.), collegata alle altre unita’ ed in particolare alla Memoria Centrale (C.M.) che interroga ed alla quale chiede informazioni.

Queste passano da un’ unita’ all’ altra come evidenziato nello schema di massima successivo, dove le frecce grandi simboleggiano il passaggio di informazioni e di segnali di controllo e le frecce piccole solo di questi ultimi.

Page 57: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

57

Introduzione a E.E. Struttura funzionale:

Temporizzatore

Unita’ Centrale di Controllo Unita’ Aritmetico - Logica

Unita’ di controllo di I/O

Memoria Centrale

PerifericheMemorie di massa

CPU

Registri Flag

Page 58: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

58

Componenti funzionali: il clockLe operazioni svolte dalle componenti di E.E.

devono essere sincronizzate: per esempio per ottenere la somma di 2 valori questi devono essere prima posti in registri della CPU e poi sommati. Per questo scopo occorrono un temporizzatore e un coordinatore. (Come nelle triremi romane: lo schiavista dava il tempo.)

Il segnale che cadenza le operazioni e’ quello del clock che genera ed invia a tutte le componenti un segnale periodico con periodo T = X nano-secondi, frequenza f =1/T.

Page 59: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

59

Valori di T e di f ?

Per es. T= 40nsec, f= 25MHz (Mega Hertz=Milioni di battiti o impulsi al secondo)

Per eseguire un’ istruzione occorrono alcuni impulsi di orologio: se questo ha f=100MHz verranno eseguite mediamente circa quaranta milioni di operazioni/sec.

Oggi si hanno clock con frequenza di 500MHz e periodo di 2nsec ...

Page 60: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

60

Componenti funzionali: CPULa Central Processing Unit (C.P.U.) e’ la parte

fondamentale di E.E. Le sue componenti sono i Registri, i Flag (=indicatori di stato), le Unita’ di Controllo e Aritmetico-Logica (ALU), tutte connesse e “immerse” nella stesso “chip” (nello schema un rettangolo in grassetto... “ragnetto”)

La CPU coordina e controlla tramite la Central Control Unit tutte le operazioni svolte al suo interno e in generale da ogni unita’ di E.E. Per esempio la Central Control Unit invia a tutte le componenti segnali di controllo perche’ il trasferimento dei bit (per es. dalla Memoria in registri) avvenga senza perdite.

Page 61: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

61

Componenti funzionali: C.M. = Central MemoryMemoria Centrale: RAM (Random Access Memory)

Modello di von Neumann:_ memoria di tipo lineare ossia: successione

di locazioni (posizioni, celle,byte, parole) numerate e indirizzabili sequenzialmente !

NOTARE DIVERSITA’ tra: INDIRIZZO di una locazione e CONTENUTO di una locazione !!

Dimensione della memoria: numero di locazioni indirizzabili (per un Personal n.o di byte).

Page 62: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

62

Funzione della Memoria Centrale e … “colleghe”:

ricordare dati, risultati intermedi e definitivi, programmi .... ma finche’ l' elaboratore resta acceso! Caratteristica: RAM e’ volatile! Tecnologia: circuiti integrati a larga scala(LSI); aspetto: sequenza di “centopiedi”.

Altro tipo: ROM (Read Only Memory = memoria di SOLA LETTURA: permanente)

Memoria Periferica (o di massa) di LETTURA / SCRITTURA: dischi, nastri (bobine) ... dispositivi magnetici. Caratteristica: memoria permanente!

Page 63: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

63

RAM E CPURAM: indirizzo di ogni sua locazione => in

registri della CPU ( es. registro P = Puntatore, registro I.C.= Istruction Counter ….)

RAM: Contenuto di ogni locazione => in altri registri della CPU (es. A = Accumulatore ...)

RAM: scandibile e rintracciabile col Registro P; Memoria <=> Registro P

Unita’ Centrale = Unita’ Elaborativa = CPU = (MicroProcessore per Personal Computer) (per es. MC68020, 386SX, Pentium.....)

Page 64: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

64

Registro P di 4 bit => 16 byte indirizzabili

CPU = “Ragnetto”

REG. P.

Central Memory 00

00

00

01

111

1

Registro P.= Pointer o

i.C.=Istruction Counter

Page 65: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

65

C.M. indirizzabile, ma fino a ?… Indirizzi e byte

Con 4 bit si ottengono 24= 16 possibili indirizzi; Con 8 bit si ottengono 28= 256 possibili indiriz. " 9 " " " 29= 512 " " " 10 " " " 210=1024 poss. ind.= 1K (Kilo byte)

" 11 " " " 211 = 2 K " " " 12 " " " 212 = 4 K " " " 13 " " " 213 = 8 K " " " 14 " " " 214 = 16 K " " " 15 " " " 215 = 32 K " " " 16 " " " 216 = 64 K " " . . . . . . . " 20 " " " 220=1024 K " " = 1M (Mega) . . . . . . . " 30 " " " 230=1000000 K " " = 1G (Giga) . . . . . . .

Page 66: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

66

Conseguenza:Per indirizzare fino a 1024 celle (byte)

occorrono 10 bit ossia un REGISTRO di 10 bit; per indirizzare fino a 64K byte occorrono 16

bit ossia un REGISTRO di 2 byte;per indirizzare fino a 1024K byte occorrono

20 bit ossia un REGISTRO di 20 bit … Volendo dimensioni elevate di memoria

occorrono REGISTRI sempre piu’ larghi. Dove stanno ? Nella CPU.

Page 67: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

67

Ancora CPULa CPU oltre alla Unita’ di Controllo contiene

REGISTRI che hanno anche la funzione di memoria locale molto veloce e la ALU che accede ad essi ed opera sui dati li’ trasferiti dalla C.M. Le operazioni che ALU sa fare (usando per es. il registro A = Accumulatore) sono le 4 dell’ aritmetica elementare e le operazioni logiche (confronti per es.).

Quanti bit hanno questi REGISTRI ?Dipende dal modello di CPU: da 16 a 64 bit.

Page 68: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

68

Flusso di informazioniTornando allo schema della diapositiva 57 si

puo’ immaginare in prima approssimazione un flusso di informazioni che dall’ unita’ di input attiva (per es. la tastiera) fluisce fino ai registri della CPU e quindi nella RAM.

Da qui le informazioni possono tornare nei registri della CPU per essere modificate e/o probabilmente visualizzate insieme ai risultati fluendo quindi alla periferica scelta (per es. il video).

Page 69: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

69

E.E. Hard. + Soft. Per l’ utente:E.E. solo hardware => unfriendlyE.E. con Soft. di base => - unfriendlyE.E. con Soft. di base e Soft. applicativo => friendlyIl Soft. di base ha 2 strati:_ il Sistema Operativo (S. O.)_ i programmi di utilita’ I prg. Applicativi formano un altro strato .

Page 70: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

70

Sistema Operativo:e’ un insieme di programmi specializzato nel

governare il funzionamento di E.E. rendendo la gestione delle sue risorse trasparente per l’ utilizzatore;

mette cosi’ a disposizione dell’ utilizzatore una macchina virtuale non esistente, ma piu’ potente e amichevole dell’ hardware in quanto risponde ai comandi-utente;

il processo di virtualizzazione si propaga ad ogni strato aggiuntivo di software.

Page 71: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

71

Esigenza dell’ utente:avere a disposizione una macchina con cui

poter lavorare e interagire indipendente- mente dal suo hardware, comunicando con uno strumento amichevole, ma efficiente ossia che utilizzi l’ hardware (tutte le unita’ di E.E.) “al meglio”.

Il S.O. risponde a questa esigenza dando all’ utente (o programma = strato di software piu’ esterno) l’ equivalente di “una macchina estesa o macchina virtuale” (S.Tanenbaum).

Page 72: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

72

Sistema Operativo: aspetti (ricordare: il processo di virtualizzazione si

propaga ad ogni strato di software !)QUINDI: funzione 1: S.O. = GESTORE OTTIMALE di

tutte le componenti di un Elaboratore (=Sistema Complesso) ossia CPU, memorie, interfacce di rete, … qualunque dispositivo;

funzione 2: S.O. = Interfaccia amichevole

Page 73: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

73

Schema di Sistema OperativoAnche il S.O. puo’ essere visto come

un sistema a scatole cinesi (o a cipolla): il seguente schema e’ un’ alternativa.

System_file

Hardwarekernel

shell

Soft.base: prg.util.

S.O.

APPLICATIVI

Page 74: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

74

Sistema Operativo: componenti essenziali

shell: conchiglia, guscio che interfaccia l’ utente; e’ sostanzialmente un interprete di comandi con eventuale interfaccia grafica;

System_file: contiene il gestore-informazioni dell’ utente poste nei file (FILE cfr. parte 2);

kernel: e’ il nucleo del sistema operativo. Interfaccia l’ hardware nel senso che esegue le funzioni di base come smistare il controllo della C.P.U. tra i programmi residenti in memoria (cio’ e’ fatto dallo Scheduler, sua componente) e sincronizzare la CPU con la memoria e/o altre unita’ … (cfr.+oltre)

Page 75: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

75

S.O. piu’ diffusiper personal computer:DOS = Disk Operating System basato su

comandi e messaggi: il suo “zoccolo duro” e’ composto da 3 programmi MSDOS.SYS, IO.SYS COMMAND.COM;

WindowsApple_top dotati di interfaccia grafica a oggetti rappresentati da

icone e manipolabili col mouse;

per ogni tipo di elaboratore: Unix (AT&T)

What you see is what you get !

Page 76: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

76

Software di baseE’ composto da programmi di utilita’ di cui

tipici esempi sono:editor;interpreti;compilatori;assemblatori….Strumenti Software indispensabili per

costruire programmi eseguibili (vedere +oltre)

Page 77: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

77

Programmi applicativiTipico esempio: Word Processor o

elaboratore di testi -> fa apparire E.E. come una potente e veloce macchina da scrivere (che non c’e’ ! Virtualizzazione !)

Altro esempio: Data Base Management System o Sistema di Gestione di Basi di Dati. (Gestione = lettura e registrazione, aggiornamento visualizzazione.) Si tratta di un insieme di programmi per la gestione di archivi di informazioni strutturate (per es. in forma di tabelle) e manipolabili singolarmente o in modo incrociato, integrato.

Page 78: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

78

R.D.B.M.S. o S.G.B.D.RQuesti sono i Sistemi di Gestione di Basi di Dati

Relazionali (S.G.B.D.R. o in inglese Relational Data Base Management System = R.D.B.M.S.) .

Relazionali perche’ gli archivi appaiono all’ utente come tabelle o Relation ossia Relazioni (intese in senso matematico di “associazioni tra dati”, messe in evidenza dalle tabelle).

Sulle tabelle di dati si lavora con operazioni che seguono regole precise => Algebra delle relazioni.

Page 79: Fondamenti di informatica 1 parte 1 D.U.1 fondamenti di informatica parte 1 appunti per il D.U. in Ingegneria Informatica, di Telecomunicazioni e di Meccanica,

fondamenti di informatica 1 parte 1 D.U.

79

…. Friendly ?L’ algebra non e’ amichevole, R.D.B.M.S.

spesso lo sono. I Relational D.B.M.S. spesso presentano un interfaccia grafica per facilitare il modo di operare. Esempio: sistema M.S.ACCESS e il DataBase db1.

SEMPRE pero’ occorre sapere COSA si vuole fare, COSA si vuole ottenere ossia aver chiare le specifiche di progetto. COME fare puo’ essere indicato da un uso appropriato dell’ HELP del Sistema in linea.