Fondamenti di Informatica – CdL in Ingegneria Gestionale
A.a. 2007/2008 – Prof. Michele Amoretti
Esempi di domande d’esame – 3
La prova d’esame è scritta, dura 2 ore e consiste di alcune domande a risposta aperta sugli
argomenti del corso.
Domanda
Cosa è l’informazione e come viene rappresentata nei calcolatori elettronici?
Risposta
L’informazione è il significato associato a un messaggio (enunciato, testo, immagine, filmato, ecc.).
Il messaggio ha il solo compito di convogliare e rappresentare l'informazione. L’informazione
contenuta in un messaggio è ciò che rimane dopo che è stata eliminata ogni ridondanza
Quest’ultima è un meccanismo di sicurezza: garantisce che una informazione venga ricevuta anche
se il messaggio è stato leggermente danneggiato nel corso di una trasmissione (questo vale per
qualsiasi tipo di comunicazione: vocale, radiofonica, visiva, ecc.).
Shannon ha mostrato che qualsiasi informazione può essere rappresentata come sequenza (stringa)
di simboli 0 e 1 (bit = binary digit), utilizzando cioè un alfabeto binario. Tra persone l’informazione
viene scambiata utilizzando alfabeti più ricchi, a seconda del contesto (esempi di alfabeti sono
quello italiano costituito da 21 simboli, l’insieme dei segnali stradali, ecc.). Un codice è un insieme
di regole che mettono in corrispondenza biunivoca ogni simbolo appartenente ad un alfabeto più
ricco con una stringa di simboli appartenente ad un alfabeto più ridotto. Per codifica si intende il
processo di trasformazione dell’informazione secondo le regole definite da un certo codice. La
decodifica è il processo inverso.
I calcolatori elettronici elaborano informazione codificata in forma binaria (la più semplice di tutte).
Il motivo è di carattere tecnologico: dal punto di vista della progettazione e realizzazione circuitale
è più conveniente elaborare segnali digitali a 2 livelli, piuttosto che segnali digitali a M>2 livelli o
segnali analogici. Nelle memorie dei calcolatori i dati vengono organizzati in celle da 1 byte (8 bit)
ciascuna.
Domanda
Cosa significa “sistema di numerazione posizionale”?
Risposta
Per sistema di numerazione si intende un insieme di simboli e regole atti a rappresentare i numeri.
Nei sistemi di numerazione posizionali ogni cifra (simbolo) assume un valore che dipende dalla
posizione (peso) nella stringa numerica di cui fa parte. Per convenzione la cifra più significativa è
quella più a sinistra.
Il sistema di numerazione posizionale più comune è quello decimale (= in base 10), tanto che i
numeri espressi in tale base hanno anche un corrispondente nome composto da caratteri alfabetici.
Ad esempio 24310 è duecentoquarantatre. Non esiste invece una parola specifica, ad esempio, F316,
che esprime la stessa quantità di 24310, per cui si dice “effe tre in base sedici” oppure lo si converte
in decimale:
F sta per 1510
3 sta per 310
F316  15x161 + 3x160 = 24310
Domanda
Come si converte un numero in base 10 nell’equivalente in base 2?
Risposta
L’algoritmo per convertire un numero da base 10 a base 2 è il seguente:
ripeti
dividere per 2 il numero in base 10
- il resto rappresenta l’i-esima cifra del numero in base 2: ci (i = 0,…,n-1)
- il quoziente è il nuovo dividendo
fino a che l’ultimo quoziente ottenuto non è più divisibile.
Esempio: 9310 
(46,1)
(23,0)
(11,1)
(5,1)
(2,1)
(1,0)
(0,1)  10111012
.
Domanda
Come si rappresentano le informazioni testuali in codice binario? Perché lo standard UNICODE è
meglio dello standard ASCII?
Domanda
Quanto spazio su disco richiede un brano musicale della durata di 3 minuti, se viene campionato
alla frequenza di 50000 campioni al secondo e ciascun campione viene codificato con 32 bit?
Risposta
In 3 minuti ci sono 180 secondi. Il numero totale di campioni ricavati dal brano è dunque
180 x 50000 = 9000000 = 9M (nove milioni).
Lo spazio richiesto su disco è quindi: 9M x 32 bit = 9M x 4 byte = 36MB (trantasei megabyte).
Domanda
Scrivere la tabella della verità della seguente funzione booleana:
Risposta
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
F
0
0
0
1
0
1
0
1
Domanda
Da quali blocchi funzionali è composta una CPU?
Risposta
La CPU (central processing unit) è composta da:
• una unità aritmetica e logica (ALU)
• alcuni registri
F = (A+B) · C
• una unità di controllo
• un bus interno
La ALU è un circuito logico in grado di svolgere operazioni aritmetiche e logiche su uno o più
operandi. La ALU include tra l’altro un sommatore binario (full adder) che serve anche a fare le
sottrazioni nel momento in cui i numeri vengono espressi in complemento a due.
I registri sono insiemi di n identici elementi di memoria (flip-flop), che hanno lo scopo di
immagazzinare temporaneamente dati da elaborare, o altre informazioni utili al funzionamento della
CPU. I registri si dividono in due gruppi: registri generici (general purpose) e registri dedicati. I
primi sono coinvolti in operazioni di vario genere e possono essere utilizzati dagli sviluppatori di
programmi in linguaggio assembly. I registri dedicati, come dice la parola stessa, hanno funzioni
ben precise nell’economia del sistema CPU. Ad esempio il registro PC (program counter) contiene
sempre l’indirizzo (di memoria) della successiva istruzione da eseguire.
L’unità di controllo genera, in base all’istruzione da eseguire, un configurazione particolare dei
segnali che attivano/disattivano le singole parti della CPU. Ad esempio una istruzione di lettura
dalla memoria (LOAD) richiede che i flip-flop del registro AR vengano posti nello stato “lettura”
(perché quel registro contiene l’indirizzo di memoria dei dati), mentre quelli del registro DR
vengano posti nello stato “scrittura” (perché i dati devono essere copiati dalla memoria a DR), e il
resto della CPU non faccia nulla (o quasi).
Il funzionamento della CPU è scandito da un segnale periodico detto “clock” che sincronizza tutti i
blocchi funzionali sopracitati.
Domanda
Che differenza c’è tra repertorio di istruzioni stile CISC e repertorio stile RISC?
Domanda
Quali sono i parametri di valutazione di una memoria?
Domanda
Cosa significa “gerarchia di memoria”?
Domanda
Qual è il vantaggio di avere un bus condiviso, anziché dei bus dedicati?
Domanda
Cosa è il sistema operativo? Cosa significa dire che il sistema operativo è l’allocatore delle risorse
del calcolatore?
Risposta
Secondo la definizione di Tanenbaum, un sistema operativo è un programma che controlla le
risorse di un calcolatore e fornisce ai suoi utenti un'interfaccia o macchina virtuale più agevole da
utilizzare della macchina "nuda". Le risorse del calcolatore sono: il tempo di CPU, lo spazio di
memoria, i dispositivi di I/O, ecc. Gestione delle risorse significa:
- tenere traccia delle risorse
- adottare strategie di assegnazione
- allocare le risorse
- recuperare le risorse inutilizzate
- rilevare eventuali usi impropri
Il sistema operativo è un allocatore di risorse perché decide quando assegnare le risorse ai processi
attivi che le richiedono.
Domanda
Cosa è un processo? Quali sono i possibili stati di un processo?
Domanda
Che differenza c’è tra monoprogrammazione e multiprogrammazione?
Domanda
Cosa è una rete LAN?
Risposta
Una rete LAN (Local Area Network) connette dispositivi hardware come computer, stampanti e
periferiche di memorizzazione tutti vicini tra loro. Esempi di LAN sono l’interconnessione di
macchine in un locale, nello stesso edificio o in un campus universitario. Un’importante
caratteristica delle LAN è che il proprietario dei computer è anche il proprietario dei mezzi di
comunicazione (cavi, schede di rete, access point, ecc.).
Domanda
Cosa è Internet?
Risposta
Internet è la più grande rete telematica mondiale. Creata negli anni sessanta come progetto del
dipartimento della difesa statunitense per lo sviluppo di una rete di computer decentrata (wide area
network, WAN), alla fine della guerra fredda è stata messa a disposizione di impieghi civili,
collegando dapprima i principali centri universitari e raggiungendo poi, in modo ampio, l'utenza
aziendale ed infine quella domestica. Utenti privati, aziende, enti pubblici, ecc. accedono a Internet
collegandosi (a pagamento) alle WAN di proprietà di alcune aziende chiamate Internet Service
Provider (ISP). Internet è quindi una WAN data dall’insieme di sottoreti di tipo WAN che
comprendono a loro volta LAN e singole utenze. La connessione tra singoli utenti, LAN e WAN
avviene per mezzo di dispositivi chiamati router (smistatori di traffico).
Domanda
Cosa è un protocollo di rete?
Risposta
Un protocollo di rete è una serie di regole, convenzioni e accordi condivisi per lo scambio efficiente
e ordinato di informazioni tra nodi di una rete telematica. Il processo di standardizzazione dei
protocolli di Internet è gestito dalla Internet Society, con i sottocomitati IAB (Internet Architecture
Board) e IETF (Internet Engineering Task Force). I protocolli di Internet sono organizzati in una
gerarchia a 5 livelli, detta stack (pila) protocollare TCP/IP, dai nomi di due dei protocolli più
importanti. Dal livello più basso a quello più alto:
1. livello fisico
2. livello di collegamento
3. livello di rete
4. livello di trasporto
5. livello di applicazione
Domanda
Cosa riguarda il livello di trasporto nello stack protocollare TCP/IP?
Risposta
I protocolli del livello di trasporto (livello 4) realizzano un servizio di recapito dei messaggi tra
programmi (applicazioni). I messaggi del livello di applicazione (livello 5), a livello di trasporto
vengono frammentati in pacchetti (la cui lunghezza può anche non essere sempre uguale, dipende
dal protocollo di trasporto).
Di seguito vengono riportati i servizi che possono venire offerti da un protocollo del livello di
trasporto; è bene ricordare che nessuno di tali servizi è obbligatorio. Di conseguenza, per ciascuna
applicazione è possibile scegliere il protocollo di trasporto più adatto allo scopo.
•
•
•
•
•
•
•
Servizio orientato alla connessione
Corretto ordine di consegna dei pacchetti
Trasferimento affidabile
Controllo di flusso
Controllo di congestione
Orientamento al byte
Multiplazione
I principali protocolli di trasporto sono TCP e UDP. TCP è il più complicato fra i due e fornisce un
servizio orientato alla connessione e al byte, con verifica del corretto ordine di consegna, controllo
di errore e di flusso. Il nome è un acronimo per Transmission Control Protocol. UDP, invece, è un
protocollo più snello e fornisce un servizio senza connessione, con un meccanismo di riduzione
degli errori e con porte multiple. Il nome è un acronimo per User Datagram Protocol.
Domanda (difficile)
Che cosa significa “servizio orientato alla connessione”?
Risposta
Nel livello di rete un messaggio viene suddiviso in pacchetti, per essere inviato ad un host
destinatario. In un servizio servizio senza connessione (connectionless) il pacchetto viene spedito
con l'indirizzo del mittente e del ricevente, seguendo un percorso indipendentemente dagli altri
pacchetti. Ciascun pacchetto segue il percorso stabilito di volta in volta dal router che sta
attraversando, che può cambiare in ogni momento per evitare router inattivi oppure congestioni su
specifiche tratte della rete. In un servizio orientato alla connessione, invece, la scelta del routing
viene fatta in anticipo, in fase di setup (si parla di circuito virtuale). In tal caso ciascun pacchetto
non reca con sé l’indirizzo del destinatario ma l’identificatore del circuito virtuale, e viene
propagato dai router in base a questo identificatore.
In un servizio senza connessione se un router dovesse subire un guasto, ciascun datagramma
verrebbe indirizzato su altri router, mentre se cadesse un router di un circuito virtuale, si
interromperebbe anche la connessione.
TCP è orientato alla connessione, UDP invece no.