Concetti base di informatica
Processo e algoritmo Con tale termine si intende indicare l'attività di esecuzione di un compito o algoritmo. La ricetta di una pietanza rappresenta l'algoritmo da seguire Nel momento in cui comincio a realizzare la ricetta, eseguo un processo In informatica quindi il processo è la fase di esecuzione di un algoritmo di una procedura
Processore È un dispositivo elettronico, presente nei calcolatori, in grado di eseguire algoritmi e quindi di fare cose Se chiedo al computer di fare una serie di calcoli Excel allora sarà il processore che li esegue realmente Se chiedo al computer di creare un filmato dalle mie foto delle vacanze, è il processore che materialmente esegue la creazione (rendering) del filmato.
Numerazione binaria Il calcolatore lavora in aritmetica binaria basata su sole due simboli, 0 ed 1. La sua elettronica è infatti basata su elementi bistabili cioè in grado di assumere due posizioni diverse ON ed OFF Pertanto esso è predisposto all'uso dell'aritmetica a due simboli, mentre noi siamo abituati ad usare quella a 10 simboli (0,1,2... 9).
I numeri in aritmetica binaria Un numero in aritmetica binaria ha solo i due simboli 0 e 1 per cui appare cosi: 1001010 A cosa corrisponde tale numero? Esiste la seguente tabella: Il computer esaurisce subito la 1° cifra in quanto può usare solo 2 simboli Il numero 9 usa addirittura 4 cifre binarie 1 2 10 3 11 4 100 5 101 6 110 7 111 8 1000 9 1001
Aritmetica binaria È ovvio che il calcolatore scrive numeri con “molte più cifre” delle nostre A parità di valore il numero in aritmetica binaria è più lungo 9 1001
Aritmetica posizionale In entrambe le “aritmetiche” il valore di un numero aumenta se spostiamo a sinistra un simbolo: 1070 7010 Il numero “7100” usa gli stessi simboli “7”, “1” e “0” di “1070” ma vale di più. Quindi la posizione del “7” incide sul valore del numero
Aritmetica posizionale Il motivo è questo: ogni posizione ha un suo “peso”: la prima sono le unità, la seconda le decine, la terza cifra sono le centinaia. 1070 è pari ad 1 migliaio più 7 decine, quindi: 1070=1*103+7*101 Mentre 7010 è pari a 7 migliaia e 1 decina: 7010=7*103+1*101 (potenze di 10 perché l'aritmetica è decimale) Morale: il valore del numero dipende dalla posizione dei simboli
Aritmetica posizionale Anche l'aritmetica binaria è posizionale Il numero 5 e 6 hanno entrambi 2 simboli “1” ed un simbolo “0” ma hanno posti diversi! Vale che: 110 = 1*22+1*21 (Potenze di 2 perché l'aritmetica è binaria) 1 2 10 3 11 4 100 5 101 6 110 7 111 8 1000 9 1001
Aritmetica posizionale 110 = 1*22+1*21 (Potenze di 2 perché l'aritmetica è binaria) Il numero sopra è effettivamente equivalente a 6 (sei) infatti: 110 = 1*22+1*21 = = 4 + 2 = 6 1 2 10 3 11 4 100 5 101 6 110 7 111 8 1000 9 1001
Conversione di base (110)2 = (6)10 Si scrive che: Dove il pedice 2 ed il pedice 10 indicano in che base è da intendersi il numero. In altre parole il numero 110 iscritto in base 2 è pari al numero 6 scritto in base 10 cioè quella che usiamo di solito.
Conversione di base 111 = 1*22+1*21+1*20 = 4+2+1= 7 Per fare la conversione di base si usa la regola: “somma di potenze di 2”, cioè si sommano le potenze di 2 ciascuna moltiplicata per la cifra corrispondente. Esempi : 111 = 1*22+1*21+1*20 = 4+2+1= 7 10110 = 1*24+1*22+1*21 =16+4+2= 22 Quindi 7 nel primo caso e 22 nel secondo.
Potenze di 2 20 = 1 21 = 2 22 = 4 23 = 8 24 = 16 25 = 32 26 = 64 27 = 128 28 = 256 Mano mano che aumenta l'esponente, i valori raddoppiano.
Conversione in binario Per ottenere un numero in binario si effettua la divisione ricorsiva per 2 Si prende il numero dalla colonna dei resti Il numero si deve leggere dal basso verso l'alto 137 Resti 68 1 34 17 8 4 2 1
Verifica 1 A quanto equivale questo numero?... dobbiamo convertirlo in decimale e dovremmo trovare 137. 10001001 = 1*20+1*23+1*27 = = 1 + 8 + 128 = 137
Esercizi: 1100 = 1*22+1*23 = 4+8=12 1101 = 1*20+1*22+1*23 = 1+4+8=13 1100 = 1*22+1*23 = 4+8=12 1101 = 1*20+1*22+1*23 = 1+4+8=13 10000001 = 1*20+1*27 = 128+1=129 10000010 = 1*21+1*27 = 128+2=130 Per abbreviare, contate da sinistra 1,2,4,8,16,32,64,128 ... : 10000010 = 128+2=130 10001100 = 128+8+4=140
Variabili binarie e connettivi logici Una variabile può contenere un numero binario a = 11011 E le variabili binarie 0 / 1 possono essere sostituite da Vero / Falso Sulle variabili binarie posso applicare le operazioni di somma, prodotto, sottrazione, divisione come per l'algebra decimale Inoltre esistono i seguenti “connettivi logici”: “e”, “o”, “non”
Connettivi “o” “O” sta per “oppure” e il connettivo “o” si scrive tra due variabili in questo modo: a O b A seconda dei valori di “a” e “b” il connettivo vale: a b a O b F V
Connettivi “o” a Or b Quando tale connettivo è vero? “O” sta per oppure, dunque (a Or b) è vera se “a” oppure “b” è vera a b a O b F V
Connettivi “e” a AND b Quando tale connettivo è vero? “AND” sta per “e”, “entrambi”, dunque (a AND b) è vera se entrambe, contemporaneamente “a” e “b” sono vere a b a AND b F V
Connettivi “non” a NOT b Quando tale connettivo è vero? “NOT” sta per “non”, dunque (Not b) è vera quando “b” è falso b NOT b F V
Espressioni logiche F è la OR tra la seconda colonna e la terza F = b OR (a AND b) Questa è una espressione con connettivi logici e variabili binarie (dette anche booleane) Si risolve costruendo la tabella della “Verità” corrispondente: a b a AND b F V F è la OR tra la seconda colonna e la terza
Porte logiche Ognuno dei 3 connettivi logici AND, OR, NOT si rappresenta con una “porta logica” AND OR NOT
Porte logiche Ogni “porta logica” ha in ingresso le due variabili a e b ed in uscita il valore del connettivo. AND OR NOT A a AND b B a OR b B Not b
Espressioni logiche F = b OR (a AND b) Questa espressione è equivalente ad un circuito logico:
Sistema di elaborazione Le componenti hardware di un S.E. Sono: CPU - Central Processing Unit (processore) RAM - Memoria centrale INPUT - Dispositivi di input (tastiera) OUTPUT - Dispositivi di output (video, stampanti) HDD - Memoria di massa (DVDdrive, Usb key...) Le componenti software sono: I sistemi operativi e di base I software applicativi
Tipi di calcolatori Tascabili: lettori multimediali, mini controllori PDA: personal digital assistant (palmari, smartphone, tablet, notebook, desktop pc) Grandi sistemi di elaborazione: mainframe e supercomputer.
Reti informatiche LAN, MAN, WAN, GAN Internet, Sono su scala locale, metropolitana o sovranazionale. LAN, MAN, WAN, GAN La rete Globale si estende su tutto il globo terrestre, esempi sono Internet, la rete delle università, dei centri di ricerca, reti militari.
La CPU ALU unità aritmetica e logica Registri: CU unità di controllo Central Processing Unit ALU unità aritmetica e logica Esegue i calcoli matematico aritmetici, di logica Registri: unità elementari di memoria usate per contenere risultati di operazioni in corso e dati temporanei. CU unità di controllo Controlla e gestisce lo spostamento dei dati all'interno della CPU Clock (temporizzatore) Da il tempo a tutte le unità, ad ogni impulso del clock viene fatto uno spostamento dati o operazione
CPU
Specifiche della CPU La velocità del clock Le caratteristiche di una CPU sono: La velocità del clock Il numero di “Core” cioè di nuclei interni Nota bene che: La velocità varia tra 1GHz e 4 GHz circa Ghz significa miliardi di Hz impulsi al secondo. I Core sono 1, 2, 4, 6, 8 Ogni CPU possiede al suo interno più CPU collegate a fare il lavoro contemporaneamente.
Dual Core o Quad Core 1 2 1 2 3 4
8 Core al microscopio 1 2 3 4 5 6 7 8
Le memorie Uso più chip (4, 8, 16) Una memoria RAM è realizzata su schede di forma rettangolare (barrette, dimm) contenenti chip di memoria. Per avere memorie più grandi: Uso più chip (4, 8, 16) Uso chip più grandi (128MB, 256MB, 512MB) Uso più bacchette
Termini relativi alle memorie Chip: scheggia di silicio, rettangolino di plastica in cui è contenuta memoria elettronica. Pin: contatti elettronici che le bacchette di ram hanno per collegarsi alla scheda madre Bit e Byte unita di misura della memoria 1 Byte = 8 Bit KB, MB, GB, TB multipli del Byte Kb, Mb, Gb, Tb multipli del Bit
Unità di misura 1 Byte = 8 Bit 1 Kbyte = 8 KBit = 1024 Byte = 1 Mbyte = 8 MBit = 1024 Kbyte = 8192 Kbit 1 Gbyte = 8 GBit = 1024 Mbyte = 8192 Mbit 1 Tbyte = 8 TBit = 1024 Gbyte = 8192 Gbit
@#][^?=)(/&%$£”!ç°°*é:;>< Ascii estesa È una tabella con 256 elementi (ASCII estesa) contenente tutti i caratteri alfanumerici, cioè numeri, lettere, simboli, punteggiatura, quindi anche: @#][^?=)(/&%$£”!ç°°*é:;>< Servono 8 bit per memorizzare informazioni 256 caratteri
Ascii standard Ha solo 128 caratteri, in figura una porzione.
All'interno della memoria È come una griglia: ogni quadratino è una cella di memoria e contiene una informazione Ogni cella può essere di 8bit, 16bit, 32bit, 64bit ed è anche chiamata “parola” o “word” Alcune memorie sono a “sola lettura” cioè non ci si può aggiungere altre informazioni o modificare le esistenti cella
Schema memoria RAM
Parametri memorie Dimensione parola: 8bit, 16bit, 32bit, 64bit Capacità della memoria (4GB, 8GB, 16GB) Modalità di accesso: solo lettura o r/w Volatilità: alcune memorie funzionano anche se non alimentate da corrente, altre no Velocità: si misura in nano-secondi (access time) Frequenza: si misura in MHz
Indirizzo Per trovare un dato in una cella di memoria (word) bisogna conoscerne l'indirizzo Anche gli indirizzi sono espressi in bit
Ram e Rom La ROM (readly only memory) è di sola lettura La RAM (random access memory) è di scrittura e lettura Una ROM è ad uso esclusivo dell'hardware (della scheda grafica, della mainboard, delle periferiche), non è per inserirci dati e ne contiene pochi (128Kb, 256MB). Questo vuol dire che non si può salvare alcun dato in una ROM Non è una memoria di massa Non è gestita dal sistema operativo
Altre memorie La memoria CACHE è inserita tra la cpu e la ram È più veloce della RAM e quasi quanto il processore
Operazioni con i numeri binari
Somma di numeri binari Esempio di somma Regole della somma: 0+0=0 0+1=1 1+0=1 1+1=0 con riporto di 1 In rosso sono indicati i riporti Esempio di somma 1 1 1 1 0 1 0 1 0 + 1 1 1 1 = ----------------- 1 1 1 0 0 1
Verifica della somma Convertendo i numeri: 101010=2+8+32=42 1111=1+2+4+8=15 111001=1+8+16+32=57 effettivamente 42+15=57 1 1 1 1 0 1 0 1 0 + 1 1 1 1 = ----------------- 1 1 1 0 0 1
Sottrazione Regole: Esempio: 0-0=0 0 1 1 1 0 1-0=1 1 0 0 0 0 1 0 1 - 1-1=0 0-1=1 con prestito da sinistra Esempio: 0 1 1 1 0 1 0 0 0 0 1 0 1 - 1 0 1 1 = --------------------- 0 1 1 1 1 0 1 0 Quando capita la sottrazione 0-1, si segna 1 come risultato e si cambiano tutte le cifre a sinistra fino al simbolo “1
Verifica della Sottrazione 10000101=1+4+128= 133 - 1011=1+2+8= 11 = ----------------------------- 01111010=2+8+16+32+64= 122 Esempio: 0 1 1 1 0 1 0 0 0 0 1 0 1 - 1 0 1 1 = --------------------- 0 1 1 1 1 0 1 0
Unità di input Elenco delle più importanti unità di inserimento dati: Mouse Tastiera Touchpad Lettore di codici a barre Stilo Scanner Webcam Digital camera Microfono
Unità di output Elenco delle più note unità di riproduzione dei dati: Stampante laser, inkjet Plotter Casse acustiche Cuffie Monitor / video Proiettore
Unità input / output Modem Touchscreen Alcune unità con funzione doppia di i/o: Modem Touchscreen
Osservazioni sulle stampanti Le stampanti possono essere di 4 o 5 tipi principali: Inkjet (getto di inchiostro) Laser A trasferimento termico Ad impatto Ad aghi Gli ultimi due tipi erano molto diffuse fino agli anni 1990-2000.
Osservazioni sulle stampanti sono dotate di una propria memoria a bordo, più ce ne è più pagine riescono a memorizzare per la stampa e più veloci sono sono dotate di un proprio processore: il processore elabora le pagine da stampare e le trasforma da sequenze di bit in ordini per la testina a getto di inchiostro o per il fusore della laser. si connettono al computer tramite cavo e porta di comunicazione. Sono utilizzate la USB e la porta di rete si connettono via wireless tramite bluetooth o wifi
SERVONO A MEMORIZZARE MASSE DI DATI Le memorie di massa Si chiamano memorie di massa perché: SERVONO A MEMORIZZARE MASSE DI DATI Sono memorie: Permanenti Con elevata capacità Talora estraibili o esterne Meno veloci delle memorie centrali
Memorie di massa Elenco delle memorie di massa maggiormente note / usate: Hard disk drive (dischi fissi) Solid state drive (dischi a stato solido) Masterizzatori DVD USB key (pennette) Tape o nastri Masterizzatori CDROM Memorie SD / Compact flash Catridge
Hard disk drive Al suo interno il disco rigido possiede uno o più piatti I piatti sono di tipo metallico e magnetizzabili Un braccio meccanico si sposta sul piatto che gira Alla punta vi è una elettrocalamita L'elettrocalamita magnetizza il piatto A seconda della polarità si ha 1 o 0 Tutto questo è controllato da un “controller” cioè un processore
Hard disk drive
Hard disk drive Piatto rotante e testina controller
Piatto del HDD Tracce (cerchi) Settori (spicchi) Blocchi Il disco del HDD è di plastica ricoperto di uno strato metallico – magnetico. Quando viene costruito, viene fatta la “formattazione fisica” con la quale si creano: Tracce (cerchi) Settori (spicchi) Blocchi
Come funziona il HDD Per leggere i dati sul disco rigido succede che: 1 passo: posizionamento della testina sulla traccia 2 passo: rotazione del piatto sotto la testina 3 passo: lettura dei dati sul/sui blocchi. 2 1
Seek time → posizionamento della testina Capacità = 500GB, 1 TB, 2 TB..... 4TB Tempo di accesso = Seek time → posizionamento della testina + Latency → giro del disco Transfer rate → lettura/scrittura
Formattazione Formattazione fisica Formattazione logica La formattazione serve a ripulire il disco rigido o l'unità di memoria di massa. 2 tipi formattazione: Formattazione fisica Formattazione logica Viene fatta la quando è costruito il drive Consiste nel creare tracce, settori, cluster Serve a creare cartelle e file, ripulisce il disco da tutti i dati vecchi, cancella ogni tato.
Incisione laser DVD - CD
DVD e CDrom drive-masterizzatori Scrivono su un disco di plastica sparando un laser su di esso che lo “brucia” creando buchi (PIT) = 1 oppure non creandoli (LAND) = 0 PIT buco LAND piatto
Velocità di un CDROM drive I primi drive avevano velocità tali da poter scrivere/leggere 150KB ogni secondo … poi le velocità sono raddoppiate, quadruplicate … Velocità 1x = 150 KB/sec 2x = 300 KB/sec …....... 32x = 4800 KB/sec = 4,69MB/sec 48x = 7200 KB/sec = 7,03 MB/sec
HDD vs CDrom Velocità a confronto: 100 MB/sec 10 MB/sec
Cassette a nastro magnetico Servono per fare il backup dei dati Sono cassette con nastro avvolgibile Capacità elevata 1TB Velocità molto bassa Costo basso (15€) SVANTAGGIO La cassetta va avvolta ogni volta fino al punto in cui c'è il programma che serve
Porte ed interfacce Porta seriale: trasmettere i bit uno per volta su un'unica linea ad alta velocità, creata molti anni fa, è ora in disuso nei computer da ufficio Porta USB: trasmette i bit in serie ma ad alta velocità Porta parallela: trasmette più bit per volta (8 o 16 per volta) anche essa è in disuso sui pc per ufficio, serviva per le stampanti
Software Software Di base Applicativo Sistemi operativi Programmi scritti dall'utente Driver Tools software Linguaggi e compilatori Programmi applicativi
Release o versioni Ogni software viene rilasciato una prima volta e poi aggiornato in versioni successive: Alcune delle versioni di Windows sono: Windows 3.0 Windows 95 Windows 98 Windows Me Windows XP Windows 7 Windows 8
I sistemi operativi Funzioni del sistema operativo: Gestione del processore, memoria centrale, memoria di massa, periferiche, Interfaccia verso l'utente
3 tipi di interfaccia utente A menù Testuale Grafica CLI Command line interface GUI Grafic user interface
Linguaggi di programmazione
Licenza software Open source software libero e modificabile nel codice sorgente Freeware software libero non modificabile Shareware software condiviso a tempo o in forma limitata.