21 20 21 21200 ⋅+⋅+⋅+⋅+⋅+ =0+0+4+8+0+32=44 Brevi cenni
Transcript
21 20 21 21200 ⋅+⋅+⋅+⋅+⋅+ =0+0+4+8+0+32=44 Brevi cenni
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 10. Base 2 Base 10 0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 … 0 1 2 3 4 5 6 7 8 9 10 11 12 … 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: 101100 Decimale: 0 + 0 ⋅ 21 + 1 ⋅ 2 2 + 1 ⋅ 2 3 + 0 ⋅ 2 4 + 1 ⋅ 2 5 =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 1 …1 27/2 = 13 resto 1 …11 13/2 = 6 resto 1 …111 6/2 = 3 resto 0 …0111 3/2 = 1 resto 1 …10111 1/2 = 0 resto 1 110111 Quindi 55→110111 28 28/2 = 14 resto 0 14/2 = 7 resto 0 7/2 = 3 resto 1 3/2 = 1 resto 1 1/2 = 0 resto 1 Quindi 28→11100 …0 …00 …100 …1100 11100 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 1, 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 1 e 0. Unità di misura dell’informazione: bit. 1 byte (B) = 8 bit 10 1 kilobyte (kB) = 2 bytes = 1024 bytes 10 1 kilobit (kb) = 2 bytes = 1024 bytes 1 megabyte (MB) = 1024 Kb 1 gigabyte (GB) = 1024 Mb 1 terabyte (TB) = 1024 Gb 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 1 a 256 (uno per byte), separati da un punto. Es: 192.13.67.251 11011010010… 1 3 1100… 010010111… 5 2 4 Quante combinazioni diverse si possono ottenere con 4 bytes ? 2 32 , 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 16 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.153.15 www.facebook.com 173.194.33.104 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). 101110... Intestazione 1110110001010100010110111….. Dati del pacchetto I pacchetti viaggiano autonomamente sulla rete. 1 1,2 1 2 3 2,3 4 1 4 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,1 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 Lettori di file musicali Videogiochi Lettori di file video Sistema operativo linguaggio macchina HARDWARE Dispositivi di memoria portatili: Tra le memorie non volatili ci sono le memorie esterne, cioè i dispositivi “portatili”. La capacità di questi dispositivi è notevolmente aumentata negli anni, eccone alcuni con le rispettive capacità. Fino agli anni ’90 i dispositivi di memoria esterni più diffusi erano i floppy disk da 5¼ pollici e da 3½ pollici (1 pollice=2,54cm) che immagazzinavano rispettivamente 160kB e 720kb. Successivamente: CD: ne esistono di diversi tipi, i più diffusi hanno una capienza di 700MB DVD: ne esistono di diversi tipi, ma i più diffusi hanno una capienza di 4,7GB Blu-ray: la capienza base è di 25GB (ma può aumentare) Negli ultimi anni è cresciuta la capacità delle chiavette USB (pen drive), e contemporaneamente ne è diminuito il costo. Una chiavetta USB da 10 euro al giorno d’oggi (2011) ha una capacità di 4 oppure 8GB. Memory stick, Flash Card, ecc.: memorie di dimensioni ridotte diffuse sulle macchine fotografiche (qualche GB). I file: L’estensione di un file è l’insieme dei caratteri che si trovano dopo l’ultimo punto nel nome del file. L’estensione permette al sistema operativo di conoscere con quale programma il file deve essere aperto. Alcuni esempi di estensioni: .txt→file di testo .doc oppure .docx →file di Word .xls oppure .xlsx→file di Excel .ggb→Geogebra .py→Python .jpg, .jpeg, .gif, .bmp, .png o altri→immagini .htm oppure .html→pagine web (internet) .mp3, .wav o altri→audio .avi, .mp4, .mpeg o altro→video Dimensione indicativa per alcuni tipi di file: file di testo: qualche kB una canzone mp3: qualche MB un film: se non compresso occupa tutto il dvd (o il blu-ray); spesso vengono invece compressi fino a 700MB oppure1,4GB un file word senza immagini: qualche decina di kB (dipende dal contenuto) una foto ad alta risoluzione: qualche MB una foto compressa: dipende quanto è compressa, quelle che si trovano su internet solitamente qualche decina di kB Velocità delle reti: la velocità delle reti viene solitamente indicata in Mb/s oppure kb/s(megabit oppure kilobit per secondo, da non confondersi con megabyte o kilobyte). La velocità di connessione a internet in Italia mediamente ad oggi è di qualche Mbps in download (quando si scaricano i dati sul proprio computer), inferiore in upload (quando si inviano i dati). Esercizi: • quanto tempo si impiega a scaricare un file di 5MB alla velocità di 35kB/s? • quanto tempo si impiega a scaricare un file di 3MB alla velocità di 20kb/s? (attenzione alla differenza tra kB e kb) • quanto tempo si impiega a scaricare un file di 2GB alla velocità di 500KB/s? • per visualizzare in streaming un video che ha una dimensione di 5MB e che dura 4 minuti, quale velocità minima deve avere la linea ? (in Mb/s e kb/s) • per visualizzare in streaming un video che ha una dimensione di 700MB e che dura 90 minuti, quale velocità minima deve avere la linea ? (in Mb/s e kb/s) 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-201110-201201-bar Microsoft: viene fondata nel 1975 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 1985) -) il browser Explorer (dal 1995). 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 1976 da Steve Jobs e Steve Wozniak (ai tempi 21 e 26 anni). La sede principale è a Cupertino, California (nella Silicon Valley). Principali prodotti: -) i personal computer della serie Macintosh (dal 1984). 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 2001) -) iPhone (dal 2007) Google: nasce nel 1998 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, …).