Il computer • DEFINIZIONE FORMALE: un computer è un dispositivo fisico che implementa il funzionamento di una macchina di Turing (un meccanismo che costituisce un modello di calcolo, retto da regole elementari ma con potere computazionale massimo). • DEFINIZIONE PRATICA: un computer è una macchina elettronica programmabile capace di ricevere, trasmettere, immagazzinare ed elaborare informazioni. Gli antenati del Computer • LA MACCHINA DI ANTICITERA (I secolo a.C.) – calcolatore meccanico capace di determinare le posizioni degli astri, il calendario solare e quello lunare. • SPEEDING CLOCK (1623) – fu il primo calcolatore automatico, creato dallo scienziato tedesco Wilhelm Schickard, capace di effettuare addizioni e sottrazioni. • PASCALINA (1642) – creata dal filosofo e matematico francese Blaise Pascal, è la prima calcolatrice meccanica. Gli antenati del Computer (2) • LA MACCHINA ANALITICA (1837) – progettata ma mai ultimata dallo scienziato inglese Charles Babbage, costituisce il primo prototipo di computer, pensata per effettuare calcoli generici complessi. • TABULATING MACHINE (1890) – macchina in grado di leggere schede perforate mediante l'analisi di circuiti elettrici. Brevettata dallo statistico americano Herman Hollerith, che fondò la Tabulating Machine Company (dal 1924 IBM). • Z1 (1937) - Konrad Zuse costruì il primo calcolatore meccanico programmabile, in grado di effettuare addizioni e sottrazioni, dotato di memoria. Lo Z1 era capace di leggere istruzioni di programma da schede perforate. I primi computer • Z3 (1941) – computer automatico e programmabile realizzato da Zuse e composto da 2200 relè. Utilizzava il sistema binario. • MARK I (1943) - realizzato ad Harvard dalla IBM, è il primo calcolatore digitale automatico. (16m x 0.5m x 2.4 m). • COLOSSO (1943/44) - macchina elettronica progettata per velocizzare la decrittazione dei codici cifrati. • ENIAC (1944/45) - Electronic Numerical Integrator And Calculator; in grado di riconoscere il segno di un numero, confrontare numeri, e di eseguire le operazioni di addizione, sottrazione, moltiplicazione, divisione e radice quadrata. (30 tonnellate). Colossus Eniac Gli sviluppi • 1947 – Viene inventato il transistor, destinato a sostituire il relè e le valvole termoioniche. • 1955 – Nasce il primo computer funzionante interamente a transistor, il TRADIC. • 1956 – Il primo hard-disk: un pila alta un metro e mezzo contenente 50 dischi metallici larghi 62 cm (memoria totale 5 megabytes!). • 1957 – Due tecnici del M.I.T. fondano la DEC per la produzione e commercializzazione di mini-elaboratori. Grande successo del PDP-I (49 computer venduti a 120.000$). • 1958 – La Texas Instruments brevetta il primo chip. • 1961 – Viene realizzato il mouse. • 1963 – La DEC realizza il primo minicomputer della storia, il PDP-8 (18000$). • 1964 – Il Basic diventa il primo primo linguaggio di programmazione semplificato. • 1965 – La Olivetti produce la PROGRAMMA-101, il primo "personal" computer (3200$). • 1967 – Il SISTEMA-360 (IBM), grazie all’impego del circuito integrato che potenzia le prestazioni e riduce i costi, ottiene uno strepitoso successo di mercato. • 1967 – Nasce l’Intel che diventerà leader mondiale nella produzione di processori. • 1970 – Nasce Arpanet, per la gestione delle comunicazioni dei computer del Pentagono. • 1970 – L’Intel crea la RAM. • 1971 – L’Intel brevetta il microprocessore capace di contenere più transistor (all’epoca alcune unità, ora milioni), che porterà i computer nella “Quarta Generazione”. La Quarta Generazione • Grazie al crollo dei costi ed all’aumento delle prestazioni il mercato dei computer ha conosciuto un’immensa espansione nel corso degli ultimi 30 anni. Questo grazie a circuiti sempre piu' piccoli e all'integrazione di molte componenti sullo stesso chip di silicio capace di integrare milioni di transistor. • Negli anni 70-80 il mercato era diviso tra supercomputer ad alto costo e ad altissime prestazioni e minicomputer a più larga diffusione e costo contenuto. • 1977 – Nasce l’APPLE II, il primo PC (minicomputer di seconda generazione, con foglio di calcolo e grafica a colori). • 1981 – Viene commercializzato l’IBM 5150, padre degli attuali PC. Viene governato dal Sistema Operativo MS DOS, prodotto dalla Microsoft. • 1984 – La Apple introduce un’interfaccia grafica per il sistema operativo. • 1985 – Microsoft sviluppa Windows 1.0, l’interfaccia grafica per MS DOS. • Ani 90 – Il duopolio Microsoft/Intel arriva a controllare il 90% del mercato. • Oggi – Due tipologie di macchine: PC. Molti produttori diversi (ma non IBM): CPU, chip grafici, OS, HD. Server aziendali, sviluppati su piattaforma Unix, pochi produttori (SUN, IBM) Panoramica sull’hardware Elaboratore RAM input porte CACHE CPU bus memoria di massa clock porte output Dispositivi di ingresso/uscita Consentono alla macchina di interfacciarsi con il mondo esterno ricevendo dati e ritrasmettendoli sotto forma di risultati. Input: Tastiera, mouse, microfono, scanner, … Output: Monitor, stampanti, altoparlanti,… Porte: permettono lo scambio di dati tra il computer e i dispositivi esterni. Seriali che trasmettono i dati i sequenza, Parallele che trasmettono i dati contemporaneamente, USB (universal serial bus) che consentono il collegamento di più dispositivi sulla stessa porta, modalità Plug and Play, Firewire : per dispositivi multimediali, a infrarosso (IrDA=Infrared Device Association), PC Card (PCMCIA=PC and Memory Card Int. Ass.), Porte dedicate a dispositivi multimediali, … Hardware (scheda madre) L’hardware è l’insieme delle componenti fisiche del computer. La scheda madre (motherboard) supporta, connette e controlla (tramite circuiti) tutte le parti interne. Le componenti hardware del computer sono fisicamente collegate alla scheda madre che permette loro di dialogare tramite un canale composto da fili di rame (bus di sistema). Hardware (microprocessore o CPU) Processore (Central Processing Unit) (es. Intel Pentium IV) legge, interpreta e gestisce le istruzioni da eseguire (unità di controllo), esegue calcoli ed operazioni logiche (unità aritmetico logica), alloca temporaneamente i risultati e le istruzioni più comuni (CPU cache nei registri). Velocità di clock: es. 3200 Mhz = 3.2 miliardi di cicli al secondo Le tecnologie dual core o quad core permettono di collocare 2 o 4 CPU in un unico microprocessore, aumentando considerevolmente le prestazioni. Hardware (memorie) Unità di memoria RAM (Random Access Memory) memoria ad accesso casuale, temporanea, è un accesso veloce serve per le elaborazioni (512 Mbyte, 4 Gbyte). Memoria ROM (Read Only Memory) memoria non volatile, contenente dati disponibili per la sola consultazione, in particolare il Bios (il primo codice che viene eseguito, testa l’hardware, carica il sistema operativo, funge da interfaccia tra hardware e periferiche). Memoria di massa memoria permanente, conserva i dati. Tecnicamente non fa parte del computer. Floppy disk (1.44 Megabyte), CD (700 Megabyte) , DVD (4.7 Gigabyte), Blu-ray (55 Gigabyte), pendrive (64 Gigabyte), Hard disk (1.5 Terabyte). Unità di misura della memoria Il bit è la più piccola informazione rappresentabile in un PC. Si indica con la lettera “b” e può assumere i valori: 0 e 1, VERO e FALSO, ON e OFF, TRUE e FALSE. 1 byte (B) = 8 bit (N.B.=23) = 1 carattere (=> 28=256 possibilità) 1 Kilobyte (kB) = 210 byte =1024 byte 1 Megabyte (MB) = 1024*1024 byte (220) 1 Gigabyte = 230 byte 1 Terabyte = 240 byte N.B. una pagina di un libro può contenere 2-3000 caratteri, diciamo circa 210 *2 = 211 byte => un terabyte contiene 240/211 = 240-11 = 229 = 220 · 29 pagine di libro ovvero circa 1.000.000 libri di 500 pagine (29 = 512) Notazione binaria Rappresentazione di un numero: 67310= 3*100+7*101+6*102 10112 = 1*20+1*21+0*22+1*23=1+2+8=1110 la cifra più a destra è la MENO SIGNIFICATIVA (peso 20= 1) la cifra più a sinistra è la PIU’ SIGNIFICATIVA (peso 23= 8) Somma: 1+1=10 (“0 con riporto di uno”); Esempio 11+ 11 = ? posizione 0: 1+1 = 0 con riporto di 1 posizione 1: 1+1 (+ 1 che riportavo) = 10 + 1 = 11 Risultato in base 2: N.B.: 110 = 1102 = 0*20+1*21+1*22 = 610 110 Caratteri ASCHII (o ASCII) Un byte è una sequenza di 8 bit. Quando si preme un tasto sulla tastiera del computer si aziona un gruppo di otto interruttori che genera un byte traducendo il carattere digitato in un numero in base 2. Con 8 bit si possono generare 256 numeri binari diversi che vanno da "00000000" (tutti gli interruttori sono chiusi, corrispondente al numero in base dieci "0") a "11111111" (tutti gli interruttori sono aperti, corrispondente al numero in base dieci "255"). Il codice ASCHII (American Standard Code for Information Interchange) è una tabella che contiene il codice corrispondente ai primi 128 caratteri (0-127). Per i successivi caratteri (128-255) non esiste uno standard, ma vengono utilizzate varie tabelle conosciute come "codice ASCHII esteso". Ad ogni carattere della tastiera corrisponde un diverso gruppo di byte. • Ad esempio, il carattere { corrisponde al byte 0111 1011 • CIAO = 67 73 ha la codifica ASCHII 123 che 65 79 = 0100 0011 0100 1001 0100 0001 0100 1111 • Si possono richiamare schiacciando Alt + il numero sul tastierino numerico. Ad esempio il carattere ~ si ottiene con Alt+126 Il software Il software è l’insieme dei programmi che permettono il funzionamento del computer e che il computer esegue: • Il sistema operativo è il programma che controlla e gestisce l'hardware. Si occupa anche di gestire gli accessi degli utenti e dei processi che vengono eseguiti. • I driver sono quei programmi che permettono ad un sistema operativo di utilizzare un dispositivo hardware senza conoscerlo, operando da interpreti. • I programmi applicativi sono algoritmi tradotti in un linguaggio adatto a essere eseguito dal computer. Il sistema operativo Accensione: il BIOS residente nella memoria non volatile avvia il POST (Power On Self Test). Rilevati i dispositivi collegati, viene caricato il SISTEMA OPERATIVO (per es. windows) al quale passa il controllo; al sistema operativo è demandata la gestione dei file e della memoria virtuale, con esso interagiamo tramite un’interfaccia, un insieme di dispositivi user friendly: tastiera, mouse in ingresso e schermo in uscita. Il cuore del OS è il Kernel, che garantisce al software le funzioni fondamentali per l’accesso controllato all’hardware. DOS Disk Operating System: sono i sistemi operativi capaci di gestire un file system, cioè le funzioni che permettono di organizzare le memorie di massa. I file sono organizzati in una struttura gerarchica ad albero, i nodi si chiamano DIRECTORY file sottodirectory Directory sottodirectory file file file Il disco fisso si chiama C ed è la radice dell’albero Possiamo far partire MS DOS da windows (per tornare scrivere exit) Il desktop Le directory diventano cartelle che si aprono, svuotano, riempiono… utilizzando il mouse NEL DESKTOP E NELLE VARIE CARTELLE, LE ICONE RAPPRESENTANO SOTTOCARTELLE e file • I FILE e LA LORO ESTENSIONE: file eseguibili: .exe file di sistema: .com .sys .bat file creati da applicazioni: .doc .xls .html .bmp … • APPLICAZIONI: file .exe + altri file di solito l’eseguibile viene fatto partire cliccando sull’icona dell’applicazione Browser Sono programmi in grado di interpretare il codice HTML e visualizzarlo in forma di ipertesto. L'HTML è il codice col quale la maggioranza delle pagine web nel mondo sono composte. I più diffusi sono Netscape Navigator (ora Netscape Browser 9), Internet Explorer, Mozilla Firefox, Opera, Safari , Google Chrome: Risiedono nel PC e possono lavorare solo se è fisicamente attivo il collegamento con il server Consentono principalmente: navigazione (to browse = sfogliare) negli ipertesti (pagine) di un sito salvataggio delle pagine visitate (o parte, frames) download di file memorizzazione indirizzi delle pagine visitate (segnalibri, bookmarks) Computer collegati in rete Collegando tra loro un insieme di computer tramite una rete – network – (fisicamente di solito si tratta di una rete elettrica) è possibile scambiare dati e condividere risorse (ad es. stampanti). Internet è una rete di reti telematiche (“la” rete). Elementi base di una rete 1. Una infrastruttura di comunicazione basata su linee telefoniche preesistenti e su canali specificamente costruiti (link satellitari, cavi transoceanici, collegamenti in fibra ottica..). 2. Insieme di tecnologie hardware che permette di collegare fisicamente un computer alla rete (schede, cavi, modem, router…) per formare reti locali (LAN, Local Area Network), per collegare le LAN tra di loro per formare reti più ampie (WAN, Wide Area Network); il collegamento delle WAN attraverso i canali specificati costituisce la rete. 3. Un insieme di regole (protocolli) necessarie per la gestione delle comunicazioni. L’insieme dei protocolli è denominato TCP/IP (Transmission Control Protocol/Internet Protocol) Per collegare un computer alla rete è quindi necessario installare e configurare opportuni software che implementino i protocolli. Struttura di Internet I siti Il nostro PC (client) è collegato ad un server (mediante linea dedicata - locale - oppure tramite modem su linea telefonica). I server sono gestiti da strutture pubbliche (università, ministeri, centri di ricerca, biblioteche) oppure da società private, i provider. Nel server sono custoditi i siti eventualmente lasciati in gestione ai singoli client. Con il TCP/IP nascono gli indirizzi di rete (indirizzi IP) Affinché i vari computer, delegati allo smistamento dei dati, trovino la strada giusta per ogni messaggio, viene impiegato uno schema di INDIRIZZAMENTO dei computer collegati in rete. Ogni host è dotato di un suo indirizzo univoco (indirizzo di rete) denominato IP (Internet Protocol) Sequenza di 4 numeri separati da punti (192.168.4.1) Al sistema di indirizzi numerici è stato affiancato un sistema di nomi simbolici, assai più facili da ricordare. Domain Name Service (DNS) I nomi assegnati ai computer su Internet si chiamano nomi di dominio Esempi di indirizzi http://www.unive.it http://www.comune.venezia.it Nell’indirizzo deve essere premesso il tipo di protocollo da usare per la comunicazione. Le lettere http indicano il protocollo usato nel trasferimento degli ipertesti: Hypertext Transfer Protocol Suffissi CODICE SIGNIFICATO ita de usa com edu E’ il codice della nazionalità Società privata di tipo commerciale Istituzione educativa (scuole o università) statunitense Istituzione del governo degli Stati Uniti d’America Risorse di rete Organizzazione non-profit gov net org ALTRI PROTOCOLLI DI COMUNICAZIONE TELNET permette di collegarci ad un computer remoto ed agire sul computer remoto proprio come se fosse il nostro computer locale sfruttando le risorse che il nostro sistema mette a disposizione (ad esempio si può accedere ad archivi bibliografici, cataloghi, ecc.). SMTP Protocollo per la posta elettronica, consente di inviare e ricevere mail, di allegare file, registrare dati su persone (rubrica), di firmare i documenti inviati SSH (Secure Shell) Utilizzabile per connessioni remote, che sfrutta algoritmi di crittografia per garantire una connessione sicura SSH File Transfer Protocol o SFTP Permette sia il trasferimento che la manipolazioni dei file remoti. Utilizza connessioni protette NTP E’ il protocollo che gestisce l’orario esatto nella rete. FTP FILE TRANSFER PROTOCOL permette di collegarsi ad un computer remoto, di visualizzare il contenuto del suo disco e, se in possesso di adeguati permessi di accesso, di prelevare o inviare file. MODALITA’ di collegamento ad una macchina remota FTP anonimo • Usato per il prelievo di file con accesso pubblico (presso università, enti, società). • Non serve disporre di un codice utente (e password) presso il computer remoto. Si accede anonimamente. • Solo determinate directory – tipicamente la directory pub (pubblica) sarà accessibile. FTP con account • Consente il collegamento ad un server • Necessarie username e password • Pieno accesso alla directory del sistema remoto, nella quale potremo inserire, modificare e cancellare file, proprio come se fosse una directory del nostro hard disk.