1 Informatica E mail: monica@ing.unisi.it Monica Bianchini Dipartimento di Ingegneria dellInformazione ENIAC (1946 ca., 30 tonnellate, 17000 valvole) ENIAC.
Post on 01-May-2015
218 Views
Preview:
Transcript
1
InformaticaInformatica
EEmail: mail: monica@ing.unisi.itmonica@ing.unisi.it
Monica BianchiniMonica BianchiniDipartimento di Ingegneria Dipartimento di Ingegneria dell’Informazionedell’InformazioneENIAC (1946 ca., 30 tonnellate, 17000 valvole)ENIAC (1946 ca., 30 tonnellate, 17000 valvole)
ENIAC
Il primo calcolatore elettronico, l’ENIAC Electronical Numerical Integrator and CalculatorElectronical Numerical Integrator and Calculator nacque per esigenze belliche (per il calcolo di tavole balistiche). Venne commissionato dal Dipartimento di Guerra degli Stati Uniti all’Università della Pennsylvania, ed il suo prototipo fu realizzato alla fine della seconda guerra mondiale, nel 1946.
L’ENIAC, per la cui costruzione furono usate 18000 valvole termoioniche, occupava una stanza lunga più di 30 metri e dissipava una quantità enorme di energia elettrica. L’impiego di componenti elettroniche, tuttavia, lo rendeva capace di eseguire 300 moltiplicazioni al secondo, molte più dei precedenti calcolatori elettromeccanici.
ENIAC
Il primo calcolatore elettronico, l’ENIAC Electronical Numerical Integrator and CalculatorElectronical Numerical Integrator and Calculator nacque per esigenze belliche (per il calcolo di tavole balistiche). Venne commissionato dal Dipartimento di Guerra degli Stati Uniti all’Università della Pennsylvania, ed il suo prototipo fu realizzato alla fine della seconda guerra mondiale, nel 1946.
L’ENIAC, per la cui costruzione furono usate 18000 valvole termoioniche, occupava una stanza lunga più di 30 metri e dissipava una quantità enorme di energia elettrica. L’impiego di componenti elettroniche, tuttavia, lo rendeva capace di eseguire 300 moltiplicazioni al secondo, molte più dei precedenti calcolatori elettromeccanici.
2
SommarioSommario
UNIVAC UNIVAC (1951)(1951)
UNIVAC
Il primo calcolatore concepito ed impostato come prodotto commerciale, fu realizzato da Eckert e Mauchly (gli stessi costruttori dell’ENIAC) per l’Ufficio Centrale di Statistica degli Stati Uniti.
L’algebra di Boole
Fu teorizzata dal matematico inglese George Boole (18101864) nel lavoro “Analisi Matematica della Logica”, pubblicato nel 1847. Include un insieme di operazioni su variabili logiche (o variabili booleane), che possono assumere i due soli valori true true e falsefalse, indicati da 1 e 0. Le tecniche sviluppate nell’algebra booleana possono essere applicate all’analisi ed alla progettazione dei circuiti elettronici, poiché essi sono realizzati con dispositivi che possono assumere solo due stati.
Su insiemi di costanti e variabili logiche possono essere definite funzioni che hanno esse stesse la caratteristica di assumere due soli valori. La definizione di una funzione booleana può essere effettuata per mezzo di una tabella di veritàtabella di verità, che indica il valore della funzione in corrispondenza di ogni possibile configurazione dei valori degli argomenti. Le funzioni booleane possono essere scritte e manipolate anche con metodi algebrici, dato un insieme di funzioni (o operazioni) elementari tramite le quali poter esprimere ogni altra funzione.
UNIVAC
Il primo calcolatore concepito ed impostato come prodotto commerciale, fu realizzato da Eckert e Mauchly (gli stessi costruttori dell’ENIAC) per l’Ufficio Centrale di Statistica degli Stati Uniti.
L’algebra di Boole
Fu teorizzata dal matematico inglese George Boole (18101864) nel lavoro “Analisi Matematica della Logica”, pubblicato nel 1847. Include un insieme di operazioni su variabili logiche (o variabili booleane), che possono assumere i due soli valori true true e falsefalse, indicati da 1 e 0. Le tecniche sviluppate nell’algebra booleana possono essere applicate all’analisi ed alla progettazione dei circuiti elettronici, poiché essi sono realizzati con dispositivi che possono assumere solo due stati.
Su insiemi di costanti e variabili logiche possono essere definite funzioni che hanno esse stesse la caratteristica di assumere due soli valori. La definizione di una funzione booleana può essere effettuata per mezzo di una tabella di veritàtabella di verità, che indica il valore della funzione in corrispondenza di ogni possibile configurazione dei valori degli argomenti. Le funzioni booleane possono essere scritte e manipolate anche con metodi algebrici, dato un insieme di funzioni (o operazioni) elementari tramite le quali poter esprimere ogni altra funzione.
IntroduzioneIntroduzione
Impatto sociale della tecnologia informaticaImpatto sociale della tecnologia informatica
Il Personal ComputerIl Personal Computer
Il sistema operativoIl sistema operativo
Bit e byteBit e byteSistemi di numerazioneSistemi di numerazione
Aritmetica binariaAritmetica binaria
La rappresentazione dei datiLa rappresentazione dei dati
3
IntroduzioneIntroduzione
4
Cenni storici Cenni storici 1 1
Anche se la presenza “invasiva” dell’informatica nella vita di tutti i giorni è un fenomeno relativamente recente, non recente è la necessità di avere a disposizione strumenti e metodi per contare rapidamente, elaborare dati, “calcolare”
Le prime testimonianze di strumenti per contare risalgono a 30.000 anni faI primi esempi di algoritmi metodi di calcolo “automatico” sono stati ritrovati in Mesopotamia su tavolette babilonesi risalenti al 18001600 a.C.
Il sogno di costruire macchine capaci di effettuare calcoli automatici affonda le radici nel pensiero filosofico del ‘600:
Pascal e Leibniz non solo affrontarono il problema di automatizzare il ragionamento logicomatematico (già studiato da Cartesio), ma si cimentarono nella realizzazione di semplici macchine per calcolare
5
Cenni storici Cenni storici 2 2
La macchina alle differenzemacchina alle differenze, concepita da Babbage nel 1833, rappresenta il primo esempio di macchina programmabile di utilità generale (rimase un progetto: troppo complessa e critica la sua costruzione per le tecnologie dell’epoca)Fu Herman Hollerith, nel 1890, a sviluppare la macchina macchina a schede perforatea schede perforate, per compiere le statistiche del censimento decennale degli Stati Uniti
I dati venivano immessi su schede di cartone opportunamente perforate, le stesse schede che sono state usate fino a due decenni or sonoLe schede venivano successivamente “contate” da una sorta di pantografo che permetteva diversi tipi di elaborazioni (totali, medie, statistiche, etc.)Si impiegarono due anni e mezzo ad analizzare i dati (contro i sette anni del censimento del 1880), nonostante l’incremento di popolazione da 50 a 63 milioni
6
Cenni storici Cenni storici 3 3
Successivamente la macchina a schede perforate venne utilizzata con successo per i censimenti in Austria, Norvegia e Russia, tanto che Hollerith decise di fondare una società: la Computing Tabulating Computing Tabulating Recording CompanyRecording Company che, nel 1923, divenne l’International Business MachineInternational Business Machine, o IBMIBMCon l’invenzione del tubo a vuototubo a vuoto (1904), del transistortransistor (1947) e, infine, dei circuiti integraticircuiti integrati (1969), l’evoluzione dei computer divenne inarrestabile
Attualmente la potenza di calcolo degli elaboratori decuplica ogni 56 anni
7
Cenni storici Cenni storici 4 4
La costruzione dei primi calcolatori risale all’inizio degli anni ‘40, grazie alla tecnologia elettronica; i primi esemplari venivano programmati mediante connessioni elettriche e commutatori (ENIACENIAC, Mark I Mark I)
Il nome di Von Neumann è legato invece ai primi calcolatori a programma memorizzato realizzati alla fine degli anni ‘40 (EDSACEDSAC, WhirlwindWhirlwind, IASIAS, UNIVACUNIVAC)
La diffusione dei calcolatori a livello mondiale è avvenuta negli anni ‘60 e ‘70
8
Cenni storici Cenni storici 5 5
EDSAC (1949)EDSAC (1949)ENIAC (1946)ENIAC (1946) Mark I (1948)Mark I (1948)
UNIVAC (1952)UNIVAC (1952)Whirlwind Whirlwind (1949)(1949)
IAS (1952)IAS (1952)
9
Cenni storici Cenni storici 6 6
Tuttavia, l’esplosione dell’informatica come fenomeno di massa è datata 1981, anno in cui l’IBM introdusse un tipo particolare di elaboratore: il Personal ComputerPersonal Computer (PC)La particolarità dei PC consisteva nell’essere “assemblati” con componenti facilmente reperibili sul mercato (e quindi a basso costo)
Possibilità per qualsiasi casa produttrice di costruire “cloni”
Attualmente i PC, o meglio il loro componente fondamentale il microprocessoremicroprocessore è utilizzato in tutti i settori applicativi (non solo per elaborare dati):
Telefoni cellulariRicevitori satellitari digitaliBancomat e carte di creditoLavatrici e forni a microonde...
10
Cenni storici Cenni storici 7 7
L’esigenza di realizzare sistemi di elaborazione dotati di più processori operanti in parallelo è stata sentita fin dalla preistoria dell’informatica
In una relazione, datata 1842, del medico italiano Menabrea sulla macchina analitica di Babbage si fa riferimento alla possibilità di usare più macchine dello stesso tipo in parallelo per accelerare calcoli lunghi e ripetitivi
Solo la riduzione dei costi dell’hardware ha consentito, verso la fine degli anni ‘60, l’effettiva costruzione dei primi supercalcolatori, come le macchine CDC6600CDC6600 e IlliacIlliac e, successivamente, il CrayCray e le macchine vettorialiRecentemente, gli ulteriori sviluppi della microelettronica hanno permesso la realizzazione di calcolatori a parallelismo massiccio e a “grana fine”, caratterizzati dall’interconnessione di decine di migliaia di unità di elaborazione estremamente elementari: le reti neuralireti neurali, capaci di “simulare” il comportamento del cervello umano, sulla base degli studi di McCulloch e Pitts (1943)
11
Cenni storici Cenni storici 8 8
CDC 6600 CDC 6600 (1963)(1963)
Illiac (1955)Illiac (1955)
PC IBM (1981)PC IBM (1981) Portatile e Palmare Portatile e Palmare (2004)(2004)
Cray 1 (1976)Cray 1 (1976) Cray X1 (2002)Cray X1 (2002)
12
Che cos’è l’informatica Che cos’è l’informatica 1 1
InformaticaInformatica fusione delle parole informazioneinformazione e automaticaautomatica l’insieme delle discipline che studiano gli strumenti per l’elaborazione automatica dell’informazione e i metodi per un loro uso corretto ed efficace
L’infomatica è la scienza della rappresentazione e L’infomatica è la scienza della rappresentazione e dell’elaborazione dell’informazionedell’elaborazione dell’informazione
L’accento sull’ “informazione” fornisce una spiegazione del perché l’informatica stia rapidamente diventando parte integrante di tutte le attività umane: laddove deve essere gestita dell’informazione, l’informatica è un valido strumento di supportoIl termine “scienza” sottolinea il fatto che, nell’informatica, l’elaborazione dell’informazione avviene in maniera sistematica e rigorosa, e pertanto può essere automatizzata
13
Che cos’è l’informatica Che cos’è l’informatica 2 2
L’informatica non è, quindi, la scienza e la tecnologia dei calcolatori elettronici: il calcolatore è lo strumento che la rende “operativa”
L’elaboratoreelaboratore (computer, calcolatore) è un’apparecchiatura digitaledigitale, elettronicaelettronica ed automaticaautomatica capace di effettuare trasformazioni sui dati:
DigitaleDigitale: i dati sono rappresentati mediante un alfabeto finito, costituito da cifre (digitdigit), che ne permette il trattamento mediante regole matematicheElettronicaElettronica: realizzazione tramite tecnologie di tipo elettronicoAutomaticaAutomatica: capacità di eseguire una successione di operazioni senza interventi esterni
14
Caratteristiche dell’elaboratoreCaratteristiche dell’elaboratore
In particolare, l’elaboratore……èè una macchina una macchina, costituita da circuiti elettronici digitali e da componenti elettromeccaniche, ottiche e magnetiche...è velocissimoè velocissimo, nel compiere le operazioni per le quali è stato progettato...è puntualeè puntuale, nell’applicare le regole che conosce...è duttileè duttile e si adatta bene ad eseguire nuove tecniche, purché questo gli venga “spiegato” in modo dettagliato e non ambiguo...ha una buona memoriaha una buona memoria, estremamente ampia ed organizzata in modo razionale...non è intelligentenon è intelligente, qualunque sia l’accezione di questo termine, non è adatta a descriverne le caratteristiche...non è in grado di compiere deduzioninon è in grado di compiere deduzioni, o ragionamenti di altro tipo in modo autonomo...non è in grado di comprendere un problemanon è in grado di comprendere un problema...non è in grado di capire la soluzionenon è in grado di capire la soluzione di un problema, né di capire se la soluzione raggiunta è quella giusta
15
La macchina universaleLa macchina universale
ProgrammaProgramma: sequenza di operazioni atte a predisporre l’elaboratore alla soluzione di una determinata classe di problemi
Il programma è la descrizione di un algoritmoalgoritmo in una forma comprensibile all’elaboratore
AlgoritmoAlgoritmo: sequenza di istruzioni attraverso le quali un operatore umano è capace di risolvere ogni problema di una data classe; non è direttamente eseguibile dall’elaboratore
L’elaboratore è una macchina universalemacchina universale: cambiando il programma residente in memoria, è in grado di risolvere problemi di natura diversa (una classe di problemi per ogni programma)
16
L’architettura alla Von NeumannL’architettura alla Von Neumann
La capacità dell’elaboratore di eseguire successioni di operazioni in modo automatico è determinata dalla presenza di un dispositivo di memoriamemoria
Nella memoria sono registrati i datidati e...
...la descrizione delle operazioni da eseguire (nell’ordine secondo cui devono essere eseguite): il programmaprogramma, la “ricetta” usata dall’elaboratore per svolgere il suo compito
Il programma viene interpretato dall’unità di controllounità di controllo
Modello diModello di Von NeumannVon Neumann
17
Ancora sull’informatica... Ancora sull’informatica...
L’informatica è lo studio sistematico degli algoritmi L’informatica è lo studio sistematico degli algoritmi che descrivono e trasformano l’informazione: la loro che descrivono e trasformano l’informazione: la loro teoria, analisi, progetto, efficienza, realizzazione (ACM teoria, analisi, progetto, efficienza, realizzazione (ACM Association for Computing Machinery) Association for Computing Machinery)
NotaNota: È possibile svolgere un’attività concettualmente di tipo informatico senza l’ausilio del calcolatore, per esempio nel progettare ed applicare regole precise per svolgere operazioni aritmetiche con carta e penna; l’elaboratore, tuttavia, è uno strumento di calcolo potente, che permette la gestione di quantità di informazioni altrimenti intrattabili
18
Impatto sociale della Impatto sociale della tecnologia informaticatecnologia informatica
19
Vantaggi e svantaggi dell’Information Vantaggi e svantaggi dell’Information TechnologyTechnology
La tecnologia informatica è l’innovazione più importante in ambito scientifico dall’inizio della Rivoluzione Industriale: fornisce la capacità di completare attività ripetitive rapidamente, facilmente, efficacemente, per migliorare le tecnologie mediche, esplorare lo spazio, per le comunicazioni, etc.
Tuttavia, la tecnologia informatica ha introdotto il rischio, soprattutto a causa di Internet, della perdita della privacy, della penetrazione e diffusione di informazioni riservate, di intromissione non autorizzata nelle comunicazioni, di accesso ai sistemi bancari con possibilità di danni economici catastrofici
20
Vantaggi Vantaggi 1 1
I calcolatori hanno avuto un impatto immenso sulla società, sull’economia, e nella vita quotidiana
Sono impiegati per l’informazione, nei servizi al consumatore, nelle comunicazioni, nel controllo dei processi, nell’istruzione, negli strumenti medicali e per la ricerca, nella pianificazione delle attività commerciali, nella gestione delle risorse, nelle previsioni meteorologiche, per la progettazione di oggetti di utilità quotidiana, per auto, aerei, satelliti, navicelle spaziali...
Esistono calcolatori palmaricalcolatori palmari in grado di interpretare la scrittura manuale, visualizzare filmati, inviare fax
21
Vantaggi Vantaggi 2 2
Inoltre, l’informatica ha indotto…Miglioramento delle condizioni di lavoroAumento della velocità di esecuzione e della qualità del lavoro prodottoRiduzione del margine di errore nell’esecuzione di lavori complessiPossibilità di utilizzo di apparecchi programmati per l’esecuzione di lavori rischiosi o in ambienti ostiliRapidità ed economia delle comunicazioniRapidità ed efficacia nella ricerca delle informazioniRiduzione dei supporti cartacei e dell’ingombro degli archivi
22
Applicazioni medicaliApplicazioni medicali
Controllo delle funzioni vitali primarie e dosaggio farmacologico automatico
TAC (Tomografia Assiale Computerizzata) e Risonanza Magnetica: si elaborano i dati generati da un campo magnetico attorno al corpo umano, e si producono immagini degli organi interni, non rilevabili con i raggi X
Interventi di microchirurgia guidati dall’elaboratore
Interfacce intelligenti di comunicazione per disabili: mouse vocali, riconoscitori vocali, scanner e sintetizzatori vocali
Servizi di telesoccorso e telemedicina
23
Gestione delle informazioniGestione delle informazioni
Nel 1993, la biblioteca della Facoltà di Legge della Columbia University cancellò il progetto di costruire un edificio da 20mil$ per acquistare un calcolatore da 1.5mil$, per memorizzare i contenuti di decine di migliaia di libri vecchi e soggetti a deterioramento; oggi le biblioteche digitalibiblioteche digitali sono molto diffuse
Riduzione dei consumi/rifiuti cartacei: invece di gettare nel cestino un documento obsoleto, lo si cancella semplicemente da una memoria di massa
Facilità di accesso alla maggior parte dello scibile umano attraverso il World Wide WebWorld Wide Web (WWW)
24
AutomazioneAutomazione
I robot vengono impiegati nelle catene di montaggio per l’assemblaggio veloce ed accurato dei prodotti di uso quotidiano (elettrodomestici, automobili, etc.)
Vengono impiegati per lavori in ambienti considerati pericolosi o a rischio per le persone (per ispezionare strutture e cavi di comunicazione sui fondali marini)
Il SojournerSojourner ha orbitato intorno a Marte per esplorarlo e le comunicazioni satellitari hanno permesso a milioni di persone di osservarne le immagini al televisore o sullo schermo del proprio calcolatore
25
Banche e pubbliche Banche e pubbliche amministrazioniamministrazioni
I settori bancario, telefonico e della pubblica amministrazione hanno creato archivi informatizzati e centralizzati che rendono efficiente e trasparente il rapporto con il cittadino:
Consentono l’erogazione immediata di certificatiConsentono la telelettura dei contatori e la domiciliazione bancaria delle bollette, garantendo maggiore fedeltà nel rilevamento dei consumiAttraverso Internet, si può ottenere accesso ai servizi di homehomebankingbanking che permettono, ad esempio, la stampa sulla propria stampante personale del proprio estratto conto
SmartSmartcardcard, tessere “intelligenti” in grado di contenere informazioni ed effettuare operazioni autonomamente (senza riferimento ad un host)
Esempio: servizi integrati per i turisti offerti dal comune di Siena con smartcard per cellulare
26
TrasportiTrasporti
Le automobili di ultima generazione sono in grado di effettuare un controllo di tutti i loro componenti, segnalando eventuali malfunzionamenti
Gli impianti di frenatura ABS sono controllati da un piccolo computer
Grazie ai sistemi satellitari di geoposizionamento (GPS) ed a particolari sensori di cui può essere dotata l’autovettura, la guida può essere affidata al pilota automatico
27
CambiamentiCambiamenti
Nel 1940, i primi ricercatori che crearono i calcolatori elettronici stimarono che in USA sarebbero stati necessari non più di una mezza dozzina di elaboratori
Nel 1976, il New York TimesNew York Times pubblicò un libro dal titolo “La scienza nel ventesimo secoloLa scienza nel ventesimo secolo”, nel quale il calcolatore veniva menzionato una sola volta, e indirettamente, in relazione al calcolo delle orbite dei pianeti
Oggi, la presenza del calcolatore è invasiva nella vita quotidiana
Occorre che le persone si adattino alla prospettiva che alcuni lavori stanno diventando/diventeranno obsoleti: taluni temono questo cambiamento e lo considerano distruttivo (software apartheid software apartheid )
28
L’ambiente digitale: L’ambiente digitale: esiste un grande progetto?esiste un grande progetto?
L’obiettivo apparente dell’ambiente digitaleambiente digitale è quello di fornire voce e dati, multimedialità ed interattività ad alta velocità, ovunque, a basso costo, con affidabilità e sicurezzaMa che aspetto avrà l’ambiente digitale? Alcuni ritengono che sia opportuno seguire un modello regolamentato, mentre altri sono convinti che il motore dell’evoluzione debba essere la competizioneL’espansione progressiva del mondo delle informazioni, in termini di produttività e ricchezza, si accompagna con un inevitabile e crescente divario “digitale”Il divario digitale è una delle tante sfide da affrontare mentre la tecnologia delle informazioni rivoluziona il mondo
Digital DivideDigital Divide è l’espressione utilizzata per definire la disparità esistente nel mondo tra chi ha la possibilità di accedere ed utilizzare le tecnologie dell’informazione e della comunicazione e chi invece, per ragioni differenti, ne è escluso
29
Il Personal ComputerIl Personal Computer
30
Hardware Hardware 1 1
a cui si aggiunge l’hardware esterno, costituito da periferiche quali stampanti, mouse o modem
HardwareHardware: componenti fisiche dell’elaboratore; la forma e le prestazioni dell’hardware variano in funzione del tipo di elaboratore
Principali componenti hardware:unità di sistemaschermotastiera
31
Hardware Hardware 2 2
Unità di sistemaUnità di sistema: è il cuore dell’elaboratore, contiene tutti i circuiti elettronici che ne consentono il funzionamento
CaseCase dell’unità di sistema dell’unità di sistema: contiene un alimentatore, le unità a disco, una scheda di sistema e varie schede adattatrici Scheda di sistemaScheda di sistema: contiene i microprocessori, la memoria, i circuiti di controllo, e i connettori che la collegano alle periferiche (per esempio, la tastiera, lo schermo, il mouse)
Tutti i PC sono composti dagli stessi componenti fisici La struttura per blocchi distinti è la caratteristica peculiare dei PC siano essi desktopdesktop, laptoplaptop, notebooknotebook : unità di sistema, monitor e tastiera rappresentano i blocchi costitutivi fondamentaliUniformità si ha anche nell’aspetto funzionale delle componenti che costituiscono un PC
32
SoftwareSoftware
SoftwareSoftware: l’insieme dei programmi installati sul computer e delle informazioni che l’elaboratore utilizza per effettuare i suoi compiti
ProgrammiProgrammi: costituiti da una serie di istruzioni che l’elaboratore è in grado di comprendere ed eseguire
il sistema operativosistema operativo (SOSO, Microsoft WINDOWSMicrosoft WINDOWS o LINUXLINUX) fornisce i dati e le routine necessari all’elaboratore per “funzionare” e comunicare con gli utenti; il SO gestisce le operazioni di lettura/scrittura su disco o in memoria, l’output su schermo, interpreta i tasti che vengono premuti sulla tastiera o sul mouse, gestisce file e cartelle, etc.il software applicativosoftware applicativo è l’insieme dei programmi che “girano” sull’elaboratore e svolgono compiti e funzioni specifiche (es.: programmi di elaborazione testi, quali WordWord, database come AccessAccess, fogli elettronici come ExcelExcel, programmi destinati alla comunicazione come Outlook ExpressOutlook Express, destinati alla grafica come AutoCADAutoCAD, o al calcolo come MatlabMatlab, o di utilità, come Norton UtilitiesNorton Utilities)
DatiDati: informazioni interpretate e/o create dai programmi
33
Il sistema operativoIl sistema operativo
34
Il sistema operativo Il sistema operativo 1 1
Tutte le piattaforme hardware e software richiedono un sistema operativosistema operativo (SO)
I programmi e le applicazioni in esecuzione sul sistema si rivolgono al SO mediante “richieste”, inoltrate attraverso specifiche system call system call
All’accensione del PC, occorre attendere alcuni istanti prima di poter iniziare a lavorare: durante questa pausa il computer “carica” il SOUn SO è un programma che gestisce processi, amministra la memoria, controlla file e cartelle, sorveglia il flusso di informazioni con le periferiche hardware e presenta all’utente del PC un’interfaccia
35
Il sistema operativo Il sistema operativo 2 2
Solitamente, il SO è caratterizzato da un nucleo di moduli essenziali, il kernelkernel
La struttura e le funzionalità del nucleo, la sua architettura, hanno una forte influenza sulle modalità di programmazione e sulla cultura tecnica che cresce intorno alle macchine su cui un SO è installatoEsempiEsempi:
SO multiSO multiutenteutente: permettono a più persone di accedere allo stesso computer da postazioni differenti; il SO deve prendersi carico della gestione dei profili d’accesso dei diversi utenti e dei diversi livelli di sicurezza a cui ciascun utente è abilitato, poiché non tutti possono eseguire le stesse operazioni e devono essere previsti differenti profili d’accesso corrispondenti a differenti livelli di permessoSO multiprocessingSO multiprocessing: possono gestire l’utilizzo di più processori sullo stesso computer
36
Il sistema operativo Il sistema operativo 3 3
Il SO raccoglie ciò che si scrive sulla tastiera, visualizza le informazioni sullo schermo, memorizza i file in cartelle sul disco, si tiene in contatto con le periferiche, mette a disposizione dell’utente un’interfaccia per lavorare; si occupa di assicurare una corretta gestione della memoria e dei processi e della sicurezza dei datiAll’avvio del PC, durante la fase di bootboot, il SO viene caricato in memoria e si attiva per una serie di funzionalità…
In sistemi multitasking, in cui più programmi vengono eseguiti contemporaneamente, determina quali applicazioni debbano essere eseguite e con che ordine di priorità; decide quanto tempo debba essere assegnato a ciascun processo prima del contextcontextswitchswitchGestisce la condivisione della memoria tra le applicazioni in esecuzioneGestisce il flusso di I/O da componenti e periferiche esterne, come hard disk, stampanti e porteInforma l’utente sull’andamento delle procedure attivate e sugli eventuali errori occorsiPrende in carico la gestione di procedure di routine (es., la stampa)
37
I driver di dispositivo I driver di dispositivo 1 1
Il SO è l’interfaccia tra l’hardware ed il software applicativo e garantisce i servizi di base che assicurano il funzionamento dell’elaboratore
I moderni SO sono costituiti da un numero elevato di piccoli moduli, ognuno dei quali è formato da varie sezioni destinate ad eseguire una singola funzione
Le sezioni che controllano direttamente l’hardware si chiamano driver di dispositivodriver di dispositivo, perché “pilotano” i dispositivi
Ogni driver è formato da una serie di istruzioni che “spiegano” come controllare uno specifico componente hardware
38
I driver di dispositivo I driver di dispositivo 2 2
All’accensione, il bootbootstrap loaderstrap loader carica il kernel che provvede al caricamento degli opportuni driver dei dispositivi, tra cui quelli per la tastiera, per lo schermo, per il mouse, per le porte, etc.
L’uso dei driver fornisce ai programmi applicativi un’interfaccia indipendente dai dispositivi: lo stesso programma applicativo funziona su tutti i PC che abbiano installato l’apposito driver
39
ProspettiveProspettive
I SO si stanno evolvendo verso un sempre maggior numero di funzionalità, un tempo accessorie interfacce grafiche utente, funzionalità di interconnessione in rete, di riconoscimento vocale che tendono a collocarsi accanto ai tradizionali canali di inputoutput La sfida maggiore: affidabilitàaffidabilità e sicurezzasicurezzaQuando il PC si blocca, spesso occorre spegnere il computer e attendere che il sistema venga riavviato, con perdita di tempo/dati: oggi i SO tendono a una maggiore protezione nei confronti di questo tipo di eventualità
EsempioEsempio: le nuove versioni di Windows hanno introdotto una modalità più raffinata di protezione del sistema, per cui se un’applicazione si blocca può essere chiusa (in gergo, “terminata”) senza trascinare nella sua caduta l’intero sistema
40
Bit e byteBit e byte
41
Sistemi di numerazioneSistemi di numerazione
Sistemi di numerazione posizionaliposizionali:
La basebase del sistema di numerazioneLe cifrecifre del sistema di numerazioneIl numero è scritto specificando le cifre in ordine, ed il
valore del numero dipende dalla posizione relativaposizione relativa delle cifre
EsempioEsempio: Il sistema decimale (Base 10)
Cifre : 0 1 2 3 4 5 6 7 8 90 1 2 3 4 5 6 7 8 9
5641 = 5 103 + 6 102 + 4 101 + 1 100
Posizione: 3 2 1 0
42
Sistemi in base BSistemi in base B
La base definisce il numero di cifre diverse nel sistema di numerazioneLa cifra di minor valore è sempre lo 0; le altre sono, nell’ordine, 1, 2, …, B1; se B>10 occorre introdurre B10 simboli in aggiunta alle cifre decimali
N = cnBn + cn1Bn1
+…+ c2B2 + c1B1
+c0B0
Un numero frazionariofrazionario N’ si rappresenta con la scrittura (0.c1c2…cn)B
Un numero interointero N si rappresenta con la scrittura (cncn1…c2c1c0)B
N’ = c1B1 + c2B2
+…+ cnBn
cn è la cifra più significativacifra più significativa, c0 la meno significativameno significativa
43
Numeri interi senza segnoNumeri interi senza segno
Con n cifre, in base B, si rappresentano tutti i numeri interi positivi da 0 a Bn1 (Bn numeri distinti)
EsempioEsempio: base 10
2 cifre: da 0 a 1021 = 99
000102….9899
EsempioEsempio: base 2
2 cifre: da 0 a 221 = 3
00011011
102 = 100 valori
22 = 4 valori
44
Il sistema binario (B=2)Il sistema binario (B=2)
La base 2 è la più piccola per un sistema di numerazioneLa base 2 è la più piccola per un sistema di numerazione
Cifre: 0 1 bitbit (binary digitbinary digit)
EsempiEsempi:
(101101)2 = 125 + 024 + 123 + 122 + 021 + 120 = 32 + 0 + 8 + 4 + 0 + 1 = (45)10
(0.0101)2 = 021 + 122 + 023 + 124 = 0 + 0.25 + 0 + 0.0625 = (0.3125)10
(11.101)2 = 121 + 120 + 121 + 022 + 123 = 2 + 1 + 0.5 + 0 + 0.125 = (3.625)10
FormaFormapolinomipolinomiaa
45
Un bytebyte è un insieme di 8 bit (un numero binario a 8 cifre)
Con un byte si rappresentano gli interi fra 0 e 281 = 255
Il byte è l’elemento base con cui si rappresentano i dati nei calcolatori; si utilizzano sempre dimensioni multiple (di potenze del 2) del byte: 2 byte (16 bit), 4 byte (32 bit), 8 byte (64 bit)…
Dal bit al byteDal bit al byte
b7b6b5b4b3b2b1b0
00000000000000010000001000000011…………….1111111011111111
28 = 256 valori distinti
46
Dal byte ai kilobyteDal byte ai kilobyte
24 = 1628 = 256216 = 65536
210 = 1024 (K=Kilo)220 = 1048576 (M=Mega)230 = 1073741824 (G=Giga)
1 Kb = 210 byte = 1024 byte1 Mb = 220 byte = 1048576 byte1 Gb = 230 byte = 1073741824 byte1 Tb = 240 byte = 1099511627776 byte (TerabyteTerabyte)
47
Esempi Esempi 1 1
In qualsiasi base, l’essere il sistema di numerazione posizionaleposizionale, impone che combinazioni diverse di cifre uguali rappresentino numeri diversi; ad esempio:
(319)10 (193)10
(152)6 (512)6, infatti... (152)6=162+561+260=36+30+2=(68)10
(512)6=562+161+260=180+6+2=(188)10
Numeri che hanno identica rappresentazione, in basi diverse, hanno valori diversi:
(234)10 (234)8 , infatti...
(234)8 = 282 + 381 + 480 = 264 + 38 + 4 = 128+24+4 = (156)10
Osservazione:Osservazione: più piccola è la base, minore è il valore del numero rappresentato dalla stessa sequenza di cifre
48
Esempi Esempi 2 2
La notazione posizionale si applica anche per il calcolo del valore dei numeri frazionari, infatti...
(0.872)10 = 8101 + 7102 + 2103
= 8/10 + 7/100 + 2/1000 = 0.8 + 0.07 + 0.002
Quante cifre occorreranno per rappresentare il numero decimale 36 in base 2? Sappiamo che con n cifre si rappresentano i numeri da 0 a 2n1, quindi...
per n=1 (con una cifra) si rappresentano 0...211 0,1per n=2: 0...221 0...3per n=3: 0...231 0...7per n=4: 0...241 0...15per n=5: 0...251 0...31per n=6: 0...261 0...63
Effettivamente possiamo verificare che (100100)2=(36)10, infatti...
100100=125+024+023+122+021+020
= 32 + 4 = 36
con 66 cifre necessarie per la codifica del numero in base 2
49
Esempi Esempi 3 3
QuesitoQuesito: Per quale base B risulterà vera l’uguaglianza17 + 41 + 22 = 102 ?
Se i numeri sono rappresentati in base B, sappiamo che:(17)B = 1B1+7B0 = B+7
(41)B = 4B1+1B0 = 4B+1
(22)B = 2B1+2B0 = 2B+2
(102)B = 1B2+0B1+2B0 = B2+2
da cui...B+7+4B+1+2B+2 = 7B+10 = B2+2
Si ottiene un’equazione di 2° grado: B2 7B 8 = 0Risolvendo: = 49+32 = 81
B = (7 )/2 =(79)/2 = 1
(7+9)/2 = 8 È la È la soluzione!soluzione!
Non può essere una base
50
Che valore decimale assume il numero (1C5)16?
Abbiamo detto che per un sistema di numerazione in base B, la cifra di minor valore è sempre lo 0; le altre sono, nell’ordine, 1,2,…,B1; quindi nel sistema esadecimale (in base 16) dovremmo avere le cifre da “0” a “15”...
... che rappesentiamo, con un solo carattere, con A=10, B=11, C=12, D=13, E=14, F=15Quindi...(1C5)16 = 1(16)2 + 12(16)1 + 5(16)0
= 256 + 192 + 5 = (453)10
Esempi Esempi 4 4
51
Da decimale a binario Da decimale a binario 1 1
Si divide ripetutamente il numero interointero decimale per 2 fino ad ottenere un quoziente nullo: le cifre del numero binario sono i resti delle divisioni; la cifra più significativa è l’ultimo resto
Esempio 1Esempio 1: convertire in binario (43)10
43 : 2 = 21 + 121 : 2 = 10 + 110 : 2 = 5 + 0 5 : 2 = 2 + 1 2 : 2 = 1 + 0 1 : 2 = 0 + 1
resti
bit più significativo
(43)10 = (101011)2
52
Da decimale a binario Da decimale a binario 2 2
Esempio 2Esempio 2: convertire in binario (270)10
NotaNota (banale): i numeri pari terminano per 0, i dispari per 1
270 : 2 = 135 + 0135 : 2 = 67 + 1 67 : 2 = 33 + 1 33 : 2 = 16 + 1 16 : 2 = 8 + 0 8 : 2 = 4 + 0 4 : 2 = 2 + 0 2 : 2 = 1 + 0 1 : 2 = 0 + 1
(270)10 = (100001110)2
53
Si moltiplica ripetutamente il numero frazionariofrazionario decimale per 2, fino ad ottenere una parte decimale nulla o, dato che la condizione potrebbe non verificarsi mai, per un numero prefissato di volte; le cifre del numero binario sono le parti intere dei prodotti successivi; la cifra più significativa è il risultato della prima moltiplicazione
Da decimale a binario Da decimale a binario 3 3
EsempioEsempio: convertire in binario (0.21875)10 e (0.45)10 .45 2 = 0.9
.90 2 = 1.8
.80 2 = 1.6
.60 2 = 1.2
.20 2 = 0.4 etc.
(0.45)10 (0.01110)2
.21875 2 = 0.4375.4375 2 = 0.875.875 2 = 1.75.75 2 = 1.5.5 2 = 1.0
(0.21875)10 = (0.00111)2
bit più significativo
54
Da binario a decimaleDa binario a decimale
Oltre all’espansione esplicita in potenze del 2 forma polinomiaforma polinomia…
…si può operare nel modo seguente: si raddoppia il bit più significativo e si aggiunge al secondo bit; si raddoppia la somma e si aggiunge al terzo bit… si continua fino al bit meno significativo
EsempioEsempio: convertire in decimale (101011)2
(101011)2 = 1 25 + 0 24 + 1 23 + 0 22 + 1 21 + 1 20 = (43)10
bit più significativo
1 x 2 = 2 + 0 2 x 2 = 4 + 1 5 x 2 = 10 + 0 10 x 2 = 20 + 1 21 x 2 = 42 + 1 = 43
(101011)2 = (43)10
EsercizioEsercizio
Si verifichino le seguenti corrispondenze:
a) (110010)2=(50)10
b) (1110101)2=(102)10
c) (1111)2=(17)10
d) (11011)2=(27)10
e) (100001)2=(39)10
f) (1110001110)2=(237)10
EsercizioEsercizio
Si verifichino le seguenti corrispondenze:
a) (110010)2=(50)10
b) (1110101)2=(102)10
c) (1111)2=(17)10
d) (11011)2=(27)10
e) (100001)2=(39)10
f) (1110001110)2=(237)10
55
Aritmetica binaria: addizioneAritmetica binaria: addizione
0 + 0 = 00 + 1 = 11 + 0 = 11 + 1 = 0 con riporto di 1
EsempiEsempioo 1 11 1
01011011+0101101010110101
riporti
181
91+90
56
Aritmetica binaria: Aritmetica binaria: moltiplicazionemoltiplicazione
0 x 0 = 00 x 1 = 01 x 0 = 01 x 1 = 1
EsempioEsempio 1100111 x 101 1100111 0000000 11001111000000011
110011 x 10000 = 11001100000000x 16 = 24
57
Conversioni di baseConversioni di base
Notiamo che valgono le seguenti uguaglianze:(000)2 = (0)8 (0000)2 = (0)16
(001)2 = (1)8 (0001)2 = (1)16
(010)2 = (2)8 (0010)2 = (2)16
(011)2 = (3)8 (0011)2 = (3)16
(100)2 = (4)8 (0100)2 = (4)16
(101)2 = (5)8 (0101)2 = (5)16
(110)2 = (6)8 (0110)2 = (6)16
(111)2 = (7)8 (0111)2 = (7)16
(1000)2 = (8)16
(1001)2 = (9)16
(1010)2 = (A)16
(1011)2 = (B)16
(1100)2 = (C)16
(1101)2 = (D)16
(1110)2 = (E)16
(1111)2 = (F)16
Tabella di Tabella di conversione conversione binario/ottalebinario/ottale
Tabella di Tabella di conversione conversione binario/esadecimalebinario/esadecimale
0001 1010 0101 = (1A5)16
(421)10 = (110100101)2
110 100 101 = (645)8
58
Sistema esadecimaleSistema esadecimale
La base 16 è molto usata in campo informaticoLa base 16 è molto usata in campo informatico
Una cifra esadecimale corrisponde a 4 bit: si possono rappresentare numeri binari lunghi con poche cifre (1/4)La conversione da binario ad esadecimale è immediata: si raggruppano le cifre binarie in gruppi di 4 (da destra) e si sostituscono le opportune cifre esadecimaliEsempiEsempioo:
(3A2F)16 = 3163 + 10162 + 2161 + 15160 = 34096 + 10256 + 216 + 15 = (14895)10
EsempiEsempioo:
1101 1001 0001 1011 0100 0011 0111 1111 D 9 1 B 4 3 7 F
(D91B437F)16
59
Da esadecimale a binarioDa esadecimale a binario
Viceversa, la conversione da esadecimale a binario si ottiene espandendo ciascuna cifra con i 4 bit corrispondenti
EsempioEsempio: convertire in binario il numero esadecimale 0x0x0c8f
Notazione usata in molti linguaggi di programmazione per rappresentare numeri esadecimali
0 c 8 f 0000 1100 1000 1111
Il numero binario ha 4 x 4 =16 bit
60
La rappresentazione dei La rappresentazione dei datidati
61
Interi con segnoInteri con segno
Il bit più significativo rappresenta il segno: 0 per i numeri positivi, 1 per quelli negativi: esiste uno zero positivo (00…0) e uno zero negativo (10…0)Se si utilizzano n bit, si rappresentano tutti i numeri compresi fra (2n11) e 2n11
EsempioEsempio: con 4 bit si rappresentano i numeri fra 7 ((231)) e +7 (231)
0000 00001 10010 20011 30100 40101 50110 60111 7
1000 01001 11010 21011 31100 41101 51110 61111 7
positivi negativi
62
Numeri in virgola mobileNumeri in virgola mobile
La rappresentazione dei numeri frazionari in virgola mobile è, utilizzando la notazione scientificanotazione scientifica (es. 120 = 1.2102 = 0.12103),…
Singola precisioneSingola precisione
Il valore è(1)S 0.M 2E
031 2223
23 bit8 bit
Mantissa(o Caratteristica)
Segno Esponente
0 0000111
11111010111000000000000
(125.4375)10 = (1111101.0111)2 = 0.11111010111 27
63
Codifica dei caratteri alfabeticiCodifica dei caratteri alfabetici
Oltre ai numeri, molte applicazioni informatiche elaborano caratteri (simboli)Gli elaboratori elettronici trattano numeri: si codificano caratteri e simboli per mezzo dei numeriPer poter scambiare dati (testi) in modo corretto, occorre definire uno standard di codificaLa codifica deve prevedere le lettere dell’alfabeto, le cifre numeriche, i simboli, la punteggiatura, i caratteri speciali per certe lingue (æ, ã, ë, è, …)
A 01000001
3 00110011
$ 00100100
64
Codifica ASCIICodifica ASCII
American Standard Code for Information InterchangeAmerican Standard Code for Information Interchange: definisce una tabella di corrispondenza fra ciascun carattere e un codice a 7 bit7 bit (128 caratteri)I caratteri, in genere, sono rappresentati con 1 byte1 byte (8 bit): i caratteri con il bit più significativo a 1 (quelli con codice dal 128 al 255) fanno parte di un’estensione della codificaLa tabella comprende sia caratteri di controllocaratteri di controllo (codici da 0 a 31) che caratteri stampabilicaratteri stampabiliI caratteri alfabetici/le cifre hanno codici ordinati secondo l’ordine alfabetico/numerico
A 65B 66…….Y 89Z 90
a 97b 98…….y 121Z 122
0 481 49…….8 569 57
cifre maiuscole minuscole
65
Caratteri di controllo ASCIICaratteri di controllo ASCII
I caratteri di controllo (codice da 0 a 31) hanno funzioni specialiSi ottengono o con tasti specifici o con la combinazione Ctrl+carattereCtrl+carattere
Ctrl Dec Hex Code Nota^@ 0 0 NULL carattere nullo^A 1 1 SOH partenza blocco….. …. …. …… …………………^G 7 7 BEL beep^H 8 8 BS backspace^I 9 9 HT tabulazione orizzontale^J 10 A LF line feed (cambio linea)^K 11 B VT tabulazione verticale^L 12 C FF form feed (alim. carta)^M 13 D CR carriage return (a capo)…… …. … …. …………………….^Z 26 1A EOF fine file^[ 27 1B ESC escape…. …. ….. ….. ………..^_ 31 1F US separatore di unità
66
Caratteri ASCII stampabiliCaratteri ASCII stampabili
Dec Hx Chr Dec Hx Chr Dec Hx Chr Dec Hx Chr Dec Hx Chr Dec Hx Chr
32 20 SPACE 48 30 0 64 40 @ 80 50 P 96 60 ` 112 70 p33 21 ! 49 31 1 65 41 A 81 51 Q 97 61 a 113 71 q34 22 ” 50 32 2 66 42 B 82 52 R 98 62 b 114 72 r 35 23 # 51 33 3 67 43 C 83 53 S 99 63 c 115 73 s36 24 $ 52 34 4 68 44 D 84 54 T 100 64 d 116 74 t37 25 % 53 35 5 69 45 E 85 55 U 101 65 e 117 75 u38 26 & 54 36 6 70 46 F 86 56 V 102 66 f 118 76 v39 27 ’ 55 37 7 71 47 G 87 57 W 103 67 g 119 77 w40 28 ( 56 38 8 72 48 H 88 58 X 104 68 h 120 78 x 41 29 ) 57 39 9 73 49 I 89 59 Y 105 69 i 121 79 y42 2A * 58 3A : 74 4A J 90 5A Z 106 6A j 122 7A z43 2B + 59 3B ; 75 4B K 91 5B [ 107 6B k 123 7B {44 2C , 60 3C < 76 4C L 92 5C \ 108 6C l 124 7C |45 2D - 61 3D = 77 4D M 93 5D ] 109 6D m 125 7D }46 2E . 62 3E > 78 4E N 94 5E ^ 110 6E n 126 7E ~47 2F / 63 3F ? 79 4F O 95 5F _ 111 6F o 127 7F DEL
NotaNota: il valore numerico di una cifra può essere calcolato come differenza del suo codice ASCII rispetto al codice ASCII della cifra 0 (es. ‘5’ - ‘0’ = 5348 = 5)
67
Tabella ASCII estesaTabella ASCII estesa
I codici oltre il 127 non sono compresi nello standard originario
68
Codifica delle immagini Codifica delle immagini 1 1
Le immagini vengono anch’esse codificate come una sequenza di bit: il processo di “traduzione” da un’immagine ad una sequenza binaria prende il nome di digitalizzazionedigitalizzazione
L’immagine è suddivisa in punti o pixel pixel (per pictpicture ure elelement ement ), e ciascun punto viene codificato con un numero, che corrisponde ad un colore o ad un particolare tono di grigio
Si uitilizzano un numero di colori o di sfumature che sia una potenza del 2, in modo da codificare l’informazione legata a ciascun pixel con un opportuno numero di bit
69
Codifica delle immagini Codifica delle immagini 2 2
Le immagini vengono memorizzate come lunghe sequenze di bit: per interpretarle è necessario conoscere...
...le dimensioni dell’immagine (base ed altezza in numero di pixel), detta anche risoluzionerisoluzione
...il numero di colori (o toni di grigio) disponibili per ogni pixel
Se un immagine viene codificata ad una data risoluzione, potrà comunque essere presentata su un dispositivo a più bassa risoluzione, a patto di “ignorare” parte dell’informazione
70
Codifica delle immagini Codifica delle immagini 3 3
Come è avvenuto per i caratteri, anche per le immagini sono stati definiti standard di codifica, che assicurano la compatibilità fra sistemi diversi, per quanto concerne la trasmissione e la visualizzazione delle immagini
TIFFTIFF Tagged Image File FormatTagged Image File Format
JPEGJPEG
PNGPNG Portable Network GraphicsPortable Network Graphics
Per ridurre lo spazio necessario per memorizzare le immagini si utilizzano tecniche di compressionecompressione (utili anche per la trasmissione su rete Internet)
71
Codifica delle immagini Codifica delle immagini 4 4
Le tecniche di compressione si dividono in...Tecniche lossless:Tecniche lossless: non provocano perdita di informazione, sono adatte a codificare immagini in cui sono presenti ampie aree monocromatiche si codificano in maniera compatta insiemi di pixel aventi le stesse caratteristiche
Tecniche lossly:Tecniche lossly: provocano perdita di informazione, facendo decadere la qualità dell’immagine
Normalmente ai formati JPEG e PNG, molto diffusi per lo scambio di immagini su Internet, si applicano metodi di compressione lossly
top related