Appunti di informatica. Non esauriscono gli argomenti trattati e vanno integrati con gli appunti presi a lezione. Premessa: numerazione binaria. Si può decidere di usare un sistema numerico con 2 simboli invece che 0. Base 2 Base 0 0 0 0 2 3 00 4 0 5 0 6 7 000 8 00 9 00 0 0 00 2 Qualunque numero può quindi essere espresso utilizzando soltanto due simboli. Come passare da un numero scritto in forma binaria ad uno scritto in forma decimale? Esempio: Binario: 000 Decimale: 2 3 4 0 + 0 2 + 2 + 2 + 0 2 5 + 2 =0+0+4+8+0+32=44 Come passare da un numero scritto in forma decimale ad uno scritto in forma binaria? Scrivo (da destra a sinistra) i resti delle successive divisioni per 2. Esempi: 55 55/2 = 27 resto 27/2 = 3 resto 3/2 = 6 resto 6/2 = 3 resto 0 0 3/2 = resto 0 /2 = 0 resto 0 Quindi 55 0 28 28/2 = 4 resto 0 0 4/2 = 7 resto 0 00 7/2 = 3 resto 00 3/2 = resto 00 /2 = 0 resto 00 Quindi 28 00 Brevi cenni sulle reti informatiche. Problema della trasmissione di un messaggio. Immaginare di dover trasmettere un messaggio a distanza in modo chiaro e inequivocabile. Per evitare fraintendimenti è opportuno utilizzare un alfabeto con pochi simboli, possibilmente due. Un alfabeto a due simboli si dice binario. I due simboli si indicano solitamente con 0 e, ed indicano l assenza o la presenza di qualcosa (un segnale luminoso, sonoro, elettrico, ecc). Nelle reti informatiche i messaggi viaggiano in forma binaria. E necessario decidere una convenzione per tradurre un messaggio da un alfabeto all altro, una corrispondenza ad esempio tra ogni lettera dell alfabeto latino e una particolare sequenza di e 0. Unità di misura dell informazione: bit. byte (B) = 8 bit 0 Kilobyte (KB) = 2 bytes = 024 bytes
Megabyte (MB) = 024 Kb Gigabyte (GB) = 024 Mb Codice ASCII: è un sistema di codifica che a ognuno dei 256 diversi stati esprimibili da un byte fa corrispondere un carattere (le 26 lettere dell alfabeto latino maiuscole e minuscole, i caratteri accentati, i segni di punteggiatura, i numeri, ecc.) Ogni computer della rete è identificato da un INDIRIZZO IP. E un identificativo univoco costituito da 4 bytes. Per una lettura più comoda invece che scrivere la sequenza di bit si scrive l indirizzo IP con 4 numeri che vanno da a 256 (uno per byte), separati da un punto. Es: 92.3.67.25 00000 0000 2 00 3 5 4 32 Quante combinazioni diverse si possono ottenere con 4 bytes? 2, cioè circa 4 miliardi. Quindi questo è il numero massimo di computer (o dispositivi di qualunque tipo) collegabili a internet. Questi indirizzi si stanno rapidamente esaurendo. Si sta studiando l utilizzo di un diverso sistema che preveda indirizzi a 6 bytes. Chi assegna gli IP? Un provider (fornitore di servizi internet, in Italia ad esempio Fastweb, Telecom, Wind, ecc.) chiede un certo numero di IP ad un autorità governativa e li assegna successivamente ai suoi clienti. L indirizzo IP tiene anche informazioni di tipo geografico. www.mostraip.it IP dinamico vs IP statico L indirizzo IP assegnato al nostro computer di casa non è sempre lo stesso. Ad ogni accesso il nostro provider ci assegna uno degli IP a sua disposizione. In questo caso si parla di IP dinamico. In alcuni casi c è invece bisogno di chiedere al provider che venga assegnato sempre lo stesso IP (ad esempio se sul nostro computer ospitiamo un sito internet). In questo caso di parla di IP statico. DNS (Domain Name System): sistema di traduzione da indirizzo IP a indirizzo letterale. Per evitare che gli utenti di internet debbano memorizzare gli indirizzi IP numerici, si associa ad un IP statico un certo nome. Esempi (reali): 66.220.53.5 www.facebook.com 73.94.33.04 www.google.it Questa informazione (l associazione tra ip numerico e nome) è distribuita su un certo numero di computer sparsi nel mondo.
Come viaggiano i dati? Sono suddivisi in pacchetti. Un file, una pagina internet, ecc. sono composti da molti pacchetti. Un pacchetto è un pezzo di un messaggio. Per ogni pacchetto all inizio vengono aggiunte delle informazioni aggiuntive, ad esempio: ip del mittente ip del destinatario numero identificativo del pacchetto ecc. Queste informazioni aggiuntive costituiscono quella che si chiama intestazione del messaggio (overhead). 00... 00000000000.. Intestazione Dati del pacchetto I pacchetti viaggiano autonomamente sulla rete.,2 2 3 4 4 2,3 Ogni volta che il destinatario riceve un pacchetto invia un messaggio di conferma al mittente. Il mittente tiene in memoria i pacchetti fino alla ricezione del messaggio di conferma. Nel caso in cui dopo un certo tempo il messaggio di conferma non gli arrivi lo invia nuovamente. Brevi cenni sull architettura di un calcolatore. Hardware: parte fisica (materiale) del computer. Software: parte logica (i programmi). CPU (processore) bus Memorie (Disco fisso, RAM, Cache Memory, ) Dispositivi di input/output: chiavetta USB, DVD, monitor I dati sono scritti in memoria e vengono elaborati dalla CPU (il processore). Memorie: Memoria volatile (RAM, Cache Memory) Più veloce Più costosa Deve essere alimentata (si azzera quando il computer si spegne) Vengono scritti in queste memorie i dati che servono ad un programma durante il suo funzionamento ma che non devono essere salvati. Tra le memorie volatili la cache memory è più veloce ma più costosa, si trova quindi in minore quantità nei computer. Memoria non volatile (disco fisso, ):
Meno veloce Meno costosa Non deve essere alimentata (sopravvive a computer spento) CPU Legge in memoria i dati da elaborare e le istruzioni sul come elaborarli (cioè i programmi). Quando la CPU agisce dati e programmi passano dal disco fisso alla RAM per poter essere utilizzati più velocemente. La CPU agisce tramite istruzioni elementari. Il linguaggio macchina è il linguaggio di ogni processore, come il processore legge la sequenza di 0, per ricavarne delle istruzioni. Se durante il funzionamento del computer la RAM si esaurisce (ad esempio se molti programmi funzionano contemporaneamente) il computer usa al suo posto una parte del disco fisso. Questo meccanismo si chiama SWAP e causa un rallentamento del computer. SOFTWARE: Sistema Operativo: Ci permette di rapportarci non con la macchina fisica ma con una sua rappresentazione (macchina virtuale). E uno strato che si pone tra l utilizzatore e la macchina fisica. Tra i più diffusi sui computer domestici quelli di Windows (XP, Vista, 7, ). Altri sono i sistemi Mac Os (della Apple) o Linux. Programmi applicativi: i programmi che vengono utilizzati per svolgere compiti specifici. I software si definiscono di alto o basso livello a seconda della loro distanza dall hardware. Basso livello Alto livello (più vicino all hardware) (più vicino allo specifico compito che si vuole svolgere) Word Excel Videogiochi Lettori di file musicali Lettori di file video Sistema operativo linguaggio macchina HARDWARE
Algoritmo: l insieme dei passi che portano alla risoluzione di un problema. In campo non informatico sono ad esempio algoritmi: una ricetta di cucina le istruzioni per montare un mobile la procedura per la divisione tra polinomi Algoritmo segreto: il modo in cui Google seleziona i risultati Un algoritmo deve essere non ambiguo e i passi devono essere interpretabili dall esecutore. Una ricetta di cucina non può essere eseguita da un neonato o da una persona che non capisce la lingua in cui è scritta. INPUT ALGORITMO OUTPUT Solitamente un algoritmo elabora dati di ingresso (input) e fornisce dati di uscita (output). In informatica l algoritmo viene implementato utilizzando un linguaggio di programmazione. Implementare l algoritmo in un certo linguaggio vuol dire scriverlo utilizzando il suo lessico e la sua sintassi (cioè utilizzando le parole proprie del linguaggio combinate nel modo giusto). Sono linguaggi di programmazione: Java, C, C++, Pascal, Visual Basic, Php, Python, Anche excel è uno strumento per l implementazione di algoritmi. Spesso gli esercizi in excel consistevano proprio nel trovare un algoritmo per risolvere un certo problema, ed implementarlo successivamente nel foglio excel. HTML: è il linguaggio per la programmazione visuale delle pagine web. Ogni pagina è in realtà una sequenza di parole caratteristiche di questo linguaggio. Sul nostro computer queste pagine sono interpretate e visualizzate mediante appositi software, chiamati browser. I browser al momento più diffusi sono: Internet Explorer (Microsoft) Chrome (Google) Firefox (Fondazione Mozilla, un organizzazione no-profit) Safari (Apple) Internet Explorer è al momento il browser più diffuso; per dati aggiornati sulla diffusione dei browser potete guardare ad esempio su http://gs.statcounter.com/#browser-ww-monthly-200-2020-bar Microsoft: viene fondata nel 975 da Bill Gates e Paul Allen (ai tempi 20 e 22 anni). La sede principale è a Redmond, vicino a Seattle. Principali prodotti: -) i sistemi operativi della famiglia Windows (dal 985) -) il browser Explorer (dal 995). E diventato il browser più usato perché distribuito assieme ai sistemi operativi Windows.
-) i software del pacchetto Office (Word, Excel, Power Point, ). Windows e il pacchetto Office non sono software gratuiti, ma richiedono il pagamento di una licenza. Apple: viene fondata nel 976 da Steve Jobs e Steve Wozniak (ai tempi 2 e 26 anni). La sede principale è a Cupertino, California (nella Silicon Valley). Principali prodotti: -) i personal computer della serie Macintosh (dal 984). Il sistema operativo dei Macintosh furono i primi sistemi operativi grafici a finestre diffusamente commercializzati, prima ancora dell introduzione di Windows. Il primo sistema operativo grafico a finestre fu in ogni caso realizzato dalla XEROX durante gli anni 70. Dopo una crisi durata fino alla fine degli anni 90 il successo di Apple ricominciò grazie a una nuova serie di prodotti: -) i personal computer della linea imac -) ipod (dal 200) -) iphone (dal 2007) Google: nasce nel 998 come motore di ricerca creato da Larry Page e Sergey Brin (allora 25enni). La sede principale è a Mountain View, California (nella Silicon Valley). Nel 2006 ha comprato YouTube. Con gli anni ha iniziato ad offrire anche altri servizi, tra cui: -) il browser Chrome -) servizi fruibili su internet quail Google Maps, Google Earth, Gmail, ecc. -) un pacchetto di software simile al pacchetto Office di Microsoft che si chiama Google Docs, con la caratteristica di poter essere utilizzato in rete (cloud computing). Il software risiede sui computer di Google e anche i file vengono salvati sui loro computer. -) il sistema operativo Android (per dispositivi mobili: smartphone, tablet, ) Modello client-server: Sui computer degli utenti (chiamati client) funziona un software che gestisce l interfaccia (il modo in cui l utente visualizza il programma) ed effettua delle richieste al server. Su un computer detto server vengono invece archiviate ed elaborate le informazioni. SERVER Sono applicazioni client/server tutte quelle applicazioni che funzionano su internet (posta elettronica, facebook, ecc.). Una tipica applicazione client è il browser, altre sono la chat di MSN, itunes, Wiris, ecc.
Modello peer to peer: Si tratta di programmi che funzionano in rete ma in cui i nodi sono equivalenti. Ad esempio E-Mule o i programmi per la condivisione di streaming video. Invece software che funzionano interamente sul computer dell utente si chiamano solitamente stand alone (ad esempio Excel, Word, ).