Corso di Informatica per Biologia (docente) Fabio Aiolli E-mail: [email protected] Web: www.math.unipd.it/~aiolli (docente laboratorio) Giovanni Da San Martino E-mail: [email protected] Dipartimento di Matematica Pura ed Applicata Torre Archimede, Via Trieste 63 Orario delle lezioni e esercitazioni • 18 ore di lezioni in aula – Giorni: • Oggi, ore 8:30 - 9:15 • + Ogni Mercoledi’, Giovedi’, Venerdi’, ore 8:30 - 9:15 • Martedi’, ore 8:30 – 9:15 (eventuali recuperi) • 5 sessioni di esercitazioni in laboratorio per un totale di 15 ore: – presso le aule informatiche A,B,C dell’ ex Dipartimento di Matematica Pura ed Applicata (Paolotti) Fabio Aiolli Giovedi’ 19 Ottobre 2006 14:30 – 17:00 Giovedi’ 26 Ottobre 2006 14:30 – 17:00 Giovedi’ 2 Novembre 2006 14:30 – 17:00 Giovedi’ 9 Novembre 2006 15:00 – 17:30 Giovedi’ 16 Novembre 2006 14:30 – 17:00 INFORMATICA x BIOLOGIA Introduzione ai Calcolatori 2 Frequenza Obbligatoria Verranno effettuati controlli di presenza sia in aula (raccolta firme) che in laboratorio (automatico) Fabio Aiolli INFORMATICA x BIOLOGIA Introduzione ai Calcolatori 3 Risorse per il corso Colussi, File', Rossi, "Informatica di Base", Edizioni Libreria Progetto, 2003 Slide e dispense saranno disponibili sul sito web del corso: http://www.math.unipd.it/~aiolli/corsi/biologia0607 /biologia0607.html Il blog del corso: http://aio.blog.kataweb.it/ Fabio Aiolli INFORMATICA x BIOLOGIA Introduzione ai Calcolatori 4 BLOG Pagina Iniziale Fabio Aiolli INFORMATICA x BIOLOGIA Introduzione ai Calcolatori 5 BLOG Pagina Categoria Fabio Aiolli INFORMATICA x BIOLOGIA Introduzione ai Calcolatori 6 BLOG Pagina Commenti Fabio Aiolli INFORMATICA x BIOLOGIA Introduzione ai Calcolatori 7 L’esame sarà in laboratorio Parte Teorica – Domande libere e a scelta multipla su TUTTI e SOLI gli argomenti del corso Parte Pratica – Progetti in excel e/o costruzione di pagine web Il voto dell’esame viene calcolato come combinazione dei voti delle due prove Fabio Aiolli INFORMATICA x BIOLOGIA Introduzione ai Calcolatori 8 Contenuti del corso • Struttura di un computer e principi del sistema operativo • Struttura dell’hardware, linguaggio macchina e assembler • Sistemi Operativi Windows e Linux • Applicativi e Internet • Fogli Elettronici e Excel • Reti e Internet, Web, HTML, Posta Elettronica Fabio Aiolli INFORMATICA x BIOLOGIA Introduzione ai Calcolatori 9 Iniziamo.. PARTE 1 Introduzione ai Calcolatori Fabio Aiolli INFORMATICA x BIOLOGIA Introduzione ai Calcolatori 10 Informatica: definizione INFORMATICA = INFORmazione autoMATICA In inglese si usa invece il termine COMPUTER SCIENCE (scienza dei calcolatori) INFORMATICA focalizza l’attività che si prefigge di studiare la disciplina COMPUTER SCIENCE focalizza invece lo strumento utilizzato Comunque sia, tutto cio’ che e’ relativo a studio, progettazione, fabbricazione e impiego degli elaboratori Fabio Aiolli INFORMATICA x BIOLOGIA Introduzione ai Calcolatori 11 Calcolatore o Computer MACCHINA ELETTRONICA AUTOMATICA PROGRAMMABILE per il TRATTAMENTO DELL’INFORMAZIONE Fabio Aiolli INFORMATICA x BIOLOGIA Introduzione ai Calcolatori 12 Operazioni di un Calcolatore Le operazioni che un calcolatore e’ in grado di svolgere possono essere suddivise in 1. Ingresso (input) 2.Uscita (output) 3.Memorizzazione (storage) 4.Recupero (retrieval) 5.Trasmissione (sending) 6.Ricezione (receiving) 7.Elaborazione (processing) Fabio Aiolli INFORMATICA x BIOLOGIA Introduzione ai Calcolatori 13 Limiti di un Calcolatore • Esistono elaborazioni che x un computer sono – IMPOSSIBILI da svolgere (funzioni non calcolabili) – TROPPO COMPLESSE per essere calcolate in tempi ragionevoli (l’informatica teorica si occupa anche di questi aspetti) • Intelligenza Limitata nonostante la cosidetta Intelligenza Artificiale sia un campo in rapido sviluppo!! Fabio Aiolli INFORMATICA x BIOLOGIA Introduzione ai Calcolatori 14 Informazione e Dati • Informazione DIVERSA DA conoscenza – Vitale o banale – Vera o falsa • Un dato e’ un informazione codificata in forma adatta per essere trattata da un elaboratore – Dati + Interpretazione = Informazione Fabio Aiolli INFORMATICA x BIOLOGIA Introduzione ai Calcolatori 15 Sistema di Elaborazione • Sistema, ovvero formato da un insieme di parti interagenti • La descrizione corretta delle singole parti (cosidetti moduli) non e’ sufficiente a caratterizzare un sistema • L’interazione tra le parti e/o con l’esterno (cosidetta interfaccia) e’ altrettanto importante! Fabio Aiolli INFORMATICA x BIOLOGIA Introduzione ai Calcolatori 16 Elaboratori e programmi • Elaboratore Elettronico Digitale • Elaboratore Elettronico: Rapidissimo e preciso esecutore di ordini codificati come programmi che agiscono sui dati • Digitale: I dati vengono elaborati e memorizzati in forma discreta (0/1) • N.B. Dati e programmi vengono memorizzati assieme senza alcuna distinzione • Informazione rappresentata come assenza o presenza di tensione elettrica o come magnetizzazione o non magnetizzazione di supporti magnetici (memorizzazione) Fabio Aiolli INFORMATICA x BIOLOGIA Introduzione ai Calcolatori 17 Come e`fatto un computer? • Assemblaggio di circuiti elettronici elementari (CHIP) – – – – Pochi millimetri quadrati Basso consumo Durata pressoche’ infinita Basso costo Fabio Aiolli INFORMATICA x BIOLOGIA Introduzione ai Calcolatori 18 I pionieri dell’informatica • Charles Babbage Teignmouth, 26/12/1791 – Londra, 18/10/1871 – Idea di macchina programmabile • George Boole Lincoln, 2/11/1815 – Ballintemple, 8/12/1864 – Teoria della logica matematica • Alan Turing Londra, 23/6/1912 - Manchester, 7/6/1954 – Concetto generale di macchina elaboratrice (macchina di Turing e molto altro) • John Von Neumann Budapest, 28/12/1903 - Washington, 8/2/1957 – Progettazione e sviluppo dei primi calcolatori con programma memorizzato Fabio Aiolli INFORMATICA x BIOLOGIA Introduzione ai Calcolatori 19 Computer Museum Progetto Manhattan Pannelli di controllo e operatori davanti agli enormi calcolatori presso il Complesso Y-12 a Oak Ridge, Tenessee Fabio Aiolli INFORMATICA x BIOLOGIA Introduzione ai Calcolatori 20 Computer Museum • MainFrame Computers (albori) – Costosissimi – Occupavano stanze intere – Condivisi da molti utenti e sfruttati al massimo • Mini Computers (anni ’60) – – – – Costoso X Aziende, piccoli enti di ricerca, decine di utenti Dimensioni di un armadio Sperimentazione (Unix, C, mouse, GUI) Commodore 64 • Home Computers (inizio anni ’80) – Costo contenuto – Utilizzo perlopiù ludico e didattico – Commodore64 (Vic20), Spectrum Sinclair • Personal Computer (fine anni ‘80) Fabio Aiolli INFORMATICA x BIOLOGIA Introduzione ai Calcolatori 21 Nuova Generazione • MainFrame di nuova generazione – Poco più grandi di un PC – Multi-processore – Supportano anche più di 1000 utenti Super computer CRAY 2 (1982-89) • Super computers – Elevatissima capacità elaborativa (IBM Blu Gene/L, 32658 processori) – Destinati ad una singola applicazione (previsioni meteorologiche, simulazioni, ..) • Micro-controller – Completi ma totalmente integrati in un singolo CHIP Palmare • Palmari – Dimensioni ridottissime Fabio Aiolli INFORMATICA x BIOLOGIA Introduzione ai Calcolatori 22 Personal Computer 1) Monitor 2) Scheda madre 3) CPU (Microprocessore) 4) RAM 5) Scheda di espansione 6) Alimentatore 7) Dispositivi ottici 8) Hard disk drive (HDD) 9) Mouse 10) Tastiera Fabio Aiolli INFORMATICA x BIOLOGIA Introduzione ai Calcolatori 23 Calcolatore nella società moderna • Calcolatori dedicati e multi-uso – Cellulari, GPS (dedicati) PC, Palmari, (multi-uso) • Strumento – di lavoro e studio – di comunicazione (Email, chat, video/music downloading, filesharing..) – di intrattenimento (Internet, giochi, musica, film, etc) – di calcolo (Real-time computers, Super computers, Multi Computers, Macchine ‘pensanti’, Domotica e Robotica) Fabio Aiolli INFORMATICA x BIOLOGIA Introduzione ai Calcolatori 24 L’architettura di Von Neumann CPU RAM Memoria secondaria I/O bus Fabio Aiolli INFORMATICA x BIOLOGIA Introduzione ai Calcolatori 25 RAM = Random Access Memory (memoria ad accesso casuale) Nella RAM, come in ogni altra componente di un computer, le informazioni sono sempre rappresentate digitalmente mediante sequenze di 0 e di 1. La RAM quindi memorizza numeri binari: • un bit può contenere (0 o 1) • un byte è una sequenza di 8 bit • una parola (word) è una sequenza di 4 byte Fabio Aiolli INFORMATICA x BIOLOGIA Introduzione ai Calcolatori 26 La RAM puo’ concettualmente essere vista come una sequenza di byte.. indirizzi da cui si leggono, ed in cui si scrivono, blocchi di byte consecutivi byte di indirizzo 0 0 1 2 3 4 5 6 7 8 9 byte di indirizzo 1 byte di indirizzo 2 10011011 Operazioni del ‘modulo’ RAM 10 11 12 Scrittura Lettura Cancellazione Fabio Aiolli testo foto/film programma Fabio Aiolli INFORMATICA x BIOLOGIA Introduzione ai Calcolatori 27 0 1 2 3 4 5 6 7 8 9 10 11 12 INFORMATICA x BIOLOGIA Introduzione ai Calcolatori 28 programma 0 1 2 3 4 istruzione1 5 istruzione2 6 istruzione3 7 8 9 10 11 12 Fabio Aiolli INFORMATICA x BIOLOGIA Introduzione ai Calcolatori 29 Unità di misura della RAM (e della memoria in generale) 1 KiloByte (KB) = 210 byte = 1.024 byte; circa 1.000 byte 1 MegaByte (MB) = 220 byte = 1.024 KB; circa 1.000.000 byte 1 GigaByte (GB) = 230 byte = 1.024 MB; circa 1.000.000.000 byte 1 TeraByte (TB) = 240 byte = 1.024 GB; circa 1.000.000.000.000 byte Fabio Aiolli INFORMATICA x BIOLOGIA Introduzione ai Calcolatori 30 Proprieta’ della RAM • RAM ⇒ il tempo di accesso ad ogni byte e' sempre lo stesso (circa 10-7/10-8 sec), e NON dipende da quale byte è stato acceduto prima • è volatile: se "tolgo la spina" l’informazione è persa (c’è anche la ROM, Read Only Memory, che invece e' persistente) • ogni byte della RAM e' individuato da un indirizzo, che consiste in un numero intero: 0,1,2... • il byte e' la minima quantità di memoria accessibile (attraverso il corrispondente indirizzo) Fabio Aiolli INFORMATICA x BIOLOGIA Introduzione ai Calcolatori 31 Programmi e CPU • La CPU (Central Processing Unit) consiste di innumerevoli transistor stampati su sottili chip di silicio • La CPU e` in grado di eseguire dei programmi, cioe` delle sequenze di istruzioni elementari (tra un numero molto limitato di funzioni) che la CPU (con i suoi e circuiti logici) “implementa” – Per poter essere eseguiti i programmi devono risiedere nella RAM, e quindi sono codificati digitalmente – I programmi possono operare su dei dati che devono pure risiedere nella RAM Fabio Aiolli INFORMATICA x BIOLOGIA Introduzione ai Calcolatori 32 Schema di una CPU BUS PC IR UNITA’ DI CONTROLLO clock Registri di calcolo R0 RAM R1 CPU Rn ALU Cis1 Fabio Aiolli Cis2 FR Cisk RC INFORMATICA x BIOLOGIA Introduzione ai Calcolatori 33 L’unita’ di Controllo della CPU esegue continuamente il ciclo FDE (Fetch/Decode/Execute) 1. Fetch: preleva dalla RAM la istruzione da eseguire; • sappiamo che l’indirizzo in RAM da leggere è memorizzato in PC (Program Counter); • l’istruzione viene memorizzata in IR (Instruction Register); • PC viene aggiornato all'indirizzo della successiva istruzione: se ogni istruzione occupa N byte, PC viene incrementato di N 2. Decode: riconosci l'istruzione (tra quelle possibili) da eseguire memorizzata nel registro IR: sia isi 3. Execute: la ALU esegue isi utilizzando il circuito Cisi 4. (Riconoscimento/Gestione Interruzioni) Tempo necessario ~ 10-9 sec (cioè circa un miliardo di cicli al secondo) Fabio Aiolli INFORMATICA x BIOLOGIA Introduzione ai Calcolatori 34 Il Clock • Il lavoro della CPU e` scandito da un orologio di sistema detto clock che controlla la velocita` delle operazioni • Il clock invia un flusso costante di impulsi digitali detti cicli, misurati in Hertz (Hz) cioe` cicli al secondo • Maggiore e' la velocita` del clock, piu` veloce sara` l'elaborazione dei dati e l'esecuzione delle istruzioni dei programmi • Attualmente, il clock di una CPU di un PC e` sull'ordine dei GHz (miliardi di cicli al secondo) Fabio Aiolli INFORMATICA x BIOLOGIA Introduzione ai Calcolatori 35 ALU e Registri della CPU • L'ALU e' l'unita` aritmetico-logica (ALU e' un acronimo dall'inglese) che esegue le istruzioni e usa i registri • I registri servono per memorizzare operandi ed operatori per i calcoli dell'ALU e lo stato del processore dopo tali calcoli – RC: registro di controllo • Registri particolari – PC: indirizzo RAM della prossima istruzione – IR: prossima istruzione da eseguire Fabio Aiolli INFORMATICA x BIOLOGIA Introduzione ai Calcolatori 36 “.. Pacman ha una velocità che dipende dal processore...quindi cambiando computer va più velocemente..sarà poi vero?” Fabio Aiolli INFORMATICA x BIOLOGIA Introduzione ai Calcolatori 37 Memoria Secondaria o di Massa •dischi fissi (hard disk), floppy disk, nastri magnetici, CD, DVD, USB memory, etc • deve essere permanente (mentre la RAM e`volatile) • accesso sequenziale, cioe’ il tempo di accesso varia a seconda dell’accesso precedente (mentre per la RAM il tempo di accesso e`sempre uguale) •Per esempio, dipende dalla posizione della testina di lettura/scrittura prima dell’operazione • è adatta per leggere/scrivere grandi quantita’ di dati (maggiore capacita’, minor costo) Fabio Aiolli INFORMATICA x BIOLOGIA Introduzione ai Calcolatori 38 Dispositivi di I/O (Input/Output) Sono i dispositivi di comunicazione ed interazione tra utente e computer. In un moderno PC: • input: tastiera, mouse, touchpad, microfono, videocamera, scanner, connessione di rete, etc • output: video, stampanti, speaker audio, etc • velocita` diverse e molto minori delle altre componenti di un computer (sec per l'input, decimi di sec per l'output) •Parti meccaniche e non elettroniche •Interfaccia con l’utente che e’ relativamente lento Fabio Aiolli INFORMATICA x BIOLOGIA Introduzione ai Calcolatori 39 L’architettura di Von Neumann CPU RAM Memoria secondaria I/O bus velocità decrescente (e molto!!) Fabio Aiolli INFORMATICA x BIOLOGIA Introduzione ai Calcolatori 40 Un preventivo PC • • • • • • • • • • • • • • • Desktop DELL Dimension 4600 euro 1.099 Processore Intel Pentium 4 3.00 GHz con cache 1 MB Chassis mini tower ATX Chipset Intel 865 G bus 500 MHz 512 MB DDR RAM Hard Disk 80 GB 7200 rpm Lettore DVD 16x, Masterizzatore CD-RW 48x24x48x Monitor LCD 17" Scheda video AGP 64 MB Scheda audio PCI 128 Stereo Scheda di rete 10/100 Mbit/s Modem 56 Kbit/s 3 slot PCI, 6 slot USB Tastiera italiana multifunzione Mouse ottico Software MS Windows XP, MS Office XP, Norton Antivirus Fabio Aiolli Unita’ di misura Frequenza Hz "operazioni" al secondo, e multipli Memoria Byte, e multipli Velocita` di Trasmissione Bit/s, e multipli Velocita’ rotazione Rpm (giri al minuto) INFORMATICA x BIOLOGIA Introduzione ai Calcolatori 41 Software • La CPU è in grado di interpretare ed eseguire istruzioni elementari espresse nel proprio Linguaggio Macchina, quali "leggi il dato presente in una locazione di memoria", "somma due valori", "scrivi questo dato in una locazione di memoria“ e poco altro! I ‘mattoncini della LEGO’ ;-) • Windows, Word ed Excel sono dei software (‘intere costruzioni della LEGO’) – Windows e` un sistema operativo – Word ed Excel sono delle applicazioni (o programmi applicativi); esistono le versioni per Windows e per Mac Fabio Aiolli INFORMATICA x BIOLOGIA Introduzione ai Calcolatori 42 Macchina Hardware e Macchina Software Agli albori dell'informatica, si programmava in binario, cioe` in linguaggio macchina, "scrivendo" i programmi direttamente nella RAM applicativi sistema operativo macchina hardware Adesso ci sono vari livelli e ogni livello rappresenta il supporto alla programmazione per il livello sovrastante Fabio Aiolli INFORMATICA x BIOLOGIA Introduzione ai Calcolatori 43 Programmi complessi Istruzioni di alto livello Istruzioni (funzionalita’) elementari Fabio Aiolli INFORMATICA x BIOLOGIA Introduzione ai Calcolatori 44 "traduce" per l'utente in linguaggio macchina macchina software utente Fabio Aiolli macchina hardware INFORMATICA x BIOLOGIA Introduzione ai Calcolatori 45 La macchina software: • facilita l'input/output • permette la programmazione in linguaggi ad alto livello, come C++/Java • rende disponibili programmi applicativi per compiere operazioni molto complicate Tutto viene alla fine "eseguito" dalla macchina hardware! Fabio Aiolli INFORMATICA x BIOLOGIA Introduzione ai Calcolatori 46 Domande sulla Parte I Vero o falso? 1. La memoria ROM è sequenziale 2. Il clock della CPU mantiene l’orario corrente 3. È vero che i dischi rigidi degli attuali PC ruotano alla velocità di 45 giri al minuto? Fabio Aiolli INFORMATICA x BIOLOGIA Introduzione ai Calcolatori 47 Domande sulla Parte I Risposta Libera 1. Quali sono i parametri di valutazione delle prestazioni di un dispositivo di memoria? 2. Confronto fra memoria principale e memoria secondaria. 3. È vero che i dischi rigidi degli attuali PC ruotano alla velocità di 45 giri al minuto? 4. Che cos'è uno scanner? che trasformazione opera? 5. È pensabile che un elaboratore funzioni senza mouse? senza tastiera? senza hard disc? senza processore? Fabio Aiolli INFORMATICA x BIOLOGIA Introduzione ai Calcolatori 48