caricato da postainfoarusso

20200430-SO IEEE754 (1)

Cognome: _______________
Classe: _______________
Data: _______________
3AI - Verifica di TPSI del 30-04-2020
La seguente verifica DEVE ESSERE SVOLTA SINGOLARMENTE e consegnata entro 60 minuti
dalla sua assegnazione.
Gli studenti Depetris, Ferretti, Florea, Fortunato e Russo avranno 80 minuti di tempo per
effettuare la consegna.
Visti i possibili problemi di connessione il file dovrà essere scaricato da parte di ogni studente
e completato in modalità offline usando un computer. Una volta completata, la verifica dovrà
essere caricata su classroom. Nel caso di problemi potrà anche essere spedita tramite e-mail
all'indirizzo della docente [email protected]
NON DOVRETE ASSOLUTAMENTE INVIARE FOTOGRAFIE DELLA VERIFICA, spedite il file
completo delle vostre risposte.
L’intervallo dei voti è [1-10] e il punteggio indicato fra parentesi indica il massimo punteggio
assegnabile alla risposta. La sufficienza si raggiunge totalizzando 7,2 punti su 12 punti totali.
Per l’assegnazione dei punti saranno considerati i seguenti criteri:
 aderenza alla traccia;
 correttezza logica e completezza delle risposte;
 correttezza grammaticale e lessicale delle risposte.
1. [PUNTI 2] Elencare e spiegare quali sono le operazioni che vengono eseguite
all’accensione di un PC.
Le operazione che vengono eseguite all’accensione del pc sono,L’avvio del bootstrap,
memorizzato nella memoria rom(Memoria a solo lettura). Viene caricato successivamente il
boot a partire da un indirizzo che assume il controllo della CPU. Ogni componente hardware
manda in esecuzione un programma di autodiagnostica chiamato POST che verifica il
corretto funzionamento del dispositivo.
L’hardware è predisposto per fare il caricamento del boot (i processori a 32 bit caricano la
prima istruzione dall’indirizzo esadecimale 0xFFFFFFF0 di quello che si chiama IPL(Initial
Program Loader).
2. [PUNTI 1] Spiegare qual è la funzione generale del Sistema Operativo.
Il sistema operativo svolge 2 compiti:
è il gestore delle risorse hardware (CPU , memoria,periferiche) che vengono usate da specifici
programmi per eseguire il proprio compito;
fornisce il supporto all’utente per impartire i comandi necessari al funzionamento del
computer, cioè fa da interfaccia tra l’hardware e il software applicativo.
3. [PUNTI 1] Spiegare dettagliatamente cosa identificano i termini programma e processo.
Il programma è un insieme di byte contenente le istruzioni che dovranno essere eseguite Il
processo è un’entità attiva, che evolve man mano che le istruzioni vengono eseguite dalla
CPU.
4. [PUNTI 2] Si elenchino e si descrivano gli stati di un processo indicando anche le azioni
di transizione che causano il cambio di stato.
Gli stati di un processo sono:
1. Nuovo(new):
1 di 3
è lo stato in cui si trova un processo appena è stato creato, cioè
l’utente richiede l’esecuzione di un programma che risiede sul disco.
2. Esecuzione(running):
è lo stato in cui il processo evolve, e la cpu svolge le istruzioni indicate.
3. Attesa(waiting):
Un processo è nello stato di attesa quando gli manca una risorsa per
poter evolvere e quindi sto aspettando che si verifichi un evento.
4. Pronto(ready-to-run):
Un processo è nello stato di pronto se ha tutte le risorse necessarie
alla sua evoluzione tranne la CPU.
5. Finito(terminated):
Siamo nella situazione in cui tutto il codice del processo è stato
eseguito e quindi ha terminato l’esecuzione.
5. [PUNTI 2] Si spieghi qual è la funzione del Process Control Block (PCB).
La funzione del Process control Block è mantenere alcune informazioni dei processi (cosa sta
facendo il processo) , questo prende il nome di descrittore del processo ed è memorizzato
nel process control block.
6. [PUNTI 2] Considerando l'immagine di lato che mostra la struttura
della memoria di un processo, si descriva brevemente la funzione di
ogni segmento.
Stack: Lo scopo primario è immagazzinare gli indirizzi di ritorno e
salvarli da qualche parte per non perderli.
Heap: L’Heap è una allocazione dinamica della memoria, in informatica,
si intende l'allocazione di memoria per l'utilizzo di
un programma durante la propria esecuzione.
uninitialized data segments (bss): tutte le variabili inizializzate dal
kernel a zero o NULL prima dell’esecuzione. long sum[1000] fuori
da funzioni è memorizzato qui.
text segments: Rappresenta le istruzioni eseguite dalla Cpu (solo
lettura)
(initialized) data segments: contiene variabili che sono
specificamente inizializzate nel programma. La dichiarazione int
count = 0; fuori da funzioni, causa la memorizzazione in questa sezione.
7. [PUNTI 2] Convertire nel corrispondente numero decimale frazionario il numero
esadecimale 0x3F950000, che rappresenta un numero in codifica standard IEEE-754 a
32 bit. Si mostrino tutti i passaggi di conversione.
2
[IEEE-754] (0x3F950000)16 = (...)10
IEEE-754: (0 01111111 00101010000000000000000)2
Segno: 0 = +
Esponente: (
-127 = 0
Numero: (-1)0 * 1,0010101
(1.0010101)2
Base 10: (1.1640625)10
3