Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Informatica A-L 2023/2024, Dispense di Fondamenti di informatica

dispense di informatica con Manini 2023-2024

Tipologia: Dispense

2023/2024

Caricato il 15/10/2024

alessandra-grigore
alessandra-grigore 🇮🇹

5 documenti

1 / 32

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
Informatica
Anno Accademico 2023/2024
LIN0016
Docente: Daniele Manini
Rappresentazione delle informazioni
I computer non elaborano solamente numeri, bensì anche testi, immagini, suoni, filmati... È sufficiente che
l’informazione sia rappresentabile in modo digitale.
Tipi di segnale
Segnali analogici à sono costituiti da un insieme continuo di valori, trasmettono molte informazioni
e sono sensibili alle interferenze (es. il variatore di luminosità).
Segnali digitali à sono costituiti da un insieme discreto di valori, ad esempio due stati semplici da
distinguere (es. l’interruttore on/off). A differenza dell’analogico, il digitale è più semplice, non
ambiguo (non sensibile, dunque, alle interferenze) e riproducibile senza errori.
Il bit (binary digit=cifra binaria)
Il segnale binario è un segnale discreto su due valori; è semplice e può rappresentare (quasi) ogni
informazione.
Il bit è l’elemento di base per rappresentare le informazioni.
Un bit può assumere due valori (0 e 1), quindi con un bit possiamo rappresentare due informazioni.
Come fare per rappresentare più di due informazioni usando i bit? Combiniamo più bit per rappresentare
ogni informazione à 2 bit = 4 informazioni: 00, 01, 10, 11.
Se abbiamo K informazioni, dobbiamo utilizzare un numero di bit sufficiente per esprimerle tutte, per cui
dobbiamo scegliere N in modo che 2N (N all’apice) sia maggiore o uguale a K.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20

Anteprima parziale del testo

Scarica Informatica A-L 2023/2024 e più Dispense in PDF di Fondamenti di informatica solo su Docsity!

Informatica

Anno Accademico 2023/ 2024

LIN

Docente: Daniele Manini

Rappresentazione delle informazioni I computer non elaborano solamente numeri, bensì anche testi, immagini, suoni, filmati... È sufficiente che l’informazione sia rappresentabile in modo digitale. Tipi di segnale

  • Segnali analogici à sono costituiti da un insieme continuo di valori, trasmettono molte informazioni e sono sensibili alle interferenze (es. il variatore di luminosità).
  • Segnali digitali à sono costituiti da un insieme discreto di valori, ad esempio due stati semplici da distinguere (es. l’interruttore on/off). A differenza dell’analogico, il digitale è più semplice, non ambiguo (non sensibile, dunque, alle interferenze) e riproducibile senza errori. Il bit (binary digit=cifra binaria) Il segnale binario è un segnale discreto su due valori; è semplice e può rappresentare (quasi) ogni informazione. Il bit è l’elemento di base per rappresentare le informazioni. Un bit può assumere due valori (0 e 1), quindi con un bit possiamo rappresentare due informazioni. Come fare per rappresentare più di due informazioni usando i bit? Combiniamo più bit per rappresentare ogni informazione à 2 bit = 4 informazioni: 00, 01, 10, 11. Se abbiamo K informazioni, dobbiamo utilizzare un numero di bit sufficiente per esprimerle tutte, per cui dobbiamo scegliere N in modo che 2N (N all’apice) sia maggiore o uguale a K.

Se devo esprimere 61 info, 5 bit non sono sufficienti, in quanto 22222=32 à 32<61, dunque occorrono almeno 6 bit, in quanto 22222*2=64 à 64>61. Il byte 8 bit formano 1 byte, cioè 256 info diverse. Il byte viene utilizzato, insieme al bit, come unità di misura per esprimere la capacità della memoria , la potenza di un calcolatore , la velocità di trasmissione di una linea. Rappresentazione dei numeri tramite i bit Distinzione tra numero e numerale: “ numero ” è il concetto che rappresenta una quantità, mentre “ numerale ” indica il simbolo che rappresenta una quantità. Il sistema di numerazione decimale Con l’aggettivo decimale facciamo riferimento a un alfabeto di 10 cifre di base (da 0 a 9). 245 = 2 centinaia, 4 decine e 5 unità La potenza di 10 da considerare dipende dalla posizione della cifra. La notazione posizionale : la posizione di una cifra in un numerale indica il suo peso in potenze di 10. Il sistema di numerazione binario Con l’aggettivo “binario”, si fa riferimento a un alfabeto di 2 cifre di base, cioè 0 e 1; il numero di cifre coincide con il numero di bit. In questo caso la notazione posizionale: la posizione di una cifra in un numerale indica il suo peso in potenze di 2.

La rappresentazione dei caratteri Per rappresentare i caratteri, occorre stabilire una convenzione per la corrispondenza tra configurazione di bit e carattere: il codice ASCII. Questo codice usa i 7 bit meno significativi di 1 byte, dunque 128 diversi caratteri rappresentabili. Esso rappresenta, oltre ad altri caratteri, le lettere dell’alfabeto maiuscole e minuscole, le cifre e i segni di punteggiatura. Nel codice ASCII le lettere maiuscole hanno associato un codice più piccolo delle lettere minuscole, di conseguenza, se chiediamo a un computer di ordinare alfabeticamente (lessicograficamente) le parole “abete” e “Zacinto”, le metterà in quest'ordine: Zacinto, abete. Il classico codice ASCII è insufficiente per rappresentare i segni diacritici come le lettere accentate e per questo motivo è stato creato un codice ASCII esteso, che si serve di 8 bit, dunque di 256 caratteri.

La decodifica ASCII A partire da una sequenza di bit in codice ASCII, si vuole conoscere la rappresentazione in caratteri, dunque si divide la sequenza in gruppi di 8 bit (ogni gruppo è un byte): 01101001 01101100 00100000 01010000 01101111 00101110 à IL PO. La codifica ASCII dei numeri Le cifre da 0 a 9 rappresentate in ASCII sono caratter i (simboli) e non quantità numeriche, quindi NON possono essere utilizzate per rappresentare quantità da utilizzare in calcoli aritmetici. Di conseguenza, se chiediamo al computer di ordinare alfabeticamente (lessicograficamente) le stringhe (sequenze di caratteri) “3” e “20431”, le metterà in quest'ordine: 20431 e 3. La codifica delle immagini Vi sono varie tecniche utilizzate per memorizzare in modo digitale un’immagine e poi elaborarla. Ogni quadrato derivante da tale suddivisione viene chiamato pixel (picture element) e può essere codificato in binario con la convenzione che:

  • 0 rappresenta un pixel bianco (ovvero in cui il bianco è predominante)
  • 1 rappresenta un pixel nero (ovvero in cui il nero è predominante)

La codifica dei suoni

  • Il suono è uno dei mezzi principali di comunicazione.
  • Anche i suoni possono essere codificati in digitale.
  • Un suono è un’onda di pressione che si ha in presenza di un mezzo (l’aria, l’acqua).
  • Quando un suono viene rilevato dall’orecchio o da un microfono, viene trasformato in uno stimolo, o segnale, elettrico.
  • Durata, intensità e variazione nel tempo della pressione dell'aria sono le quantità fisiche che rendono un suono diverso da ogni altro. Per passare da una rappresentazione analogica a una digitale, si effettuano dei campionamenti sull’onda (cioè si misura il valore dell’onda a intervalli costanti di tempo) e si codificano in forma digitale le informazioni (numeriche) estratte da tali campionamenti. Analogamente alle immagini, maggiore è la frequenza dei campionamenti, migliore sarà la precisione con cui il segnale viene memorizzato e la fedeltà all’originale. Struttura dei sistemi di calcolo Tipi di calcolatori
  • Computer multiutente (multiuser) o supercomputer : i più potenti, basati su centinaia o migliaia di processori che lavorano in parallelo;

o mainframe e server : svolgono funzioni centralizzate; ad essi sono collegati altri computer o terminali; o minicomputer : simili a mainframe, ma meno potenti; o terminali : postazioni senza capacità di elaborazione, devono essere collegati a un server.

  • Personal computer o desktop e workstation o notebook o tablet o smartphone L’hardware Funzioni di base di un elaboratore:
  • elaborare l’informazione à usando il processore (Central Processing Unit, CPU ).
  • memorizzare l’informazione à usando la memoria principale ( RAM ) o la memoria secondaria.
  • eseguire input/output dell’informazione à usando i dispositivi di input/output.
  • Le celle sono numerate in sequenza (indirizzo).
  • Lo spazio di indirizzamento è l’insieme o il numero delle celle indirizzabili direttamente.
  • Il numero di celle indirizzabili è una potenza di 2:
    • con 16 bit si indirizzano 2^16 = 65.536 celle
    • con 32 bit si indirizzano 2^32 = 4.294.967.296 celle ...
  • numero di celle indirizzabili = numero di informazioni rappresentabile con un certo numero di bit. L’unità di misura della memoria è il byte; si usano dei multipli:
  • Kilobyte (KB) = 1024 byte (210 byte).
  • Megabyte (MB) = 1024 KB (220 byte).
  • Gigabyte (GB) = 1024 MB (230 byte). Quindi:
  • con 16 bit si indirizzano 64 KB di memoria.
  • con 32 bit si indirizzano 4 GB di memoria. La dimensione tipica della RAM nei Personal Computer è: 1 GB, 2 GB, 4 GB (una volta gli elaboratori più potenti avevano 64 KB!). La memoria è espandibile fino a un limite fisico ( slot sulla scheda madre per ospitare i chip di memoria ) e ha anche un limite massimo dovuto al sistema. Un sistema operativo (con relativa CPU) a:
  • 32 bit indirizza 2^32 byte, quindi al massimo 4 GB di memoria.
  • 16 bit indirizza 2^16 byte, quindi al massimo 64 KB di memoria.
  • 64 bit indirizza 2^64 byte, quindi al massimo 16 Exabyte à circa 16 miliardi di miliardi di byte. La RAM
  • Random Access Memory (RAM): memoria ad accesso casuale Perché si chiama “ad accesso casuale”?
  • Si può accedere direttamente alle varie celle, una volta noto il loro indirizzo.
  • Il tempo necessario per accedere ad una cella è lo stesso, indipendentemente dalla posizione della cella nella sequenza.
  • Il termine “random” (casuale) indica proprio il fatto che non vi sono differenze nell’accesso alle varie celle della memoria.
  • La RAM è veloce à il tempo di lettura/scrittura di una cella è compreso tra 5 e 30 nanosecondi.
  • La RAM è volatile à formata da componenti elettronici, se viene tolta l’alimentazione, anche per un breve periodo di tempo (frazioni di secondo), tutto ciò che contiene viene perso (e la macchina deve ripartire).
  • La RAM è relativamente costosa. La ROM
  • Read-Only Memory , memoria in sola lettura
  • Non può essere modificata (a meno che non sia di un tipo particolare, EPROM).
  • Non è volatile.
  • Veloce quasi quanto la RAM.
  • Solitamente usata per memorizzare programmi e dati necessari all’avvio dell’elaboratore.
  • programmi di bootstrap (avvio dell’elaboratore)
  • configurazione del sistema Memoria cache Ha le stesse proprietà della RAM, ma:
  • più veloce (ma più piccola e costosa) della RAM;
  • localizzata tra la CPU e la RAM;
  • memorizza i dati di uso più frequente, evitando alla CPU di doverli recuperare tutte le volte dalla RAM;
  • influisce pesantemente sulle prestazioni e sul costo della CPU;
  • le dimensioni tipiche sono 512 KB, 1 MB, 2 MB. La CPU Esegue i programmi scritti in linguaggio macchina
  • Tutti i programmi, anche Word, Excel, ... internamente sono codificati in LM;
  • I programmi sono sequenze di istruzioni in LM;
  • È formata da: o Control Unit à è la parte più importante del processore. Esegue le istruzioni dei programmi, coordina le attività del processore, controlla il flusso delle istruzioni tra il processore e la memoria. Tuttavia, NON ha il compito di controllare il risultato delle istruzioni! o Arithmetic Logic Unit à Esegue le operazioni di tipo aritmetico (ad es. somme) e logico (ad es. confronti), preleva gli operandi dai registri e deposita il risultato delle operazioni in uno (o più) registri. o Registri à sono piccole celle di memoria con tempi di accesso molto più bassi rispetto alla memoria primaria; essi mantengono le informazioni necessarie per eseguire l’istruzione corrente e hanno dimensione di 16, 32 o 64 bit (da cui CPU a 16, 32 o 64 bit). Sono in numero molto limitato (10, 20, 64 o 128), visto che sono all’interno della CPU. Si dividono in registri generali e speciali. Il set di istruzioni
  • dimensione (lunghezza e/o superficie) del supporto
  • densità di memorizzazione Velocità Il tempo che occorre per leggere le informazioni da un supporto dipende da:
  • tempo di accesso: tempo impiegato per iniziare a leggere i dati
  • velocità di trasferimento: velocità con cui i dati vengono effettivamente trasferiti in RAM Supporti di memorizzazione L’hard disk
  • Tecnologia magnetica (non tutti).
  • La memoria secondaria più diffusa.
  • Dimensioni piccole, elevate capacità.
  • Struttura
  • pila di dischi in rotazione
  • testine mobili
  • perno centrale

I cluster

  • I blocchi (o cluster) sono l’unità minima di memorizzazione.
  • Hanno tutti la stessa capacità (in un dato disco).
  • Ogni file occupa come minimo un blocco (più di uno se supera la capacità).
  • Un blocco non può essere occupato da più di un file. Backup dei dati/file
  • Backup = Copia di tutti o di parte dei dati/file su altri supporti (ad es., su CD, DVD, hard disk esterni, siti web).
  • Se i dati/file vengono spostati e non copiati, non si è effettuato un backup: i dati/file sono comunque a rischio.
  • Operazione costosa in termini di tempo e di spazio, ma necessaria.
  • Conservazione in luoghi fisicamente distanti.

Il software non è altro che un insieme di programmi che permettono di trasformare un insieme di circuiti elettronici in un oggetto in grado di svolgere funzioni di varia natura (logica e fisica). Occorre fornire all’utente un meccanismo per:

  • astrarre dall’organizzazione fisica per:
    • usare nello stesso modo (o in modo simile) macchine (hardware) diverse
    • avere un semplice linguaggio di interazione
    • avere un insieme di programmi applicativi per svolgere diversi compiti: elaborare testi, navigare in Internet, ecc. Il sistema operativo Il sistema operativo è l'insieme dei programmi che interagiscono e cooperano tra di loro per:
  • gestire efficientemente il computer e le sue periferiche
  • creare un ambiente virtuale per facilitare l'interazione uomo- macchina Il bootstrap Bootstrap = Avvio dell’elaboratore Primo problema:
  • La CPU esegue esclusivamente programmi in memoria principale
  • RAM volatile à vuota quando si accende il computer Come fare?

Prima soluzione à mettere i programmi in memoria secondaria.

Secondo problema:

  • Per caricare i programmi da memoria secondaria usiamo il file system (cioè il sistema operativo)
  • Ma il S.O. risiede in RAM à RAM volatile à vuota quando si accende il computer Come fare? Seconda soluzione à usiamo un piccolo programma (BIOS), molto semplice, che ha il compito di caricare la prima parte del S.O. dalla memoria secondaria. Terzo problema:
  • La CPU esegue esclusivamente programmi in memoria principale
  • RAM volatile à vuota quando si accende il computer Come fare? Terza soluzione à memorizziamo il BIOS in una parte della memoria principale non volatile: la ROM. Funzioni svolte dal sistema operativo
  • Accensione e configurazione della macchina (bootstrap).
  • Gestione del processore.
  • Gestione della memoria (principale e virtuale).
  • Linguaggio ad alto livello per l’interazione con l’utente.
  • Gestione e accesso alle informazioni su memoria secondaria (File system). Il File System è quella parte del sistema operativo che si occupa di gestire e strutturare le informazioni memorizzate su

supporti di memoria secondaria (ad es. su hard disk, CD, DVD...); le operazioni di base supportate dal File System sui dati memorizzati sono la lettura/scrittura, la cancellazione, la modifica e la copia. I dati della memoria secondaria vengono strutturati e gestiti mediante l’organizzazione in file. Si noti che:

  • quando si cancella un file, rimangono pagine “vuote”;
  • quando si modifica un file, la nuova versione potrebbe essere più corta o più lunga:
    • se più corta: rimangono pagine vuote;
    • se più lunga: la modifica potrebbe essere impossibile (perché c’è un file contiguo);
  • Come risolvere questi problemi?

Soluzione: utilizzo di un indice à le pagine vengono numerate (come per i libri) à l’indice

contiene, nell’ordine, i numeri delle pagine dei file Vantaggi:

  • le pagine possono essere aggiunte, spostate, cancellate senza sprechi di spazio, senza limitazioni di dimensioni dei file
  • L’indice è memorizzato sul dispositivo di memoria secondaria
  • Contiene i nomi dei file e le pagine (cluster) associate
  • L’utente può conoscere i nomi dei file memorizzati leggendo l’indice
  • Il file system usa l’indice per:
    • reperire i cluster che compongono i file
    • trovare lo spazio libero per nuovi file Per l’esempio vedi p.56&next sulle slide SO e SW COMPLETATI Memoria virtuale
  • Tecnica di gestione della memoria utilizzata da tutti i sistemi operativi moderni
  • Permette di “fare credere” ai singoli programmi di avere a disposizione una quantità di memoria più grande di quella effettivamente installata e contigua
  • Per questo si chiama memoria virtuale

Distinzione tra informazione e dati:

  • Dati = elementi di informazione, di per sé non hanno interpretazione § Mario Rossi à nome e cognome § 10150 à numero matricola? Numero di abitanti di una città? CAP? Numero di telefono?
  • Dati + interpretazione = informazione o Domanda: “Chi è il responsabile dell’ufficio tecnico e qual è il suo numero di telefono?” → interpretazione della risposta o Risposta: Mario Rossi, 10150 → dati o Domanda + risposta (cioè interpretazione + dati): informazione
  • Nei sistemi informatici, le informazioni vengono rappresentate per mezzo di dati. DATI E APPLICAZIONI
  • I dati possono variare nel tempo anche molto frequentemente (per esempio, l’importo del conto corrente), ma la struttura con cui i dati sono rappresentati in un sistema sono di solito stabili (per esempio di solito una valuta è un numero con due cifre decimali).
  • Le procedure che agiscono sui dati variano spesso (per esempio, riorganizzazione di una banca, nuovi prodotti...) à separare i dati dalle applicazioni che operano su essi È, quindi, utile separare i dati dalle applicazioni che operano su essi: quando una procedura sostituisce un’altra, la nuova procedura opera sugli stessi dati. I dati costituiscono una risorsa pregiata di un’organizzazione, un patrimonio significativo. “Magazzini” di dati à un DB è un grande insieme di dati organizzati e memorizzati in forma strutturata e omogenea Strutturata: es. anagrafe: nome, cognome, data di nascita, ... Omogenea: es. anagrafe: per ogni persona mantengo le stesse informazioni. DB gestiti da DBMS (DataBase Management System, sistema di gestione di basi di dati) VANTAGGI DEI DBMS
  • Controllo centralizzato dei dati o Riduzione di ridondanze e incoerenze
  • Indipendenza dei dati o Sviluppo di applicazioni flessibili e modificabili SVANTAGGI DEI DBMS
  • Complessi, costosi, hanno specifici requisiti in termini di software e hardware;
  • Difficile separare servizi utili da quelli inutili;
  • Inadatti alla gestione di poche informazioni condivise da un numero basso di utenti. Un DBMS gestisce insiemi di dati:
  • Grandi: un DB può avere dimensione di Terabyte à DBMS deve gestire dati su memoria secondaria;
  • Persistenti: i dati hanno un tempo di vita che non è limitato a quello delle singole esecuzioni delle applicazioni;
  • Condivisi: i dati di un DB devono essere condivisibili da più utenti che utilizzano varie applicazioni (es. azienda con magazzino) L’accesso deve essere svolto secondo opportune modalità. Garantendo:
  • Affidabilità: il DBMS garantisce il contenuto del DB in caso di malfunzionamenti hardware o software à i DBMS danno backup e recovery;
  • Privatezza: gli utenti svolgono solo determinate azioni sui dati, con meccanismi di autorizzazione à Es. biblioteca:

a. il lettore ha diritto di lettura e ricerca dei dati, ma non di modifica/inserimento b. il bibliotecario ha diritto di modificare i dati: aggiunge/ dismette libri e segna i prestiti;

  • Efficienza: le operazioni devono essere svolte in tempi accettabili per l’utente (molto brevi!) nonostante la grande mole di dati à quindi, i DBMS cercano di utilizzare al meglio le risorse di spazio di memoria (principale e secondaria) e tempo (di esecuzione e di risposta);
  • Efficacia: cercano di rendere produttiva l’attività dell’utente, offrendo funzionalità articolate, potenti e flessibili. La condivisione permette di evitare ridondanza e incoerenza
  • Ridondanza: informazioni ripetute
  • Incoerenza: errori di “allineamento” dei dati à se i dati fossero ripetuti, sarebbe necessario mantenere “allineate” le varie copie UTENTI DEL DATABASE
  • L’ amministratore della base di dati ( database administrator, DBA ) è il responsabile della progettazione, controllo e amministrazione della base di dati;
  • Progettisti e programmatori di applicazioni;
  • Utenti. MODELLI LOGICI DEI DATI Modello relazionale (fine anni ‘70) = struttura a tabelle à per es. Microsoft Access.
  • Basato sul concetto di relazione e di tabella (concetti di natura diversa ma riconducibili l’uno all’altro);
  • Relazione = rappresentazione di un’entità complessa tramite attributi;
  • Graficamente, una relazione può essere rappresentata da una tabella: o Colonna = attributo (oppure campo) o Riga = valore degli attributi di un individuo appartenente all’entità
  • Le entità (i fatti) compongono le righe (record).
  • Le caratteristiche delle entità sono le (intestazioni delle) colonne (attributi).
  • Il valore di un attributo per una specifica entità compone le celle (campi).
  • Tutti i record di una tabella hanno lo stesso formato , cioè gli stessi attributi.