Docsity informatica umanistica marco lazzari 2 1 PDF

Title Docsity informatica umanistica marco lazzari 2 1
Author lollo del
Course Inglés
Institution Scuola Normale Superiore di Pisa
Pages 56
File Size 822 KB
File Type PDF
Total Downloads 100
Total Views 173

Summary

Descrizione Documento - Appunti Lezione Anno Accademico 2012/2013 - UNIVERSITA' - STUDOCU.IT - Descrizione Documento -...


Description

Informatica umanistica Marco Lazzari Informatica Università degli Studi di Trento 55 pag.

Document shared on www.docsity.com Downloaded by: lo-del ([email protected])

Sara Maffei

INFORMATICA UMANISTICA 1. Fondamenti di informatica 1.1 Informatica: il trattamento automatico dell’informazione Il termine informatica viene coniato negli anni ’60 da Philippe Dreyfus, definendo così la disciplina tecnico-scientifica che si occupa della programmazione e costruzione di macchine in grado di trattare o elaborare in modo automatico l’informazione. Queste macchine sono gli elaboratori automatici, esse portano benefici all’uomo come: la riduzione del tempo di elaborazione, maggiore affidabilità (meno probabilità di errore), liberazione dell’uomo da incombenze noiose e facile e diffuso accesso a elaborazioni in genere poco comuni all’uomo. Il termine calcolatore (in inglese computer da cui computer scienze corrispondente alla nostra informatica) in alternativa a “elaboratore”, meno comune ma, riteniamo più appropriato. In alternativa al termine informatica si utilizza il termine tecnologia dell’informazione ( Information Technology, IT). In quanto il calcolatore è stato associato alla rete, l’unione tra informatico e telecomunicazioni da origine ad una nuova disciplina chiamata Information & Communication Technology (ICT). Sotto questa definizione rientrano un’enorme quantità di tecnologie con le quali abbiamo a che fare ogni giorno come personal computer, lettori mp3, macchine fotografiche, cd e dvd, memorie flash e social network. 1.1.1 Il dato, l’informazione e la conoscenza Il termine “informazione” assume significati e valenze un po’ diverse a seconda dei contesti, in genere in relazione ad altri concetti quali comunicazione, controllo, dati, conoscenza, percezione, rappresentazione. Nell’informatica e delle discipline ad essa collegate, è importante mettere in relazione il significato di questo termine con quello di altri, in particolare “dato” e “conoscenza”. Questi tre elementi, informazione, dato e conoscenza, si collocano su tre livelli in ordine crescente d’astrazione. Per dato s’intende un insieme di simboli tracciati su un supporto fisico, ma esso non comporta alcun vantaggio se non viene messo in relazione con la proprietà cui si riferisce e lo si trasformi quindi in informazione. Si parla di conoscenza quando si dispone di regole che permettono di trarre vantaggio da tale informazione. La risoluzione dei problemi è basata sull’informazione perché consente di compiere ragionamenti e di prendere decisioni sugli oggetti del mondo reale acquisendo un limitato numero di informazioni. Tale approccio è alla base di tutte le discipline tecnico scientifiche. 1.1.2 I linguaggi formali Gli uomini per comunicare tra loro utilizzano i linguaggi naturali come l’italiano, ma sono soggetti ad ambiguità e pluralità di sensi e significati. L’ambiguità del linguaggio naturale e dipendente dal contesto, per esempio la frase “sposta il cavallo” senza parlare del contesto si può pensare se riferisca ad un animale ma anche a un pezzo del gioco degli scacchi. I linguaggi formali vengono sviluppati e impiegati in tutti gli ambiti come l’informatica e la matematica, in cui è importante evitare l’ambiguità e prevedono: 1

Document shared on www.docsity.com Downloaded by: lo-del ([email protected])

Sara Maffei

-l’individuazione di un alfabeto, un elenco ( finito ) di simboli; -la definizione di una grammatica formale, un insieme di regole che definisce come i simboli dell’alfabeto possano essere combinati fra loro. 1.1.3 La codifica e la rappresentazione dell’informazione L’informazione è rappresentata dai dati che a loro volta sono espressi sotto forma di simboli, la stessa informazione può essere codificata con simboli e modalità diverse. Se consideriamo un alfabeto estremamente ridotto che contiene soltanto i simboli “0” e “1”, 1 bit ( “binary digit” ovvero cifra binaria) è un simbolo scelto su tale alfabeto. L’adozione dell’alfabeto binario per la codifica delle informazioni nei calcolatori è determinata dalla semplicità di rappresentazione dei simboli da dispositivi bistabili. Questi sono dispositivi fisici in grado di assumere due configurazioni alternative e di permanere in modo stabile nella configurazione a loro assegnata. Es: se 1 bit assume due configurazioni possibili 0 e 1; con 2 bit abbiamo 4 sequenze possibili ( =2²) sequenze: 00, 01, 10, 11; 8 bit: 256 (=2⁸) sequenze possibili. Si definisce byte una sequenza di 8 bit. Nel calcolatore le informazioni sono rappresentate in forma binaria sotto forma di sequenze di bit, la memoria componente del calcolatore memorizza i dati d è costituita da una collezione di dispositivi bistabili. La sua capacità può essere misurata in bit, in byte o in multipli di essei ( ad esempio Kilo). 1.1.4 Gli strumenti per l’elaborazione Con “elaborazione dell’informazione” intendiamo qualsiasi attività condotta sull’informazione stessa comprendendo almeno le seguenti: -creazione; -modifica ( anche eliminazione); -confronto; -conservazione (comunicazione e distanza nel tempo); -trasmissione (comunicazione a distanza nello spazio) a soggetti specifici oppure a soggetti non predeterminati ( diffusione) Il trattamento dell’informazione segue uno schema: -l’informazione viene codificata sotto forma di dati, simboli, tracciati su un supporto fisico; -il supporto viene sottoposto ad una trasformazione fisica che genera nuovi dati e nuove sequenze di simboli; -i dati generati vengono decodificati e apportano nuove informazioni; L’informazione in ingresso all’elaborazione viene denominata input, mentre quella prodotta in uscita dall’elaborazione stessa prende il nome di output. Può succedere che si debba insegnare ad altri come compiere correttamente la trasformazione e di un particolare trattamento delle informazioni, cioè fornire a un esecutore le istruzioni che gli consentono di operare tale trasformazione in modo autonomo. Queste istruzioni che vengono fornite possiamo definirle un algoritmo. 2

Document shared on www.docsity.com Downloaded by: lo-del ([email protected])

Sara Maffei

I linguaggi di programmazione sono linguaggi formali progettati per descrivere algoritmi in modo tale che possano essere eseguiti da un moderno calcolatore, hanno sintassi semplice e senza ambiguità. la formulazione di un algoritmo di un linguaggio di programmazione viene definita programma e un programmatore è una persona che scrive programmi. 1.1.5 I dispositivi automatici per l’elaborazione dell’informazione Classificazione dei sistemi per i trattamento dell’informazione: - sistemi manuali: forniscono una codifica dei dati ma affidano completamente all’uomo l’esecuzione delle trasformazioni fisiche su di essi ( ad esempio il sistema di calcolo con carta e penna). - sistemi semi-automatici rigidi: operano singole trasformazioni fisiche sui dati ma richiedono continue indicazioni da parte dell’uomo che deve esercitare il controllo ( ad esempio la calcolatrice tascabile, non programmabile) - sistemi automatici flessibili: come il calcolatore dispongono di una memoria all’interno della quale sono rappresentati i dati e le istruzioni. Evoluzione storia dei sistemi per l’elaborazione dell’informazione Il primo strumento adottato dall’uomo per la rappresentazione dell’informazione numerica sono state le dieci dita, dal 2.000 a.C. in Cina viene introdotto l’abaco, diffondendosi poi tra Greci e Romani, è un sistema di calcolo manuale basato su una rappresentazione numerica posizionale. Nel XVII secolo William Oughtred realizzò il primo regolo calcolatore, strumento di calcolo analogico che consentiva di calcolare moltiplicazioni, divisioni, elevamenti a potenza, logaritmi e funzioni. Strumento più utilizzato per secoli in ingegneria, aviazione e finanza. Pochi anni dopo il filosofo e matematico francese Blaise Pascal progettò e realizzò la Pascalina, una calcolatrice meccanica che consentiva di eseguire addizioni e sottrazioni avvalendosi di una serie di ruote dentate. Nel XIX secolo Charles Babbage fu il primo a introdurre il concetto di calcolatore programmabile, progettando l’analytical engine, macchina in grado di operare in input e output. La matematica inglese Ada King pochi anni dopo, scrisse un programma per all’analytical engine, diventando il primo programmatore di calcolatori nella storia. In Germania tra il 1936 e il 1941 Konrad Zuse realizzò prototipi di calcolatore basati su relè elettromagnetici (Z1) (relè: introduttore elettrico la cui apertura e chiusura può essere controllata con un altro circuito elettrico). Nel 1941 c/o politecnico di Berlino Z3. A Londra tra il 1943 e il 1944 l’ingegnere Tommy Flowers progettò e realizzò COLOSSUS, (costruito e rimasto segreto fino al 1970). Il primo calcolatore completamente elettronico, in grado di memorizzazione dati in aritmetica binaria basati sulla ionizzazione termica di un gas. Tra il 1943-45 all’università della Pennsylvania, John Mauchly e J. Presper Eckert realizzarono ENIAC (Electronic Numerical Integrator and Computer), il primo calcolatore elettronico universale composto da 18mila valvole e ben 30 tonnellate di peso. Fino al 1973 venne ritenuto il primo calcolatore elettronico ‘programmabile’ (riconnettendo i circuiti!!), questo era condotto da ben 6 persone e utilizzava la logica DECIMALE. Nel 1945-49 venne progettato EDVAC, (Electronic Discrete Variable Automatic Computer ), il primo computer basato sull’ “Architettura di von Neumann” (dovuta a Eckert, Mauchly & von Neumann): programmi immagazzinati in memoria, EDVAC utilizza la Logica BINARIA. Utilizza un unico dispositivo di memoria per istruzioni e dati. 3

Document shared on www.docsity.com Downloaded by: lo-del ([email protected])

Sara Maffei

Eckert e Mauchly, dopo aver sviluppato ENIAC, proposero un modello in cui i programmi erano immagazzinati direttamente in memoria. (Mentre in ENIAC il programma doveva essere codificato direttamente in hardware). Il modello teorico che ne risulto’ – l’Architettura “di Von Neumann” influenzò direttamente la realizzazione di EDVAC (Electronic Discrete Variable Automatic Computer). Dopo EDVAC: 1948: primo computer commerciale (UNIVAC) 1954: primo computer a transistors (Bell Labs), i Transistor sono dispositivi formati da semiconduttori che cominciarono ad essere disponibili sul mercato e a sostituire nei calcolatori, le valvole termoioniche di cui risultavano molto meno costose, molto più veloci e di dimensioni più contenute (1960: valvole sostituite da transistors). 1960: i calcolatori divennero ancora più piccoli, veloci, economici ed affidabili con l’impiego dei circuiti integrati o microchip che poi successivamente introdurranno il microprocessore (1971: primo microprocessore: Intel 4004). L’avvento dei microprocessori ha determinato la diffusione dapprima dei minicomputer (1975, Altair) e poi a quella dei personal computer. 1975: fondazione di Microsoft 1976: Apple I e Apple II 1979: primo Spreadsheet (VisiCalc) 1.1.6 La macchina di Turing Alan Mathison Turing (1912-1954), matematico, logico e criptoanalista britannico, è considerato il padre della moderna informatica. Ideò la macchina di Turing (MdT), un dispositivo per l’elaborazione dell’informazione che, pur nella sua semplicità, si dimostra in realtà molto potente. È una descrizione estremamente astratta delle attività del computer, che pero’ cattura il suo funzionamento fondamentale. Macchina basata su un’analisi di cosa fa un calcolatore (umano o meccanico). In una macchina di Turing abbiamo: 1 Una ‘CPU’: composta da: - Un programma: un insieme di regole che determinano il comportamento della testina a partire dal suo stato e dal simbolo letto (= sistema operativo) - una testina che si trova in ogni momento in uno fra un insieme limitato di stati interni e che si muove sulla memoria, leggendone e a volte modificandone il contenuto. 2 Una ‘MEMORIA’, composta da: - un nastro di lunghezza indefinita, suddiviso in cellette che contengono simboli predefiniti (ad es. ‘0’e ‘1’); La MdT in sostanza rappresenta un sistema automatico per l’elaborazione delle informazioni. Il nastro è il supporto fisico su cui è inizialmente codificata con simboli dell’alfabeto l’informazione in input. La testina grazie all’algoritmo, codificato dalla tabella delle azioni, si muove lungo il nastro, leggendo e modificando il suo contenuto e trasformando in output l’informazione precedentemente inserita. Il registro degli stati costituisce la memoria interna del sistema che, in ogni momento, traccia lo stato di avanzamento dell’elaborazione. La MdT una volta attivata esegue queste azioni in ciclo: legge il simbolo nella cella corrente, individua, nella tabella delle azioni, i primi due elementi sono rispettivamente lo stato corrente e il simbolo contenuto nella cella corrente. La MdT si comporta come un calcolatore in grado di eseguire un ben preciso e fisso algoritmo, quello espresso dalla sua tabella delle azioni. Turing definì macchina di Turing universale (UTM) 4

Document shared on www.docsity.com Downloaded by: lo-del ([email protected])

Sara Maffei

una macchina di Turing in grado di simulare il funzionamento di qualsiasi altra macchina di Turing e ne descrisse in dettaglio una possibile realizzazione. Si pensa che la UTM abbia originato una delle caratteristiche più importanti dell’architettura di von Neumann ovvero l’impiego di un dispositivo di memoria unico per contenere dati e istruzioni. Si ricorda anche la tesi di Church-Turing che afferma che se una funzione è intuitivamente considerata calcolabile allora esiste una macchina di Turing in grado di calcolarla. 1.1.7 Architettura di von Neumann Nel 1944 il matematico di origini ungherese John von Neumann (1903-1957), entrò a far parte del progetto ENIAC, e successivamente nel progetto EDVAC e sviluppò una bozza preliminare dell’architettura del nuovo calcolatore. Questo documento prese il nome di architettura di von Neumann diventando il riferimento per la quasi totalità dei calcolatori digitali. Le caratteristiche essenziali sono: - obbiettivo: realizzazione di un calcolatore universale - presenza di un dispositivo di memorizzazione in cui è possibile rappresentare, con la stessa codifica, dati e istruzioni - utilizzo dell’aritmetica binaria invece che decimale (più semplice da realizzare) - separazione tra dispositivo di memorizzazione e dispositivo di elaborazione Il calcolatore quindi risulta composto dei seguenti sottosistemi: - processore o CPU, che legge istruzioni dalla memoria e le esegue operando trasformazioni sui dati pure in memoria - memoria, un’insieme di unità di memorizzazione (celle) - l’interfaccia, che può essere scomposta in: interfaccia di input e interfaccia di output, gestisce le iterazioni con l’ambiente esterno collegandosi con le periferiche: i dispositivi di input e output (I/ O) - bus, è il canale di comunicazione che gestisce lo scambio di informazioni tra gli altri sottosistemi. La CPU è programmata in codice binario detto linguaggio macchina, due calcolatori sono identici quando hanno una identica CPU che utilizza uno stesso linguaggio macchina. Un difetto nell’architettura von Neumann è noto come “collo di bottiglia v. Neumann” e succede quando l’elaborazione del dato da parte della CPU è più veloce rispetto a quella di trasferimento da parte del bus. Per superare questo limite le schede madri attuali integrano in genere bus aggiuntivi ottimizzati per la comunicazione per specifiche periferiche, ad esempio le schede grafiche. 1.1.8 L’hardware e il software Il software ha origine durante la seconda guerra mondiale quando i crittoanalisti inglesi, sotto la guida di Alan Turing, erano impegnati a decrittare i messaggi che i nemici tedeschi crittografavano con la macchina Enigma. Dopo aver scoperto che le istruzioni per la configurazione di Enigma, che cambiavano ogni giorno, erano scritte su carta solubile nell’acqua per permettere una distruzione rapida, iniziarono a chiamare queste istruzioni software (componente morbida) mentre la “ferraglia” di cui era composta la macchina venne chiamata hardware (componente dura). Con il termine software ci si riferisce alle istruzioni codificate all’interno della memoria per essere eseguite dall’hardware, termiche che identifica invece tutte le altre parti del calcolatore.

5

Document shared on www.docsity.com Downloaded by: lo-del ([email protected])

Sara Maffei

1.2 La struttura del calcolatore (Hardware) La struttura di un moderno calcolatore, in riferimento all’architettura di von Neumann, può essere quella tipica di un comune personal computer ( Pc). -L’unità centrale: è costituita da una scatola metallica detta chassis o case con ventole per la circolazione dell’aria e la dissipazione termica. Nell’unità centrale abbiamo: un alimentatore, che si connette alla linea elettrica per riceverne corrente alternata ed eroga corrente continua a tutte le componenti del Pc; una scheda madre, una piastra di materiale plastico che funge sia da struttura potante per il calcolatore, perché su di essa vi sono alloggiamenti ( slot ) per il montaggio delle altre componenti ( CPU, memoria, periferiche I/ O), sia da interfaccia di comunicazione tra tali componenti grazie all’integrazione di circuiti che costituiscono il bus. -Scheda madre: su un apposito alloggiamento è installato il microprocessore ( una CPU realizzata con tecnologie microelettriche) mentre su altre slot vi sono una o più schede di memoria centrale ( RAM ), in altri schede di espansione, interfacce per il collegamento dei dati con dispositivi periferici e di memoria di massa. Grazie alla miniaturizzazione sempre maggiore avviene una progressiva integrazione di queste interfacce sulla stessa scheda madre, così diventa possibile connettersi direttamente senza installare schede aggiuntive. 1.2.1 Classificazione dei calcolatori Un calcolatore può differenziarsi dall’altro per innumerevoli caratteristiche: la velocità di portare a termine un elaborazione, la capacità di archiviazione di dati, l’affidabilità ( funzionare a lungo senza guasti), la sicurezza, dotazione di periferiche, la capacità di connettersi ad altri calcolatori, le dimensioni, la trasportabilità, la modularità ( attitudine a consentire la sostituzione di componenti e la scalabilità ovvero sostituzione di componenti con altre con caratteristiche migliorative), la semplicità, la dotazione di SW e il prezzo. Vi sono diversi tipi di calcolatori, che risultano adatti a specifici ambiti di utilizzo. -Personal computer: è costituito da un unità centrale, video, tastiera e mouse; comparso negli anni ’70 è diventato il calcolatore più comune, le dimensioni, il peso la funzionalità il prezzo lo rendono adatto all’utilizzo da parte di un singolo utente in ambito domestico o negli uffici. Si avvale di programmi pre confezionati. -Laptop: PC progettato per la mobilità, tutte le componenti del PC sono integrate in un unica unità piccola e leggera, in base alle dimensioni e caratteristiche può essere denominato notebook, subnotebook, tablet pc e netbook. -PDA anche handhed computer, calcolatore che può essere tenuto in mano, ha le caratteristiche di un tablet spesso con funzioni di telefono cellulare ( smartphone ), di fotocamera, navigatore, letore MP3. -Console per videogiochi -Media Center -Workstation: simile ad un Pc ma ha caratteristiche superiori, sia della CPU della memoria, qualità grafica e affidabilità, adatta ad ambiti come il CAD, elaborazioni matematiche, statistiche e d’ingegneria e grafica. -Alcuni computer possono essere anche multiutente, ovvero utilizzano le risorse dello stesso calcolatore eseguendo programmi diversi da postazioni che possono essere: >PC: il computer multi utente svolge funzione di server mentre il PC funge da client; >Video terminale: ( terminale ) dispositivo di I/O non dotato di risorse computazionali proprie; 6

Document shared on www.docsity.com Downloaded by: lo-del ([email protected])

Sara Maffei

I calcolatori multiutenti si distinguono in funzione delle risorse di cui dispongono: >Minicomputer: di fascia intermedia inprese medie e grandi; >Mainframe: di fascia alta impiegato per grandi imprese; >Seupercomputer realizzato con tecnologie...


Similar Free PDFs