fondamenti di informatica parte 1 appunti per la

  • Slides: 95
Download presentation
fondamenti di informatica parte 1 appunti per la laurea in Ingegneria Civile, Edile, Ambientale

fondamenti di informatica parte 1 appunti per la laurea in Ingegneria Civile, Edile, Ambientale a. a. 2007 -2008 di anna maria carminelli gregori carmin@units. it introduzione z fondamenti di informatica parte 1 1

PREMESSA z. Utilizzo degli appunti composti da 5 file che si trovano sotto il

PREMESSA z. Utilizzo degli appunti composti da 5 file che si trovano sotto il “mio” sito da dove si può scaricare il materiale esposto a lezione ed esercitazioni. La più semplice modalità di collegamento è la seguente: zcollegarsi alla Home Page dell' Università di Trieste, click su Facoltà, click su Ingegneria, click sull' indirizzo in alto http: //www. ing. univ. trieste. it/ Si apre la pagina della Facoltà di Ingegneria e verso la fine, c'è archivio studenti (arc_stud) z 2 click e si apre una finestra con (tra le altre) la cartella carminelli (…segue) fondamenti di informatica parte 1 2

continua z 2 click e si apre la finestra con (tra le altre) la

continua z 2 click e si apre la finestra con (tra le altre) la cartella inf 2007 -08 z 2 click e si aprirà la finestra con tutto il materiale, ossia: z • 5 cartelle, in formato Power-Point, con le mie dispense Fondinf. ppt contenenti gli argomenti più interessanti del corso (NELLA PRIMA DISPENSA SONO SPECIFICATI QUELLI DI MAGGIOR RILIEVO!!!) e nell’ ultima anche esempi di programmi che avevo dato a suo tempo ad esami; z • nella prima cartella c’è anche la Bibliografia del corso; z • 6 cartelle indicate come Programmi dove si trovano esempi di programmi in C++ e C che sono citati nelle dispense; z • altri file e cartelle utili! z (per ora c’è solo una parte del materiale) fondamenti di informatica parte 1 3

Livelli di utilizzo di E. E. z Livello utente: z E. E. = scatole

Livelli di utilizzo di E. E. z Livello utente: z E. E. = scatole cinesi = sistema a cipolla col primo strato di tipo software amichevole che ad un dato INPUT risponde con un certo OUTPUT; z obiettivo utente: acquisire familiarita’ col sistema. z Livello professionista: z conoscenza precisa e completa di ogni componente funzionale di E. E. z Studenti Informatica: entrambi livelli, ma per un uso piu’ immediato solo uno sguardo su hardware e SUBITO visione software. z …prima di tutto: perché c’ è questo corso? Tanti perchè z …. . Esempio di cosa potrete fare col computer dopo aver seguito con interesse il corso fondamenti di informatica parte 1 4

Argomenti importanti da ritrovare in questi appunti 1. Rappresentazione e codifica informazioni con le

Argomenti importanti da ritrovare in questi appunti 1. Rappresentazione e codifica informazioni con le relative conversioni; 2. Hardware & Software dove per Hardware si intende: struttura, componenti funzionali e fisiche di E. E. e fasi del funzionamento ciclico della CPU, 3. e per Software: Sistema Operativo (con riferimenti WINDOWS e DOS); editor, interpreti, compilatori. . . e prog. applicativi; 4. La programmazione: struttura di un programma e sua costruzione a moduli in C++ con uso dei computer del Lab. per implementarlo e farlo funzionare; 5. Argomenti di sottoprogrammi e passaggio di parametri tra (sotto)-programmi. fondamenti di informatica parte 1 5

Perché il C++ ? z. E’ un linguaggio per professionisti z. Il C (suo

Perché il C++ ? z. E’ un linguaggio per professionisti z. Il C (suo “padre”) è stato usato anche per scrivere il Sistema operativo Unix z. Si presta alla soluzione di problemi di vari tipi z. Simili al C++ ci sono vari linguaggi di programmazione moderni, come il Java z. Noto il C++ diventa facile capire programmi scritti in Java. fondamenti di informatica parte 1 6

Modalita’ di utilizzo z IL Sistema Operativo usato nel Laboratorio di Informatica è Windows

Modalita’ di utilizzo z IL Sistema Operativo usato nel Laboratorio di Informatica è Windows XP ossia un S. O. che può controllare un insieme di computer collegati nel dominio di rete ds. units. it z Il S. O. sta su un Elaboratore Elettronico, il SERVER, e “gestisce” la rete condividendo con i computer il suo disco fisso, suddiviso in partizioni z Uso della rete del Laboratorio: l’ utente usa uno dei computer (CLIENT) connessi al SERVER di cui puo’ leggere le informazioni registrate sul suo disco. z Per gli studenti dotati di password, l’ arc_stud è “mappato” su: arc_stud on ‘docenti. ing. units. it’ fondamenti di informatica parte 1 7

Gli studenti dotati di password z possono: 1. accedere ai miei file dal laboratorio:

Gli studenti dotati di password z possono: 1. accedere ai miei file dal laboratorio: basta collegarsi a arc_stud on ‘docenti. ing. units. it’ e fare un click sulle cartelle: carmin > Inf 2007 -08 > fond 1 … 2. accedere al software del sistema su: prog_stud on ‘docenti. ing. units. it’ (S: ) 3. creare file e memorizzarli o sulla macchina locale, Client, (My. Computer), o sul disco condiviso del Server on fs 1 ts. ds. units. ithome$ (X: ) z ( 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 !!) fondamenti di informatica parte 1 8

username e password zsaranno comunicati ad ogni studente alla consegna del libretto: chi non

username e password zsaranno comunicati ad ogni studente alla consegna del libretto: chi non ce l’ ha, deve andare al Centro Calcolo CSIA per farsi accreditare all‘ Ufficio accrediti CSIA zusername e password zsono in minuscolo perche’ Windows e’ “sensitivo” ossia conosce la differenza tra minusolo e maiuscolo ! fondamenti di informatica parte 1 9

Ufficio accrediti CSIA: ORARIO z lunedì - venerdì: ore 10: 30 - 13: 00

Ufficio accrediti CSIA: ORARIO z lunedì - venerdì: ore 10: 30 - 13: 00 inoltre: lunedì e mercoledì: anche ore 15: 00 - 18: 00 Indirizzo: Centro Servizi Informatici di Ateneo CSIA Via Valerio 12 - Edificio H 2 34127 Trieste (TS) (si trova nel comprensorio di Piazzale Europa) Stanza: piano terra CSIA, entrando, a sinistra: stanza T 28 z Telefono 040 558 3333 Fax 040 5583333 Email codici@univ. trieste. it fondamenti di informatica parte 1 10

Se fossero forniti valori provvisori zquesti abiliterebbero l’ utente ad accedere al disco del

Se fossero forniti valori provvisori zquesti abiliterebbero l’ utente ad accedere al disco del Server ed a usare tutti i programmi residenti sul Client o “Mycomputer” zma NON a scrivere alcunche’ sul disco del Server fs 1 ts. ds. units. ithome$ (X: ) per preservare lo stesso da cancellazioni e/o modifiche (SICUREZZA !); z per conservare i suoi programmi l’ utente potrebbe usare un dispositivo personale e temporaneamente il disco locale del Client. Solo i valori definitivi abilitano a scrivere su partizioni del Server z FINE PREMESSA fondamenti di informatica parte 1 11

fondamenti di informatica 1 z. Scopo del corso: zfornire: i principi, i concetti fondamentali,

fondamenti di informatica 1 z. Scopo del corso: zfornire: 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: fondamenti di informatica parte 1 12

Primo corso di: fondamenti di informatica=Nozioni base su: z_hardware/software; z_la struttura funzionale di E.

Primo corso di: fondamenti di informatica=Nozioni base su: z_hardware/software; z_la struttura funzionale di E. E. ; z_i sistemi operativi; z_la programmazione; z_alcuni strumenti software; z_il linguaggio C++ …. per iniziare a fare programmi semplici, ma non banali. z. Propedeuticita': conoscenza di base della matematica => fondamenti di informatica parte 1 13

… perchè l’ informatica, che cos’ e’? ? z. Intanto NON E’: Calcolo numerico

… perchè l’ informatica, che cos’ e’? ? z. Intanto NON E’: Calcolo numerico ne’ Geometria ossia non e’ una disciplina che insegna metodi numerici o geometrici; z. NON E’ Probabilita’ nè Statistica; z. NON E’ un gioco nel senso che non insegna a giocare con l' elaboratore e va presa sul serio; znè una materia di ausilio alle altre … fondamenti di informatica parte 1 14

Cosa e’ l’ informatica zma ha sue precise finalita’ che si possono sintetizzare nel:

Cosa e’ l’ informatica zma ha sue precise finalita’ che si possono sintetizzare nel: zrazionalizzare il trattamento delle informazioni. . . (e di E. E. ) z. Una possibile prima definizione: zscienza e professione della gestione delle informazioni effettuata con le velocita’ e precisione proprie di E. E. fondamenti di informatica parte 1 15

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

Bibliografia z Franco Crivellari: “Elementi di programmazione con il C++”, Franco Angeli; z Cay Horstmann: “Fondamenti di C++ “, Mc. Graw Hill; z P. Bishop: “L’ Informatica”, Gruppo Editoriale Jackson, 1992; z R. A. MEO, M. Mezzalama ed altri: “Fondamenti di informatica”, UTET. fondamenti di informatica parte 1 16

Programma z Il corso comprende: z a) una parte teorica, z b) una parte

Programma z Il corso comprende: z a) una parte teorica, z b) una parte applicativa. z a): introduzione all' Elaboratore Elettronico (E. E. ), concetti di base su Hardware & Software, livelli di utilizzo e funzionamento di E. E. ; z rappresentazione e codifica delle informazioni; z l' Hardware, struttura, componenti funzionali e fisiche di E. E. ; funzionamento ciclico della CPU e cenni sul suo Linguaggio; z il Software ed il Sistema Operativo con suo utilizzo sui Personal Computer (riferimenti DOS, e WINDOWS); fondamenti di informatica parte 1 17

(segue programma: a) software di base (editor, interpreti, compilatori e assemblatori); z prog. applicativi;

(segue programma: a) software di base (editor, interpreti, compilatori e assemblatori); z prog. applicativi; z la programmazione: linguaggi e traduttori (Fortran, Pascal, C, C++); composizione e struttura di un programma, con progetto e costruzione di un programma con metodo. TOPDOWN; z fasi del processo di traduzione di un programma; z calcolo booleano: cenni. fondamenti di informatica parte 1 18

(segue programma: ) b) il linguaggio C e C++: z b) Uso dell’ ambiente

(segue programma: ) b) il linguaggio C e C++: z b) Uso dell’ ambiente di sviluppo (della Borland per il C++) z fasi di sviluppo di un programma: progetto - stesura compilazione - "linkaggio"- esecuzione; esempi in Lab. ; z programmi monolitici e strutturati con uso di funzioni come e' tipico nei programmi in C e C++; z concetto di funzione e di sottoprogramma in generale; z librerie e file header del C e C++; esempi in Lab. ; z tipi di dati e di operatori; le variabili, le espressioni, z la frase di assegnazione; variabili locali e globali, z ambiente locale e globale; fondamenti di informatica parte 1 19

(segue programma: ) b) il linguaggio C e C++: z differenza tra indirizzo e

(segue programma: ) b) il linguaggio C e C++: z differenza tra indirizzo e contenuto di ogni informazione; esempi in Lab. ; z elaborazione sequenziale, condizionale, ciclica; z argomenti di sottoprogrammi e passaggio di parametri tra (sotto)-programmi (per indirizzo e valore); funzioni e procedure; esempi in Lab. z argomenti del main; informazioni strutturate come vettori, stringhe, matrici; passaggio di vettori e matrici a sottoprogrammi; z esempi in Lab. con costruzione di programmi di ordinamento. z registrazione/lettura su/da file sequenziali tipo testo; cenni su strutture e loro uso; esempi in Laboratorio. fondamenti di informatica parte 1 20

Argomenti importanti da ritrovare in questi appunti 1. Rappresentazione e codifica informazioni con le

Argomenti importanti da ritrovare in questi appunti 1. Rappresentazione e codifica informazioni con le relative conversioni; 2. Hardware & Software dove per Hardware si intende: struttura, componenti funzionali e fisiche di E. E. e fasi del funzionamento ciclico della CPU, 3. e per Software: Sistema Operativo (con riferimenti WINDOWS); editor, interpreti, compilatori. . . e prog. applicativi; 4. La programmazione: struttura di un programma e sua costruzione a moduli in C++ con uso dei computer del Lab. per implementarlo e farlo funzionare; 5. Argomenti di sottoprogrammi e passaggio di parametri tra (sotto)-programmi. fondamenti di informatica parte 1 21

Metodo usato: top - down z… o a raffinamenti successivi che permette di presentare

Metodo usato: top - down z… 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. z. Es. Programma del corso (parte a, parte b e dopo dettagli), z. Elaboratore Elettronico E. E. (seguito) ……. fondamenti di informatica parte 1 22

Introduzione a E. E. zcosa è, a cosa serve, come è …. . z.

Introduzione a E. E. zcosa è, a cosa serve, come è …. . z. Storia e Antenati ……. z. Livelli di utilizzo z fondamenti di informatica parte 1 23

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

E. E. cosa e’ …. . (es. Metodo top - down) z E. E. e’ una macchina elettronica, funzionante in modo automatico, capace di effettuare l’ elaborazione di informazioni. z Informazioni: sono parole e/o numeri CODIFICATI nella forma piu’ adatta per l’ elaboratore che riconosce solo i 2 simboli: 0 1. z Elaborazione di Informazioni: lettura dall’ esterno, codifica in binario, memorizzazione su supporto elettronico e/o magnetico, recupero, modifica, visualizzazione all’ esterno di informazioni. fondamenti di informatica parte 1 24

Hardware & Software z E. E. z z z z e’ dunque fatto di

Hardware & Software z E. E. z z z z 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. fondamenti di informatica parte 1 25

E. E. Storia e Antenati z antenati: 1642 macchina calcolatrice meccanica di z Blaise

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

E. E. Storia e Antenati z Antenati: z z z z 1890 uso di

E. E. Storia e Antenati z Antenati: z z z z 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; ………. fondamenti di informatica parte 1 27

Elaborazione di Informazioni …. z Informazioni: parole-numeri CODIFICATI nella forma piu’ adatta per l’

Elaborazione di Informazioni …. z 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. z Linguaggi: naturale con alfabeto composto da: lettere minuscole, maiuscole, cifre. . . simboli; z artificiale con alfabeto diverso. . z per es. alfabeto dell' elaboratore: 0 1 z cifre binarie = binary digit = bit. fondamenti di informatica parte 1 28

Bit z. Perche’? z. Ogni elemento dei componenti fisici dell’ elaboratore puo’ avere solo

Bit z. Perche’? z. 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). z. Elaboratore elettronico: i suoi circuiti elettronici, con tempi di commutazione dell' ordine del nano-secondo (miliardesimo di sec. = 10 -9 sec. ) ed anche del pico-secondo (10 -12 sec. ), sono dedicati a: memorizzare, combinare, trasferire bit => elaborare informazioni = sequenze di bit. fondamenti di informatica parte 1 29

Necessita’ di un Codice: corrispondenza tra 2 alfabeti ! z Il suo uso permette

Necessita’ di un Codice: corrispondenza tra 2 alfabeti ! z Il suo uso permette Codifica/Decodifica delle informazioni. z La Codifica/Decodifica delle informazioni sfrutta tutte le componenti! z Componenti dell elaboratore: Hardware, Software. . . Firmware z Software ( = merce soffice contrapposto ad Hardware = ferramenta) z Firmware = Software realizzato ad Hardware (per es. il loader = caricatore) fondamenti di informatica parte 1 30

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

Codifica/Decod. di informazioni: z 1) di tipo numerico intero; z 2) di tipo numerico non intero (floating-point); z 3) di tipo testo. fondamenti di informatica parte 1 31

Codifica/Decod. di 1) tipo numerico intero informazioni: z Numeri: naturali, interi relativi, reali relativi.

Codifica/Decod. di 1) tipo numerico intero informazioni: z Numeri: naturali, interi relativi, reali relativi. z 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 z Sistema numerico posizionale: scelto un numero come base, ogni valore numerico e’ esprimibile tramite potenze della base moltiplicate per opportuni coefficienti. z Es. in base dieci: 94 = 9. 101 + 4. 100 z Intero 10= Si=0…N. o cifre di. 10 i con di = 0, 1… 9 z Es. 9410 = 4. 100 + 9. 101 fondamenti di informatica parte 1 32

Sistema posizionale z. In generale nel sistema a base r (r>0) zla rappresentazione di

Sistema posizionale z. In generale nel sistema a base r (r>0) zla rappresentazione di N intero positivo e’: z. N = dn-1 dn-2. . d 1 d 0 sequenza di simboli di zcon di {0, 1, 2…. . r-1}, n = n. ro posizioni di rappresentazione ed il valore di N e’: z n-1. z. Valore N= i=0 di ri z Es. in base 2: 1102 = 1. 22+1. 21+0. 20 = 610 …. e in base 1 ? ! fondamenti di informatica parte 1 33

Importanza base 2 z. Come già indicato (repetita juvant) l’ elaboratore elettronico per elaborare

Importanza base 2 z. Come già indicato (repetita juvant) l’ elaboratore elettronico per elaborare informazioni dispone di 2 soli simboli ossia di 0 e 1; zogni informazione diventa una sequenza di 0 e 1; zi valori numerici per l’ elaboratore sono codificati in base 2, ma esistono tante basi… z. Esempi: 01112 = 710 = 78 , 11112 =1510 = 178 z. NOTA: 3 bit sono necessari e sufficienti per rappresentare la massima cifra unitaria in base 8 e 4 bit sono necessari e sufficienti per rappresentare la massima cifra unitaria in base 16. fondamenti di informatica parte 1 34

Interpretare sequenze di bit: pacchetti & byte z z Base 10: utilizzabili 10 simboli;

Interpretare sequenze di bit: pacchetti & byte z z Base 10: utilizzabili 10 simboli; " 2: " 2 " " 8: " 8 " ” 16: " 16 ". . . z Ogni valore numerico ha una rappresentazione in binario: una sequenza di bit. z Importanza dei raggruppamenti = pacchetti di bit: z z z 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, voce, cella = 2, 4, 8. . . byte; una sequenza di bit e’ interpretabile raggruppando i bit a pacchetti. fondamenti di informatica parte 1 35

Conversioni tra basi: regole z Conversione di interi da base 2 a base 10:

Conversioni tra basi: regole z Conversione di interi da base 2 a base 10: somma dei prodotti tra i bit e le corrispondenti potenze di 2; z Es. 0001 01112 = 28+26+24+22+21+20 = 34310 = 1. 162 +5. 161+7. 160 z Simboli in base 16: 0, 1. . 9, A, B, C, D, E, F z Rappresentazione e corrispondenza esadecimale: z Binario Esad. Dec. z 0000 0 0 0001 1 1 z. … … … 1001 9 9 z 1010 A 10 1011 B 11 z 1100 C 12 1101 D 13 z 1110 E 14 1111 F 15 z FF 16 = 1510. 161 +1510. 160 = 25510 = MAX INTERO IN UN fondamenti di informatica 1 16 - 1. 36 BYTE = 1. 162 - 1 = 25610 - 1 = parte 100

Conversioni di interi z Conversione da base 10 a base 2: successione di divisioni

Conversioni di interi z 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. z Es. 8/2=4 e resto=0 z 4/2=2 “ “ =0 z 2/2=1 “ “ =0 z 1/2=0 “ “ =1 810=10002 =816 fondamenti di informatica parte 1 37

Algoritmo per divisioni N 10 ->Nr (Significato “algoritmo” cfr. avanti) z. Si basa sulla

Algoritmo per divisioni N 10 ->Nr (Significato “algoritmo” cfr. avanti) z. Si basa sulla rappresentazione di N 10 nella base r e sulla definizione euclidea di divisione: z. N 10 = dn-1 rn-1 + dn-2 rn-2. . d 1 r 1 +d 0 r 0 = z = r(dn-1 rn-2 + dn-2 rn-3. . d 1) + d 0 = z = r. Q 0+ d 0 (ove Q 0= quoziente e d 0= resto di N 10/r !) z. Si procede analogamente per Q 0, Q 1, Q 2… z. . . a proposito di divisioni e moltiplicazioni: in cosa consistono quelle per la base ? ? ! Per es. come si fanno in binario divisioni/moltiplicaz. fondamenti di informatica parte 1 38 per 2?

Valori significativi z MAX INTERO IN 16 BIT: FFFF 16 = 65 53510 z

Valori significativi z MAX INTERO IN 16 BIT: FFFF 16 = 65 53510 z = 216 -1 = 1 00002 -1 = z = 11112 z MAX INTERO RELATIVO IN 16 BIT: 7 FFF 16 = 32767 = 0111 11112 z (IL BIT PIU` A SINISTRA DEDICATO AL SEGNO: z 0 = NUM. POSitivo 1 = NUM. NEGativo) z PER NUM. "REALI": CODIFICA IN "VIRGOLA MOBILE" (NOTAZIONE SCIENTIFICA +avanti ) fondamenti di informatica parte 1 39

Interi negativi: invece della notazione in modulo e segno zsi usa quella in complemento

Interi negativi: invece della notazione in modulo e segno zsi usa quella in complemento a 2 z. Una motivazione: per il Circuito Sommatore e’ elementare fare la Differenza se si usa il complemento a 2 del sottraendo. z. Complemento alla base e significato in base 10: es 8 -3 = 5 Sommando ad 8 il complemento alla base 10 di 3 z 8+(10 -3)=1 5 il risultato ha sempre 5 unita’ z 8 -3+10 = 1 5 fondamenti di informatica parte 1 40

Complemento a 10 z. L’ uso del complemento alla base 10 di 310 nella

Complemento a 10 z. L’ uso del complemento alla base 10 di 310 nella sottrazione produce sempre il risultato con 5 unita’ (ripetizione delle cifre: vedere “orologio” decimale. ) z. Se in un un dispositivo (Registro) si considerano 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. fondamenti di informatica parte 1 41

L’ “Orologio” decimale con 2 sensi: antiorario (-) orario (+) z. Altro esempio in

L’ “Orologio” decimale con 2 sensi: antiorario (-) orario (+) z. Altro esempio in Decimale: z 810 -710 = 810+310 = z 7 z=1 unita’ z 6 z 8 z. In Binario: z 1 -1 = 0 z 1 -1+102 = 1 02 z 1+(102 -1) = 1 02 z 5 z 4 z 8+3 z 9 z 0 z+10 I z 1 z 2 z Complemento alla base 210 (=102 ) di 1 fondamenti di informatica parte 1 42

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

In binario come si fa il complemento alla base 2 : ? z. Si cambiano gli 0 in 1 , gli 1 in 0 e si somma 1 zes: in un registro fatto di soli 4 bit = |x|x| zcomplemento a 210=00102=>(1101+1=1110)2 e quindi: (2 -2)10= 00102 +1110 = (1) 0000 z. La cifra 1 esce a sinistra dal registro: non conta z. Il bit piu’ significativo nel registro (a sinistra) se posto a 1 rappresenta una quantita’ < 0, z. L’ intervallo di rappresentazione in n bit ha una cifra in più a sinistra, come si vedrà in seguito: parte 1 [-8, +7] 10 43 z[-2 n-1, +2 n-1 -1] fondamenti sedi informatica n=4 =>

Perche’ si cambiano gli 0 in 1 e si somma 1 ? z. Con

Perche’ si cambiano gli 0 in 1 e si somma 1 ? z. Con un registro a 4 bit: |x|x| z MAX valore IN 4 BIT: F 16 = 1 12 = 1510 = = 1610 -1 =1 0 02 -1 z z Per fare il complemento a 2 di un valore con 4 bit occorre calcolare quanto dista quel valore da z 1 0 02: cio’ equivale a cambiare gli zeri in 1 e sommare 1. VERIFICARE !!!!! z Per es. 310=00112; 1 00002 - 00112 = 11012 fondamenti di informatica parte 1 44

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

Intervallo di rappresentazione con 4 bit = z =>[-8, +7]10= [10002 , 01112] Perche’ ? Con 4 bit il n. o valori = 1610 da 0 a 15 ossia da 0000 a 11112 z 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 = 0 1112. Facendo il complemento a 2 di 0 1112 si ha: z 1 0002+1=1 0012= -710 che dista 1 da -810 z -810 invece dista 0 da -810 ossia: -810=1 0002 z L’ intervallo di rappresentazione in n bit è allora: z [- 2 n-1, + 2 n-1 -1] con una cifra in più per i valori negativi, come giàfondamenti indicato. di informatica parte 1 45

Domande z. Quale e’ il complemento a 2 di 1 ? z. Quanto vale

Domande z. Quale e’ il complemento a 2 di 1 ? z. Quanto vale 11112 nella notazione del complemento a 2 ? z. Overflow = tracimazione: quando si verifica? Per registri a 4 bit la somma: 11112+1 produce: 1|0|0| ossia zero con riporto di 1 in posizione esterna: questo e’ un esempio di tracimazione. fondamenti di informatica parte 1 46

Motivazione per il Floating. Point z. Intervalli di rappresentazione limitati: come si risolve il

Motivazione per il Floating. Point z. Intervalli di rappresentazione limitati: come si risolve il problema? Con l’ aumento del parallelismo dei registri di memoria e del circuito sommatore ? znon basta: occorre un altro tipo di rappresentazione ossia, per esempio, la codifica floating-point normalizzata (vedi diapo seguente). fondamenti di informatica parte 1 47

Codifica/Decod. di informazioni: 2) tipo numerico non intero z. Con un Sistema posizionale a

Codifica/Decod. di informazioni: 2) tipo numerico non intero z. Con un Sistema posizionale a base r (r>0) zla rappresentazione di un numero positivo N con n cifre intere e m frazionarie e’: z. N = dn-1 dn-2. . . d 1 d 0. d-1 d-2. . . d-m zcon di {0, 1, 2…. . r-1} zed il suo valore e’: z n-1 m z. Valore = i=0 di. ri + i=1 d-i. r -i N fondamenti di informatica parte 1 48

Codifica floating-point usando la Mantissa M normalizzata: z occorre fissare il posto standard del

Codifica floating-point usando la Mantissa M normalizzata: z occorre fissare il posto standard del punto decimale che si stabilisce stia a sinistra della prima cifra significativa. Per es. z 9. 0810=9. 100+ 0. 10 -1+ 8. 10 -2 = 0. 908. 101 = 908. 0. 10 -2 =… Dove va il punto? In forma normalizzata va a sinistra di 908 preceduto dal segno: (-1)0. 0. 908. 10+1 : NOTARE: M 10 <1 z Forma normalizzata di N=(-1)s. M. r. E z Importante la tripla (S, M, E) con S {0, 1} (il Segno del numero é (-1)S); M = valore assoluto del numero col primo bit =1; E= Esponente di r con segno. Nell’ esempio fatto fondamenti di informatica parte 1 S=0; M (senza punto)=908; E=+1 (0, 908, +1)49

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

CHIOSA z. . . 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 (negativo), 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 con M senza punto e r-1 M <1; z. 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. fondamenti di informatica parte 1 50

Moltiplicazioni: perche’ ? z. Valore N= i=0 di. ri + i=1 d-i. r -i

Moltiplicazioni: perche’ ? z. Valore N= i=0 di. ri + i=1 d-i. r -i = z Ni + Nf. . 1 2 z. Nf = d-1 r + d-2 r + d-3 r 3 + …. = z= r -1. (d + d. r -1 + d. r -2 + …. ). -1 -2 -3 z. Nf. r = d-1 + d-2. r -1 + d-3. r -2 + … zla prima moltiplicazione isola la prima cifra d-1 le moltiplicazioni successive isoleranno le altre cifre. fondamenti di informatica parte 1 51

nota z…. ma se il valore numerico e’ una potenza negativa di 2 o

nota z…. 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 ! S M E Es. 0. 510=1/210 = 0. 12 =(0, 1000, 0 00) z-0. 7510=(1/2+1/4)10=-0. 112 =(1, 1100, 0 00) z 0. 12510=1/8 =0. 0012 =(0, 1000, 1 10) z. VERIFICARE COL METODO DELLE MOLTIPLICAZIONI SUCCESSIVE ! fondamenti di informatica parte 1 52

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

Intervalli di Rappresentazione in binario: IMPORTANTE! z _Campo Finito di Numeri: limiti superiore e inferiore finiti: se un' operazione produce un risultato oltre questi limiti: ERRORE ! Overflow ! z _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. fondamenti di informatica parte 1 53

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

Aritmetica z 1) notazione Fixed-Point: z intervallo di rappresentazione limitato (per es. con 16 bit: -32768 <---> +32767) z operazioni effettuate direttamente dalle componenti apposite di E. E. Se pero’ si tratta di moltiplicazioni per 2 z basta uno schift a sinistra ! (a destra per la divisione !!) z 2) notazione Floating-Point Normalizzata(S, M, E): z intervallo di rappresentazione limitato (per es. con 32 bit di cui 1 bit per S, 8 bit per E, 23 bit per M: z (-10+38…-10 -38 ) 0 (10 -38 … 10+38); z operazioni effettuate da altre componenti di E. E. fondamenti di informatica parte 1 54

Codifica/Decod. di informazioni: 3) informazione di tipo testo z Testo = Successione di caratteri

Codifica/Decod. di informazioni: 3) informazione di tipo testo z Testo = Successione di caratteri z 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 z 0 n 25510 ossia z 0000 n 11112 ossia 00 n FF 16 z Byte: sequenza di 8 bit; con un byte si hanno 256 possibili combinazioni diverse (28 = 2 elementi diversi combinati a ottetti) fondamenti di informatica parte 1 55

Codice ASCII: qualche esempio z. Primi 32 caratteri con valori decimali da 00 a

Codice ASCII: qualche esempio z. Primi 32 caratteri con valori decimali da 00 a 31: caratteri di controllo per esempio ^=BEL; zda 3210 a 6410 si hanno caratteri speciali come la spazio, il $, le parentesi (), le cifre da 0 a 9 e la @ (3210) ; zda 6510 a 9010 lettere maiuscole A-Z; zpoi ancora caratteri speciali come le parent. [ ]; zda 9710 a 12210 lettere minuscole a-z; zpoi ancora caratteri speciali e simboli grafici. fondamenti di informatica parte 1 56

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

Codifiche: conclusioni z Informazione => successione di caratteri alfanumerici z => successione di bit interpretabile a livelli Hard/Soft. z Importanza interpretazione numerico/alfabetica: es. interpret. num. Valore intero 4616 = 7010 z 0100 0110 { z interpret. alfab. Lettera maiuscola F z => z Operazioni sulle informazioni: z 1) " elementari (livello hard. ling. macchina) z 2) " complesse ( " soft. ) fondamenti di informatica parte 1 57

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

Istruzioni relative e note z 1) es. Somma numeri interi; z Confronta byte; . . 2) es. Ordina una sequenza di parole; z Visualizza un’ immagine, un suono… z. NOTA 1: qualsiasi tipo di informazione (immagini, suoni. . . ) e’ rappresentabile con sequenze di bit (rappresentazione unitaria!) e quindi gestibile usando appropriatamente E. E. z. NOTA 2: Ogni operazione complessa e’ realizzata con un insieme di apposite istruzioni che utilizzano operazioni elementari: . . . algoritmo ! fondamenti di informatica parte 1 58

Nozione di algoritmo: z insieme di regole non ambigue tese ad elaborare informazioni, z

Nozione di algoritmo: z insieme di regole non ambigue tese ad elaborare informazioni, z 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 ottenuti) e z a partire dai dati producano i risultati in un tempo finito. z Programma: algoritmo scritto per l' elaboratore. z Importante: prima algoritmo, dopo programma ! fondamenti di informatica parte 1 59

( CURIOSITA’: zil nome deriva da Al-Kuwarizmi, matematico Persiano, il quale nell’ 800 d.

( CURIOSITA’: zil 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: … ” z. Il trattato fu tradotto in latino ed in latino la frase iniziale divento’: “ Algoritmo dicit: … ” ) fondamenti di informatica parte 1 60

Che cosa e’ l' informatica … z. La creazione di algoritmi che combinano anche

Che cosa e’ l' informatica … z. La creazione di algoritmi che combinano anche in modo complesso sequenze di operazioni semplici (blocchi). . . zpuo’ sintetizzare meglio zche cosa e’ l' informatica. fondamenti di informatica parte 1 61

Livelli di utilizzo di E. E. z Livello utente: z E. E. = scatole

Livelli di utilizzo di E. E. z Livello utente: z E. E. = scatole cinesi = sistema a cipolla col primo strato di tipo software amichevole che ad un dato INPUT risponde con un certo OUTPUT; z obiettivo utente: acquisire familiarita’ col sistema. z Livello professionista: z conoscenza precisa e “completa” di ogni componente funzionale di E. E. z Studenti del corso di Informatica: entrambi livelli, ma per un uso piu’ immediato solo uno sguardo su hardware e SUBITO visione software. fondamenti di informatica parte 1 62

Da Babage ad oggi ? ? z. La struttura funzionale di un Personal Computer

Da Babage ad oggi ? ? z. 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. z. La tecnologia elettronica e’ cambiata, e’ cresciuta la potenzialita’. . . ma la “filosofia” del funzionamento e’ rimasta inalterata. z. Segue un’ elementare sintesi semplificata del comportamento di E. E. fondamenti di informatica parte 1 63

Il via alle varie unita’ componenti e’ scandito zperiodicamente da un orologio (timer). z

Il via alle varie unita’ componenti e’ scandito zperiodicamente da un orologio (timer). z “Si sveglia” l’ Unita’ Centrale di elaborazione (C. P. U. ), collegata alle altre unita’ ed in particolare alla Memoria Centrale (C. M. o RAM) che interroga ed alla quale chiede informazioni. z. Queste passano da un’ unita’ all’ altra come evidenziato nello schema di massima successivo, dove le frecce grandi rappresentano i BUS ossia l’ insieme di cavi che permettono il passaggio di informazioni e di segnali di controllo e le frecce piccole solo di questi ultimi. fondamenti di informatica parte 1 64

Un appunto in più: z. Negli E. E. più moderni le C. P. U.

Un appunto in più: z. Negli E. E. più moderni le C. P. U. possono essere anche in numero >1 (due o quattro) collegate tra loro. z. Possono funzionare sia in modo indipendente sia in simbiosi usando memoria condivisa. z. Intuitivamente il grafico seguente si riferisce ad un E. E. con una C. P. U. fondamenti di informatica parte 1 65

Introduzione a E. E. Struttura funzionale: z. Temporizzatore z. Unita’ Centrale di Controllo z.

Introduzione a E. E. Struttura funzionale: z. Temporizzatore z. Unita’ Centrale di Controllo z. CPU Unita’ Aritmetico - Logica z. Registri Flag z. Unita’ di controllo di I/O z. Periferiche z. Memoria Centrale z. Memorie di massa fondamenti di informatica parte 1 66

Flusso di informazioni z. Nello schema della precedente diapositiva si puo’ immaginare in prima

Flusso di informazioni z. Nello schema della precedente diapositiva 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 (Central Processing Unit) e quindi nella RAM (Random Access Memory). z. 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 fondamenti di informatica parte 1 67 video).

Componenti funzionali di E. E. il clock (timer) z. Le operazioni svolte dalle componenti

Componenti funzionali di E. E. il clock (timer) z. Le 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. ) z. 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. fondamenti di informatica parte 1 68

Valori di T e di f ? z. Per es. T= 40 nsec, f=

Valori di T e di f ? z. Per es. T= 40 nsec, f= 25 MHz (Mega Hertz=Milioni di battiti o impulsi al secondo) z. Per eseguire un’ istruzione occorrono alcuni impulsi di orologio: se questo ha f=100 MHz verranno eseguite mediamente circa quaranta milioni di operazioni/sec. z. Oggi i clock hanno frequenza superiori a 500 MHz e periodi anche inferiori al nanosecondo. fondamenti di informatica parte 1 69

CPU (= microprocessore) z. Componenti di CPU sono: i Registri, i Flag (=indicatori di

CPU (= microprocessore) z. Componenti di CPU 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”) z. 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. fondamenti di informatica parte 1 70

Componenti funzionalidi E. E. C. M. = Central Memory z Memoria Centrale: RAM (Random

Componenti funzionalidi E. E. C. M. = Central Memory z Memoria Centrale: RAM (Random Access Memory) z. Modello di von Neumann: z_ memoria di tipo lineare ossia: successione di locazioni (pacchetti di bit, celle, byte, parole) numerate e indirizzabili progressivamente a partire da 0 ! z. NOTARE DIVERSITA’ tra: INDIRIZZO di una locazione e CONTENUTO di una locazione !! z Dimensione della memoria: numero di locazioni o di byte). indirizzabili (per unfondamenti Personal n. di informatica parte 1 71

Funzione della Memoria Centrale e … “colleghe”: z ricordare dati, risultati intermedi e definitivi,

Funzione della Memoria Centrale e … “colleghe”: z 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”. z Altro tipo: ROM (Read Only Memory =memoria di SOLA LETTURA cablata in fabbrica e NON sempre riprogrammabile) z Memoria Periferica (o di massa) di LETTURA / SCRITTURA: dischi, nastri (bobine). . . dispositivi magnetici. Caratteristica: memoria permanente! fondamenti di informatica parte 1 72

RAM E CPU z. RAM: indirizzo di ogni sua locazione => in registri della

RAM E CPU z. RAM: indirizzo di ogni sua locazione => in registri della CPU ( es. registro P = Puntatore, registro I. C. = Istruction Counter …. ) z. RAM: Contenuto di ogni locazione => in altri registri della CPU (es. A = Accumulatore. . . ) z. RAM: scandibile e rintracciabile col Registro P; Memoria <=> Registro P z. Unita’ Centrale = Unita’ Elaborativa = CPU = (Micro. Processore per Personal Computer) (per es. MC 68020, 386 SX, Pentium. . . ) fondamenti di informatica parte 1 73

Registro P di 4 bit => 16 locazioni (byte) indirizzabili z. Central Memory z

Registro P di 4 bit => 16 locazioni (byte) indirizzabili z. Central Memory z CPU = “Ragnetto” z 0000 z 0001 z. REG. P. z. Registro P. = Pointer o i. C. =Istruction Counter z 1111 fondamenti di informatica parte 1 74

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

C. M. indirizzabile, ma fino a ? … Indirizzi e byte z Con 4 bit z Con 8 bit z" 9" z " 10 " z " 11 " z " 12 " z " 13 " z " 14 " z " 15 " z " 16 " z. . . . z " 20 " z. . . . z " 30 " z. . . . si si " " " " ottengono 24= 16 possibili indirizzi; ottengono 28= 256 possibili indiriz. " 29= 512 " " " 210=1024 poss. ind. = 1 K (Kilo byte) " 211 = 2 K " " " 212 = 4 K " " " 213 = 8 K " " " 214 = 16 K " " " 215 = 32 K " " " 216 = 64 K " " 220=1024 K " " " 230 1000000 K " fondamenti di informatica parte 1 " = 1 M (Mega) " = 1 G (Giga) 75

Conseguenza: z. Per indirizzare fino a 1024 celle (byte) occorrono 10 bit ossia un

Conseguenza: z. Per indirizzare fino a 1024 celle (byte) occorrono 10 bit ossia un REGISTRO di 10 bit; zper indirizzare fino a 64 K byte occorrono 16 bit ossia un REGISTRO di 2 byte; zper indirizzare fino a 1024 K byte occorrono 20 bit ossia un REGISTRO di 20 bit … z. Volendo dimensioni elevate di memoria occorrono REGISTRI sempre piu’ larghi. Dove stanno ? Nella CPU. fondamenti di informatica parte 1 76

Ancora CPU z. La CPU oltre alla Unita’ di Controllo contiene REGISTRI, alcuni dei

Ancora CPU z. La CPU oltre alla Unita’ di Controllo contiene REGISTRI, alcuni dei quali hanno 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. ). z. Quanti bit hanno questi REGISTRI ? z. Dipende dal modello di CPU: da 16 a 64 bit. fondamenti di informatica parte 1 77

E. E. Hard. + Soft. z Per l’ utente: z. E. E. solo hardware

E. E. Hard. + Soft. z Per l’ utente: z. E. E. solo hardware => unfriendly z. E. E. con Soft. di base => - unfriendly z. E. E. con Soft. di base e z Soft. applicativo => friendly z. Il Soft. di base ha 2 strati: z_ il Sistema Operativo (S. O. che si puo’ pensare come una “membrana filtro” attorno all’ hardware); z_ i programmi di utilita’. z. I prg. Applicativifondamenti formano un altro strato. 78 di informatica parte 1

Sistema Operativo: ze’ un insieme di programmi specializzato nel governare il funzionamento di E.

Sistema Operativo: ze’ un insieme di programmi specializzato nel governare il funzionamento di E. E. rendendo la gestione delle sue risorse trasparente per l’ utilizzatore; zmette cosi’ a disposizione dell’ utilizzatore una macchina virtuale non esistente, ma piu’ potente e amichevole dell’ hardware in quanto risponde ai comandi-utente; zil processo di virtualizzazione si propaga ad ogni strato aggiuntivo di software. fondamenti di informatica parte 1 79

Esigenza dell’ utente: zavere a disposizione una macchina con cui poter lavorare e interagire

Esigenza dell’ utente: zavere a disposizione una macchina con cui poter lavorare e interagire indipendentemente dal suo hardware, comunicando con uno strumento amichevole, ma efficiente ossia che utilizzi l’ hardware (tutte le unita’ di E. E. ) “al meglio”. z. 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). fondamenti di informatica parte 1 80

Sistema Operativo: aspetti z(ricordare: il processo di virtualizzazione si propaga ad ogni strato di

Sistema Operativo: aspetti z(ricordare: il processo di virtualizzazione si propaga ad ogni strato di software !) z. QUINDI: zfunzione 1 di S. O. = GESTORE OTTIMALE di tutte le componenti di un Elaboratore (=Sistema Complesso) ossia CPU, memorie, interfacce di rete, … qualunque dispositivo; zfunzione 2 di S. O. = Interfaccia amichevole fondamenti di informatica parte 1 81

Schema di Sistema Operativo z. Anche il S. O. puo’ essere visto come un

Schema di Sistema Operativo z. Anche il S. O. puo’ essere visto come un sistema a scatole cinesi (o a cipolla): il seguente schema e’ un’ alternativa. z. APPLICATIVI z. Soft. base: prg. util. zshell z System_file/Syst. Service zkernel z. Hardware z. S. O. fondamenti di informatica parte 1 82

Sistema Operativo: componenti essenziali zshell: conchiglia, guscio che interfaccia l’ utente; e’ sostanzialmente un

Sistema Operativo: componenti essenziali zshell: conchiglia, guscio che interfaccia l’ utente; e’ sostanzialmente un interprete di comandi che puo’ essere di tipo grafico; z. System_file/Service: contiene il gestore delle informazioni-utente poste nei file (FILE cfr. parte 2) e dei Servizi per es. per le Reti; zkernel: 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 altreparte unita’ … (cfr. +oltre) fondamentie/o di informatica 1 83

Nuova z. Sincronismo ? z. Coordinamento ? z. Controllo? fondamenti di informatica parte 1

Nuova z. Sincronismo ? z. Coordinamento ? z. Controllo? fondamenti di informatica parte 1 84

S. O. piu’ diffusi z personal computer: z DOS = Disk Operating System basato

S. O. piu’ diffusi z personal computer: z DOS = Disk Operating System basato su comandi e messaggi: il suo “zoccolo duro” e’ composto da 3 programmi MSDOS. SYS, IO. SYS COMMAND. COM (la sua shell a comandi); z. Windows z. Apple_top z. What you see is what you get ! z dotati di interfaccia grafica con oggetti rappresentati da icone e manipolabili col mouse; zper ogni tipo di elaboratore: Unix (AT&T) fondamenti di informatica parte 1 85

Software di base z Tipici esempi di programmi di utilita’: z editor: per comporre

Software di base z Tipici esempi di programmi di utilita’: z editor: per comporre testi semplici; z interpreti: per interpretare ed eseguire un comando; z compilatori: “ “ e tradurre nel linguaggio macchina le frasi di un programma scritto dall’ utente; z assemblatori: analoghi ai Compilatori, ma il linguaggio, in cui è scritto il programma origine dell’ utente, e’ simile al linguaggio macchina …. . z Strumenti Software (come il Linker) utilizzabili per costruire programmi eseguibili (vedere +oltre) fondamenti di informatica parte 1 86

Programmi applicativi z. Tipico esempio: Word Processor o elaboratore di testi -> fa apparire

Programmi applicativi z. Tipico esempio: Word Processor o elaboratore di testi -> fa apparire E. E. come una potente e veloce macchina da scrivere (che non c’e’ ! Virtualizzazione !) Altri esempi: Power_Point che sto usando (!) e z. Data Base Management System o Sistema di Gestione di Basi di Dati. (Gestione = lettura e registrazione, aggiornamento, visualizzazione. ) Si tratta di un Sistema = (insieme di programmi) per gestire archivi di informazioni strutturate (per es. in forma di tabelle) e manipolabili singolarmente o in modo fondamenti di informatica parte 1 87 incrociato, integrato.

R. D. B. M. S. o S. G. B. D. R z. Questi sono

R. D. B. M. S. o S. G. B. D. R z. Questi 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. ). z. 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). z. Sulle tabelle di dati si lavora con operazioni che seguono regole precise => Algebra delle relazioni. fondamenti di informatica parte 1 88

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

…. Friendly ? z. 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 databse db 11. mdb z. 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. fondamenti di informatica parte 1 89

Appendice 1: esempi di conversioni z 1610 = X 16 ? z 1710 =

Appendice 1: esempi di conversioni z 1610 = X 16 ? z 1710 = X 16+ 1 z In un registro di 4 bit +710 = 01112 z“ “ “ - 710 = 10012 espresso come il complemento a 2 di 01112 z Sottraendo 1 da -710 risulta: z -710 -1 = 10012 -00012 ma -00012 = 11112 (nella notazione del complemento a 2) quindi: -710 -1 = 10012 + 11112 = 10002 ossia distanza 000 da - 810 fondamenti di informatica parte 1 90

Appendice 1: ancora esempi z Avendo un registro a 8 bit si ha: z

Appendice 1: ancora esempi z Avendo un registro a 8 bit si ha: z +5 = 000001012 col primo bit dedicato al segno; z -5 = 111110112 col primo bit sempre dedicato al segno che automaticamente risulta 1 facendo il complemento a 2 di 000001012 Notare: nei numeri negativi il primo bit è sempre 1, ma spesso lo sono anche i successivi !!! z Quindi trovando un valore del tipo 11111110102 si deve pensare subito ad un valore espresso in complemento a 2 in 16 bit. z Il suo valore? si ottiene facendone il complemento a 2 che è: 00000001012+1 = 00000001102 = 610 e quindi il valore richiesto è -610 z Quale è la forma normalizzata binaria Floating Point con 1 bit per S, 3 bit per E , 4 bit per M del valore X=1/4 in base 10? fondamenti S=0, M=1000 di informatica parte 12, E=1012 91

Nuove domande senza risposte: z cosa rappresenta la seguente sequenza di valori assoluti: 10

Nuove domande senza risposte: z cosa rappresenta la seguente sequenza di valori assoluti: 10 11 12 13 14 20 22 1010 ? z Scrivere in italiano una frase ambigua; z Cos’è un istruzione? z Differenza tra CM e Memoria di massa z Descrivere l’ architettura di Von Neumann z Una ricetta per cucinare gli spaghetti é un algoritmo? z Con 1 byte si rappresentano 256 simboli diversi e con 6 bit? fondamenti di informatica parte 1 92

Ancora da RICORDARE : z la codifica F. P. normalizzata fa riferimento alla base

Ancora da RICORDARE : z la codifica F. P. normalizzata fa riferimento alla base 2 e quindi il valore dell’ esponente riguarda la base 2. Col metodo delle moltiplicazioni successive ogni moltiplicazione per la base isola una nuova cifra nella nuova base. Per es. =3. 1410 avra’ 112 come parte intera e 00100011112 come parte decimale. Normalizzando +. 1100100011112 E+102 con S=0, M=1100100011112, E=0102. fondamenti di informatica parte 1 93

Appendice 2: illustrazione del database single-user db 11. mdb che è un esempio di

Appendice 2: illustrazione del database single-user db 11. mdb che è un esempio di base di dati (D. B. ) inteso come archivio personale fatto da C. J. Date per memorizzare i vini nella sua cantina (diapositiva seguente). z(D. B. multi-users servono invece per rappresentare le informazioni che interessano un insieme di utenti appartenenti per esempio ad un Ente. ) zdb 11. mdb differisce dalla diapositiva seguente in quanto i dati sono “distribuiti” in 2 file = 2 tabelle unibili in un singolo file cell tramite l’operazione di join effettuata nella query (= interrogazione) Cellar. z fondamenti di informatica parte 1 94

fondamenti di informatica parte 1 95

fondamenti di informatica parte 1 95