Rappresentazione dell'info -- Codifiche - 1 All'interno di un calcolatore : solo due simboli, valori, stati motivo : affidabilita`, semplicita` Tutto va espresso usando solo 2 simboli (es 0/1) Oggetti / informazioni 0000111100001111 0101010101010101 1100110011001100... stringhe di 0/1 Costa --DISI 11 Codifiche 2 : numeri Numeri naturali : rappresentazione posizionale base 2 Decimale : 237 <===> 2 * 10 2 + 3 * 10 1 + 7 * 10 0 Binario : 101 <===> 1* 2 2 + 0 * 2 1 + 1 * 2 0 == 5 Inoltre: lunghezza fissa (16, 32. bits) es 16 bits : valori da 0 a 2 16-1 Numeri relativi e razionali... complicazioni... Costa --DISI 12
Codifiche 3 : caratteri Per i caratteri "standard" inglesi a b c... A B C... 0 1 2 3... 9 + - ; " & $... "spazio" "a capo" sufficienti stringhe di 7 bits ( codice ASCII ) : spazio 0100000 a 1100001! 0100001 b 1100010 " 0100010 c 1100011 quindi: ba!! 110001011000010100001 Costa --DISI 13 Codifiche 4 : immagini Immagine: rettangolo con griglia quadratino griglia : pixel (pict element) ogni pixel <--> "colore" predominante "colori" bianco e nero 1 bit 16 toni di grigio 4 bit 16 000 colori 4 + 10 bit eccetera... Di solito le codifiche sono trasparenti all'utente Costa --DISI 14
Cod_5 : immagini -- esempio Scanner 1 0 0 1 1 0 0 1 Scheda grafica Bisogna aumentare la risoluzione... es: 800 x 600 1024 x 768... Costa --DISI 15 Bit, byte,... bit binary digit 0 /1 byte = 8 bit K = 2 10 = 1024 M = 2 20 Mega, circa 1 milione G = 2 30 Giga, circa 1 miliardo Kb Kilo bit KB Kilo Byte Mb MB Gb GB... processore, memoria a 8, 16, 32, 64,... bit Costa --DISI 16
Hardware -- Software Sistema di elaborazione = hardware + software hardware = componenti elettroniche, fili,... software =...! software di base -- sistema operativo ( Win,Unix- Linux, MacOS,...) -- software di comunicazione! software applicativo es Office (Word + Excel + Power Point + Access ) Software per posta (Eudora, Outlook,...) Web browser (Netscape, Explorer,...) Costa --DISI 17 Hw&Sw - stratificazione Hardware HW Software! Livello "macchina"! Nucleo Sist Op! soft di gestione rete e basi dati! software applicativo Costa --DISI 18
Hw & Sw : Macchine virtuali Hw diversi stessa macchina virtuale stesso Hw macchine virtuali diverse Motivi: portabilita`, standardizzazione,... flessibilita`... Costa --DISI 19 M. von N. In pratica... PC spento : RAM "vuota", tutto su HD Accendo :! si esegue programmino firmware in ROM... che carica in RAM il nucleo del sistema operativo! parte il sist op... e poi aspetta comandi...! io posso "fare ordine" : copiare, spostare,... file lanciare programma : posta web browser giochino... ciclo continuo: HD --> RAM --> CPU --> RAM --> HD Vediamo... Costa --DISI 20
Archiviazione dell'informazione Informazione == dati e programmi Archiviazione <---> persistenza (nulla cambia se non lo voglio io) Supporti per archivi! dischi magnetici "fissi"! dischetti magnetici "rimuovibili"! nastri magnetici "rimuovibili" a... morire...! dischi ottici "rimuovibili", pennine USB,. Organizzazione logica molto simile... Contenitore primario per archiviazione : il file Costa --DISI 21 Files 1 lettera <---> 1 file 1 libro <---> 1 file / tanti file 1 immagine <---> 1 file 1 programma <---> 1 file / tanti file 1 catalogo libri <---> 1 file / tanti file 1 giochino <---> tanti file : programmi preferenze utente immagini schemi di gioco... Costa --DISI 22
Files (continua) 1 lettera <---> file LETT 1 immagine <---> file IMM Per l'utente : LETT e` una... lettera IMM e` una... immagine infatti " aprendo " il file LETT a video compare una lettera... A " livello macchina " : i due file sono solo successioni di bit /byte L' insieme dei file e` organizzato in un " file system " organizzazione "decisa" da sistema operativo e utente Costa --DISI 23 Files (continua) Piu precisamente : 1 file è una successione di bit /byte/ impacchettata l imballo, comprende: un nome unico informazioni su come interpretare correttamente la successione di bit/byte/. altre informazioni (data di creazione, ) Costa --DISI 24
Tipica organizzazione logica di un " file system " Costa --DISI 25 Elaborazione dell'informazione Tramite programmi ( software ) scritti dall'utente (o su commissione...) preconfezionati : pacchetti applicativi (Office...) Programmazione : in genere ad alto livello (in C, Java,...) Esecuzione : sempre a "livello macchina" In mezzo: traduzione, interpretazione Costa --DISI 26
Programmazione a livello evoluto es stupido in PASCAL program primi(input, output); { trova i primi da 2 a 100 } const MAXNUM = 100; var begin n, k : integer; primo : boolean; writeln (" 2 e` primo"); for n := 3 to MAXNUM begin primo := true; do end. end for k := 2 to n-1 do if (n mod k) = 0 then primo := false; if primo then writeln (n, " e` primo") Costa --DISI 27 Programmazione a livello (quasi) macchina CPU RAM Reg 0 Reg 1 Reg 7 A L U 0 1 2 es. formato istruzione: 01010111 001 00... 010 istruzioni tipiche: azzera Reg_i op code reg RAM address Reg_i <--- Reg_i + Reg_k copia da RAM [ addr ] in Reg_i Poco o nulla di piu' complicato salvo I/O... o viceversa Costa --DISI 28