Informatica di base Lezione 2 Lucio Bianchi 19 marzo 2011 1 Sommario Indice 1 Rappresentare l'informazione 1.1 Informazione Denizione di informazione Che cos'è l'informazione? • L'informazione è un messaggio contenuto in ogni forma di comunicazione. • L'informazione è la riduzione di incertezza conseguente alla ricezione di un messaggio. • Se un supporto può contenere 10 congurazioni diverse allora la probabilità che ne contenga una in particolare è 1 su 10. • Se un supporto può contenere 2 congurazioni diverse allora la probabilità che ne contenga una in particolare è 1 su 2. Misura dell'informazione Unica misura possibile (in termini matematici) Probabilità che il supporto contenga una specica congurazione tra tutte quelle possibili. • Risultato di un referendum abrogativo: si, no • Segnale su un semaforo (caso più semplice): rosso, giallo, verde • Risultato di una partita di calcio: 1, 2, X • Estrazione del lotto: 1, . . . , 90 Unità elementare dell'informazione Alternativa (la più piccola incertezza possibile) • Si / No • Bianco / Nero • 0/1 Bit = Binary Digit (trad. cifra binaria ) • Permette al massimo due congurazioni diverse. • È l'unità utilizzata dal computer e da tutti i dispositivi connessi. Unità elementare dell'informazione Esempi di supporti Hard-disk: due diversi stati di polarizzazione di una sostanza magnetica Memoria principale: due stati di carica elettrica di una sostanza Connessioni (cavi): passaggio o non passaggio di corrente in un cavo conduttore CD: riessione o non riessione di un raggio luminoso 1.2 Misurare l'informazione Rappresentare più di due opzioni • Il bit può al massimo rappresentare due opzioni. • Che cosa si può fare se si devono rappresentare più di due opzioni? Misurare l'informazioni • 4 opzioni: 2 domande > 2 bit • 8 opzioni: 3 domande > 3 bit • 16 opzioni: 4 domande > 4 bit • ... • n opzioni: log2 (n) domande > log2 (n) bit • 2n opzioni: n domande > n bit 2 Multipli del Bit • byte [B] = 8 bit - Lunghezza di ogni parola nella memoria • kilobyte [kB] = 1024 byte - Capacità della memoria cache ( 512 kB) • Megabyte [MB] = 1024 kilobyte - Capacità di un CD ( 700 MB) • Gigabite [GB] = 1024 Megabyte - Capacità della memoria principale ( 1-4 GB) • Terabyte [TB] = 1024 Gigabyte - Capacità di un Hard disk ( 1 TB) 2 Connessioni hardware 2.1 Denizione Connessione hardware Denizione Serve a mettere in collegamento due (o più) dispositivi elettronici. • utilizza un cavo elettrico (più raramente una bra ottica, onde radio o radiazioni infrarosse) fornito di connettori alle estremità • esistono molti tipi di cavi e connettori, ognuno dedicato ad un particolare utilizzo • le informazioni possono essere inviate tra un dispositivo e l'altro in due modi molto diversi • necessità di avere standard per mettere d'accordo produttori diversi 2.2 Trasmissione seriale Denizione Le informazioni sono inviate una di seguito all'altra e giungono al destinatario nello stesso ordine in cui il mittente le ha inviate. • estremamente diusa anche se è più complessa da realizzare con dispositivi sici e più complessa da gestire • richiede minor numero di cavi -> minore costo • tollerante rispetto alla interferenze e agli errori di trasmissione 3 RS-232 - Porta seriale • presente in quasi tutti i desktop computer, assente sui laptop • soppiantata da connessioni più moderne (USB, PS2, . . . ) • controllo dei dispositivi di rete per congurazione e monitoraggio USB - Universal Serial Bus • usato per connettere molto periferiche a un computer -> standard de facto • mouse, tastiera, memorie ash, hard disk esterni, scanner, macchine fotograche digitali, stampanti • possibilità di connettere/disconnettere i dispositivi senza riavviare il computer (plug-and-play) IEEE 1394 - Firewire • utilizzata per connettere dispositivi video • decoder digitali • videocamere 4 2.3 Trasmissione parallela Denizione • Utilizza diversi conduttori per trasmettere informazioni simultaneamente • Un cavo che eettua una trasmissione parallela a n bit deve necessariamente essere costituito da n cavi • Prestazioni più elevate rispetto alla trasmissione seriale • Maggiore costo • Facilità di interferenze tra i cavi IEEE 1284 - Porta parallela • tradizionalmente utilizzata per le stampanti • soppiantata da connessioni più moderne (USB) • grande ingombro 3 Software 3.1 Tipi di software Denizione Software Insieme dei programmi che permettono al computer di lavorare. • I programmi forniscono alla CPU le istruzioni in base alla quali questa può elaborare le informazioni. • I programmi devono essere scritti in un linguaggio che deve essere compreso dalla CPU. 5 Software di sistema Gestisce l'utilizzo delle risorse hardware del computer. • Programmi di boot forniti dal produttore del computer (necessari per avviare la macchina). • Sistema operativo (gestisce le applicazioni e le periferiche). Microsoft Windows Mac OS x GNU / Linux Software applicativo Sono i programmi utilizzabili dall'utente per risovere vari problemi. • Microsoft Word • Microsoft Excel • Adobe Photoshop Closed source • Software sviluppato da aziende che ne tengono segreto il codice -> spesso coperto da brevetti. • Dovere di pagare una licenza d'uso al proprietario della licenza. • Solitamente la licenza prevede che il software non possa essere copiato, modicato, distribuito e che sia installato su una sola macchina. Open source • Software sviluppato da persone o aziende che decidono di rendere il codice di pubblico dominio. • Chiunque ha la possibilità di studiare il software, modicarlo, aumentarne le funzionalità, ridistribuirlo. • Miglioramento continuo del software grazie a una comunità di programmatori. • Esistono licenze che, in alcuni casi, possono impedire lo sfruttamento commerciale del software. • Molto spesso le licenze d'uso sono gratuite. • Nonostante questo molte aziende hanno il software libero come buisness principale -> possibilità di guadagno. 6 Il software come prodotto Realizzare un software è costoso (anche se non si produce niente di sico). • Necessità di impiegare molte persone per molto tempo Il lavoro non termina una volta che il software è stato scritto. Necessità di mantenere il software utilizzabile anche dopo diversi anni dalla sua scrittura originale. • Ogni progetto software deve essere un compromesso tra: funzionalità risorse economiche disponibili tempo di produzione 3.2 Sistema operativo Cos'è? Il sistema operativo è un software di sistema che si inserisce tra l'hardware e il software applicativo. • Permette all'utente di far svolgere alla macchina particolari compiti (attraverso il software applicativo) senza preoccuparsi della struttura dettagliata dell'hardware. • Capisce le istruzioni dei programmi applicativi e comanda alla CPU e alle periferiche quello che devono fare. • È l'interfaccia che permette la comunicazione tra uomo e macchina. Interfaccia di un sistema operativo • Ogni sistema operativo ha una sua interfaccia, cioé ha un diverso modo di raccogliere i comandi dall'utente e di impartirli alla CPU. • Le prime interfacce erano a caratteri schermo scuro sul quale digitare dei comandi in forma testuale necessario imparare il linguaggio del sistema operativo quasi del tutto abbandonata sui sistemi Microsoft Windows • A metà degli anni '80 Apple inventò il mouse e l'interfaccia graca (GUI) i comandi vengono impartiti tramite la pressione di un tasto un cursore permette di spostarsi sullo schermo nel quale sono presenti delle icone grache semplicità: ha contribuito alla diusione del computer 7 Microsoft Windows • Sistema operativo più diuso. • Grazie ad accordi con le aziende produttrici di computer, è quasi sempre installato prima dell'uscita dalla fabbrica -> sovrapprezzo non controllabile dall'utente. • Versioni domestiche a funzionalità ridotte: Windows 3.1, Windows 95, Windows 98, Windows ME, Windows XP • Versioni aziendali a funzonalità complete: Windows 3.11, Windows NT, Windows 2000, Windows XP Pro • Ultime uscite hanno moltissime versioni per diverse fasce di prezzo: Windows Vista, Windows 7 Mac OS X • Realizzato e commercializzato da Apple solamente per i propri computer • Maggiore stabilità e sicurezza • Innovazione • Maggiore costo • Tradizionalmente utilizzato da chi si occupa di graca (disponibilità di molto programmi specici) GNU/Linux • Gratuito e a sorgente aperto (chiunque può vedere il codice con cui è scritto e modicarlo) • Molto diuso in ambito accademico • Progetti per dionderlo nelle scuole e nella pubblica amministrazione -> notevole risparmio • Ore la possibilità di scegliere diversi tipi di interfacce grache (Gnome, KDE, LXDE, . . . ) 3.3 Software applicativo Cos'è un programma • Serie di istruzioni scritte in un linguaggio opportuno (linguaggio di programmazione) 8 • La macchina può capire soltanto il proprio linguaggio (linguaggio macchina) • Servono dei programmi (compilatori, assemblatori, linker, . . . ) che traducono il programma in linguaggio macchina Applicazione Un'applicazione è un programma nalizzato a gestire una specica attività umana. • gestire lo stipendio dei dipendenti di un'azienda • registrare tutte le fatture di un'azienda • pilotare un braccio meccanico di una macchina CNC • ... Applicazioni più comuni • Ogni utente ha esigenze diverse -> esistono moltissime applicazioni per soddisfare (quasi) tutte le esigenze • Ogni utente deve andare a cercarsi le applicazioni più adatte • Applicazioni aziendali: gestione magazzini, fatturazioni, stipendi, . . . • Applicazioni d'ucio: produzione di documenti, cataloghi, . . . • Applicazioni multimediali e di intrattenimento 9