Informatica SommarioCon l’invenzione del tubo a vuoto (1904), del tubo a vuoto...

17
1 Informatica Informatica Email mail: [email protected] : [email protected] Monica Bianchini Monica Bianchini Dipartimento di Ingegneria Dipartimento di Ingegneria dell’Informazione dell’Informazione ENIAC (1946 ENIAC (1946 ca., 30 tonnellate, 17000 valvole) ca., 30 tonnellate, 17000 valvole) 2 Sommario Sommario UNIVAC (1951) UNIVAC (1951) Introduzione Introduzione Impatto sociale della tecnologia informatica Impatto sociale della tecnologia informatica Il Personal Il Personal Computer Computer Il sistema operativo Il sistema operativo Bit e byte Bit e byte Sistemi di numerazione Sistemi di numerazione Aritmetica Aritmetica binaria binaria La rappresentazione dei dati La rappresentazione dei dati 3 Introduzione Introduzione 4 Cenni storici Cenni storici 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 fa I 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

Transcript of Informatica SommarioCon l’invenzione del tubo a vuoto (1904), del tubo a vuoto...

Page 1: Informatica SommarioCon l’invenzione del tubo a vuoto (1904), del tubo a vuoto transistortransistor (1947) e, infine, dei circuiti integrati (1969), l’evoluzione dei circuiti integrati

1

1

InformaticaInformatica

EE−−mailmail: [email protected]: [email protected]

Monica BianchiniMonica BianchiniDipartimento di Ingegneria Dipartimento di Ingegneria dell’Informazionedell’Informazione

ENIAC (1946 ENIAC (1946 ca., 30 tonnellate, 17000 valvole)ca., 30 tonnellate, 17000 valvole)

2

SommarioSommario

UNIVAC (1951)UNIVAC (1951)

IntroduzioneIntroduzioneImpatto sociale della tecnologia informaticaImpatto sociale della tecnologia informaticaIl Personal Il Personal ComputerComputerIl sistema operativoIl sistema operativoBit e byteBit e byte

Sistemi di numerazioneSistemi di numerazioneAritmetica Aritmetica binariabinaria

La rappresentazione dei datiLa rappresentazione dei dati

3

IntroduzioneIntroduzione

4

Cenni storici Cenni storici −− 11

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 1800−1600 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 logico−matematico (già studiato da Cartesio), ma si cimentarono nella realizzazione di semplici macchine per calcolare

Page 2: Informatica SommarioCon l’invenzione del tubo a vuoto (1904), del tubo a vuoto transistortransistor (1947) e, infine, dei circuiti integrati (1969), l’evoluzione dei circuiti integrati

2

5

Cenni storici Cenni storici −− 22

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 a macchina a schede perforateschede 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 −− 33

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 Recordinng CompanyComputing Tabulating Recordinng Company che, nel 1923, divenne l’International Business MachineInternational Business Machine, o IBMIBM

Con 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 5−6 anni

7

Cenni storici Cenni storici −− 44

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 IMark 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 −− 55

EDSACEDSAC (1949)(1949)ENIAC ENIAC (1946)(1946) Mark IMark I (1948)(1948)

UNIVACUNIVAC (1952)(1952)WhirlwindWhirlwind (1949)(1949) IASIAS (1952)(1952)

Page 3: Informatica SommarioCon l’invenzione del tubo a vuoto (1904), del tubo a vuoto transistortransistor (1947) e, infine, dei circuiti integrati (1969), l’evoluzione dei circuiti integrati

3

9

Cenni storici Cenni storici −− 66

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 −− 77

L’esigenza di realizzare sistemi di elaborazione dotati di più processori operanti in parallelo è stata sentita fin dalla preistoria dell’informatica

In una relazione del 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 reti neuralineurali, capaci di simulare il comportamento del cervello umano, sulla base degli studi di McCulloch e Pitts (1943)

11

Cenni storici Cenni storici −− 88

CDC 6600CDC 6600 (1963)(1963)IlliacIlliac (1955)(1955)

PC IBMPC IBM (1981)(1981)

Portatile e PalmarePortatile e Palmare (2004)(2004)

Cray 1Cray 1 (1976)(1976)

Cray X1Cray X1 (2002)(2002)

12

Che cos’è l’informatica Che cos’è l’informatica −− 11

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

Page 4: Informatica SommarioCon l’invenzione del tubo a vuoto (1904), del tubo a vuoto transistortransistor (1947) e, infine, dei circuiti integrati (1969), l’evoluzione dei circuiti integrati

4

13

Che cos’è l’informatica Che cos’è l’informatica −− 22

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

L’architettura alla L’architettura alla VonVon NeumannNeumann

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 compitoIl programma viene interpretato dall’unità di controllounità di controllo

⇓⇓Modello diModello di VonVon NeumannNeumann

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

Ancora sull’informatica... Ancora sull’informatica...

L’informatica è lo studio sistematico degli algoritmi che L’informatica è lo studio sistematico degli algoritmi che descrivono e trasformano l’informazione: la loro teoria, descrivono e trasformano l’informazione: la loro teoria, analisi, progetto, efficienza, realizzazione (ACM 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

Page 5: Informatica SommarioCon l’invenzione del tubo a vuoto (1904), del tubo a vuoto transistortransistor (1947) e, infine, dei circuiti integrati (1969), l’evoluzione dei circuiti integrati

5

17

Impatto sociale della Impatto sociale della tecnologia informaticatecnologia informatica

18

Vantaggi e svantaggi Vantaggi e svantaggi dell’Information Technologydell’Information Technology

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

19

VantaggiVantaggi −− 11

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

20

VantaggiVantaggi −− 22

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

Page 6: Informatica SommarioCon l’invenzione del tubo a vuoto (1904), del tubo a vuoto transistortransistor (1947) e, infine, dei circuiti integrati (1969), l’evoluzione dei circuiti integrati

6

21

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

22

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)

23

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

24

Banche e pubbliche amministrazioniBanche e pubbliche amministrazioni

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 homehome−−bankingbankingche permettono, ad esempio, la stampa sulla propria stampante personale del proprio estratto contoSmartSmart−−cardcard, 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 smart−card per cellulare

Page 7: Informatica SommarioCon l’invenzione del tubo a vuoto (1904), del tubo a vuoto transistortransistor (1947) e, infine, dei circuiti integrati (1969), l’evoluzione dei circuiti integrati

7

25

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 geo−posizionamento (GPS) ed a particolari sensori di cui può essere dotata l’autovettura, la guida può essere affidata al pilota automatico

26

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 New York TimesTimes pubblicò un libro dal titolo “La La scienza nel ventesimo scienza nel ventesimo secolosecolo”, 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 )

27

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

DigitalDigital DivideDivide è 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 comunicazionee chi invece per ragioni differenti ne è escluso

28

Il Personal ComputerIl Personal Computer

Page 8: Informatica SommarioCon l’invenzione del tubo a vuoto (1904), del tubo a vuoto transistortransistor (1947) e, infine, dei circuiti integrati (1969), l’evoluzione dei circuiti integrati

8

29

Hardware Hardware −− 11

Unita‘di sistema

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

30

Hardware Hardware −− 22

Unità di sistemaUnità di sistema: è il cuore dell’elaboratore, contiene tutti i circuiti elettronici che ne consentono il funzionamento

CaseCase dell’unità di sistemadell’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, i circuiti di controllo, e i connettori che la collegano alle periferiche (peresempio, la tastiera, lo schermo, il mouse)

Tutti i PC sono composti dagli stessi componenti fisiciLa 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

31

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, 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 NortonNorton UtilitiesUtilities)

DatiDati: informazioni interpretate e/o create dai programmi

32

Il sistema operativoIl sistema operativo

Page 9: Informatica SommarioCon l’invenzione del tubo a vuoto (1904), del tubo a vuoto transistortransistor (1947) e, infine, dei circuiti integrati (1969), l’evoluzione dei circuiti integrati

9

33

Il sistema operativo Il sistema operativo −− 11

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 API (ApplicationApplication Program InterfaceProgram Interface)

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

34

Il sistema operativo Il sistema operativo −− 22

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 unSO è installatoEsempiEsempi:

SO SO multimulti−−utenteutente: 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

35

Il sistema operativo Il sistema operativo −− 33

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 debbaessere assegnato a ciascun processo prima del contextcontext−−switchswitchGestisce 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 suglieventuali errori occorsiPrende in carico la gestione di procedure di routine (es., la stampa)

36

I driver di dispositivo I driver di dispositivo −− 11

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

Page 10: Informatica SommarioCon l’invenzione del tubo a vuoto (1904), del tubo a vuoto transistortransistor (1947) e, infine, dei circuiti integrati (1969), l’evoluzione dei circuiti integrati

10

37

I driver di dispositivo I driver di dispositivo −− 22

All’accensione, il bootboot−−strapstrap loaderloader carica il kernel che provvede al caricamento degli opportuni driver dei dispositivi, tra cui quelli per la tastiera, per lo schermo, per il mouse, perle 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

38

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 input−output 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

39

Bit e byteBit e byte

40

Sistemi di numerazioneSistemi di numerazione

Sistemi di numerazione posizionaliposizionali:

La basebase del sistema di numerazioneLe cifrecifre del sistema di numerazione

Il numero è scritto specificando le cifre in ordine, ed il valore 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

Page 11: Informatica SommarioCon l’invenzione del tubo a vuoto (1904), del tubo a vuoto transistortransistor (1947) e, infine, dei circuiti integrati (1969), l’evoluzione dei circuiti integrati

11

41

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,…,B−1; se B>10 occorre introdurre B−10 simboli in aggiunta alle cifre decimali

N = cnBn+cn−1Bn−1+…+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 (cncn−1…c2c1c0)B

N’ = c1B−1+c2B−2+…+cnB−n

cn è la cifra più significativacifra più significativa, c0 la meno significativameno significativa

42

Numeri interi senza segnoNumeri interi senza segno

Con n cifre, in base B, si rappresentano tutti i numeri interi positivi da 0 a Bn−1 (Bn numeri distinti)

EsempioEsempio: base 10

2 cifre: da 0 a 102−1 = 99

000102….9899

EsempioEsempio: base 2

2 cifre: da 0 a 22−1 = 3

00011011

102 = 100 valori

22 = 4 valori

43

Esempi Esempi −− 11

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=1×62+5×61+2×60=36+30+2=(68)10

(512)6=5×62+1×61+2×60=180+6+2=(188)10

Numeri che hanno identica rappresentazione, in basi diverse, hanno valori diversi:

(234)10 ≠ (234)8 , infatti...(234)8 = 2×82 + 3×81 + 4×80 = 2×64 + 3×8 + 4 = 128+24+4 = (156)10

Osservazione:Osservazione: più piccola è la base, minore è il valore del numero rappresentato dalla stessa sequenza di cifre

44

Esempi Esempi −− 22

La notazione posizionale si applica anche per il calcolo del valore dei numeri frazionari, infatti...

(0.872)10 = 8×10−1 + 7×10−2 + 2×10−3

= 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 2n−1, quindi...

per n=1 (con una cifra) si rappresentano 0...21−1 ⇒ 0,1per n=2: 0...22−1 ⇒ 0...3per n=3: 0...23−1 ⇒ 0...7per n=4: 0...24−1 ⇒ 0...15per n=5: 0...25−1 ⇒ 0...31per n=6: 0...26−1 ⇒ 0...63

Effettivamente possiamo verificare che (100100)2=(36)10, infatti...

100100=1×25+0×24+0×23+1×22+0×21+0×20

= 32 + 4 = 36

con 66 cifre necessarie per la codifica del numero in base 2

Page 12: Informatica SommarioCon l’invenzione del tubo a vuoto (1904), del tubo a vuoto transistortransistor (1947) e, infine, dei circuiti integrati (1969), l’evoluzione dei circuiti integrati

12

45

Esempi Esempi −− 33

Quesito:Quesito: Per quale base B risulterà vera l’uguaglianza17 + 41 + 22 = 102 ?

Se i numeri sono rappresentati in base B, sappiamo che:(17)B = 1×B1+7×B0 = B+7(41)B = 4×B1+1×B0 = 4B+1(22)B = 2×B1+2×B0 = 2B+2(102)B = 1×B2+0×B1+2×B0 = B2+2da 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 =

(7−9)/2 = −1

(7+9)/2 = 8 È la È la soluzionesoluzione!!

Non può essere una base

46

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,…,B−1; 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 −− 44

47

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 (binarybinary digitdigit)

EsempiEsempi:

(101101)2 = 1 25 + 0 24 + 1 23 + 1 22 + 0 21 + 1 20 =32 + 0 + 8 + 4 + 0 + 1 = (45)10

(0.0101)2 = 0 2−1 + 1 2−2 + 0 2−3 + 1 2−4 =0 + 0.25 + 0 + 0.0625 = (0.3125)10

(11.101)2 = 1 21 + 1 20 + 1 2−1 + 0 2−2 + 1 2−3 =2 + 1 + 0.5 + 0 + 0.125 = (3.625)10

FormaFormapolinomiapolinomia

48

Un bytebyte è un insieme di 8 bit (un numero binario a 8 cifre)

Con un byte si rappresentano gli interi fra 0 e 28−1 = 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

Page 13: Informatica SommarioCon l’invenzione del tubo a vuoto (1904), del tubo a vuoto transistortransistor (1947) e, infine, dei circuiti integrati (1969), l’evoluzione dei circuiti integrati

13

49

Dal byte ai kilobyteDal byte ai kilobyte

Potenze del 2

Cosa sono i Kb (KilobyteKilobyte), Mb (MegabyteMegabyte), Gb (GigabyteGigabyte) ?

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)

50

Da decimale a binario Da decimale a binario −− 11

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 restoEsempio 1Esempio 1: convertire in binario (43)10

43 : 2 = 21 + 121 : 2 = 10 + 110 : 2 = 5 + 05 : 2 = 2 + 12 : 2 = 1 + 01 : 2 = 0 + 1

resti

bit più significativo

(43)10 = (101011)2

51

Da decimale a binario Da decimale a binario −− 22

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 + 167 : 2 = 33 + 133 : 2 = 16 + 116 : 2 = 8 + 08 : 2 = 4 + 04 : 2 = 2 + 02 : 2 = 1 + 01 : 2 = 0 + 1

(270)10 = (100001110)2

52

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 −− 33

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

Page 14: Informatica SommarioCon l’invenzione del tubo a vuoto (1904), del tubo a vuoto transistortransistor (1947) e, infine, dei circuiti integrati (1969), l’evoluzione dei circuiti integrati

14

53

Da binario a decimaleDa binario a decimale

Oltre all’espansione esplicita in potenze del 2 forma forma polinomiapolinomia…

…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 significativoEsempioEsempio: 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 + 02 x 2 = 4 + 15 x 2 = 10 + 0

10 x 2 = 20 + 121 x 2 = 42 + 1 = 43

(101011)2 = (43)10 54

Aritmetica binaria: addizioneAritmetica binaria: addizione

Le regole per l’addizione di due bit sono

L’ultima regola è… (1)2+(1)2 = (10)2 … (1+1=2)10 !!

0 + 0 = 00 + 1 = 11 + 0 = 11 + 1 = 0 con riporto di 1

EsempioEsempio1 11 101011011+0101101010110101

riporti

181

91+90

55

Aritmetica binaria: moltiplicazioneAritmetica binaria: moltiplicazione

Le regole della moltiplicazione di 2 bit sono

Moltiplicare per 2n corrisponde ad aggiungere n zeri in coda al moltiplicando

0 x 0 = 00 x 1 = 01 x 0 = 01 x 1 = 1

EsempioEsempio1100111 x 1011100111

00000001100111

1000000011

110011 x 10000 = 11001100000000x 16 = 24

56

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 conversione Tabella di conversione binario/ottalebinario/ottale

Tabella di conversione Tabella di conversione binario/esadecimalebinario/esadecimale

0001 1010 0101 = (1A5)16

(421)10 = (110100101)2

110 100 101 = (645)8

Page 15: Informatica SommarioCon l’invenzione del tubo a vuoto (1904), del tubo a vuoto transistortransistor (1947) e, infine, dei circuiti integrati (1969), l’evoluzione dei circuiti integrati

15

57

La rappresentazione dei datiLa rappresentazione dei dati

58

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 −(2n−1−1) e +2n−1−1

EsempioEsempio: con 4 bit si rappresentano i numeri fra −7 (−(23−1)) e +7 (23−1)

0000 +00001 +10010 +20011 +30100 +40101 +50110 +60111 +7

1000 −01001 −11010 −21011 −31100 −41101 −51110 −61111 −7

positivi negativi

59

Numeri in virgola mobileNumeri in virgola mobile

La rappresentazione dei numeri in virgola mobile è, utilizzando la notazione scientificanotazione scientifica (es. 1.2 x 102),…

Singola precisioneSingola precisione

Il valore è(−1)S 1.M × 2E

031 222323 bit8 bit

Mantissa(o Caratteristica)

Segno Esponente

1111101011100000000000000001110

(125.4375)10 = (1111101.0111)2 = .11111010111 × 2760

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

Page 16: Informatica SommarioCon l’invenzione del tubo a vuoto (1904), del tubo a vuoto transistortransistor (1947) e, infine, dei circuiti integrati (1969), l’evoluzione dei circuiti integrati

16

61

Codifica ASCIICodifica ASCII

American Standard Code American Standard Code forfor InformationInformation InterchangeInterchange: 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 hanno codici ordinati secondo l’ordine alfabetico

A 65B 66…….Y 89Z 90

a 97b 98…….y 121Z 122

0 481 49…….8 569 57

cifre maiuscole minuscole

62

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à

63

Caratteri ASCII stampabiliCaratteri ASCII stampabiliDec 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’ = 53−48 = 5)

64

Tabella ASCII estesaTabella ASCII estesa

I codici oltre il 127 non sono compresi nello standard originario

Page 17: Informatica SommarioCon l’invenzione del tubo a vuoto (1904), del tubo a vuoto transistortransistor (1947) e, infine, dei circuiti integrati (1969), l’evoluzione dei circuiti integrati

17

65

Codifica delle immagini Codifica delle immagini −− 11

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

66

Codifica delle immagini Codifica delle immagini −− 22

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” alcuni dei bit che descrivono ciascun pixel

67

Codifica delle immagini Codifica delle immagini −− 33

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 FormatJPEGJPEGPNGPNG − 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)

68

Codifica delle immagini Codifica delle immagini −− 44

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 caratteristicheTecniche lossly:Tecniche lossly: provocano perdite 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