• Non ci sono risultati.

YYY02 Esercizi per Teoria

N/A
N/A
Protected

Academic year: 2021

Condividi "YYY02 Esercizi per Teoria"

Copied!
9
0
0

Testo completo

(1)

YYY02 Esercizi per Teoria

Esercizi per preparazione alla prova scritta

(2)

In linguaggio ANSI C, siano dichiarate le seguenti variabili, e siano queste variabili debitamente inizializzate:

pthread_mutex_t mutex;

pthread_cond_var cond;

considerare poi la seguente porzione di codice, in cui condizione sia una espressione da valutare:

while ( condizione ) {

pthread_cond_wait( &cond, & mutex );

}

fai_qualcosa();

La porzione di codice, sopra riportata, effettua busy-waiting ?

(3)

Esercizio YYY02_02

Una stessa struttura dati ha la stessa dimensione in tutti i processori? Perche' ?

Esercizio YYY02_03

In un programma in C scrivo, in una funzione dichiaro un vettore di elementi, in cui gli elementi sono un tipo di struttura dati struct A. Guardando come viene collocato in memoria quel vettore, puo' accadere che tra un elemento ed il successivo, dello stesso vettore, ci siano dei byte non occupati dalla struttura dati di tipo struct A? Perche'?

Esercizio YYY02_04

In linguaggio C, se un programma e' costituito da piu' moduli, e' possibile che una stessa funzione (cioe' una funzione con stesso nome, stessi tipi di argomenti e stesso tipo di dato restituito) sia implementata in due diversi moduli senza che questo provochi un errore nella generazione del programma eseguibile? Perche' ?

Esercizio YYY02_05

La seguente istruzione si trova nella funzione main di un modulo scritto in C.

ris = PRODOTTO ( 3 - 4 , SOMMA ( 2 , 7 ) );

Precedentemente, nello stesso file, le due macro sono state cosi' definite:

#define PRODOTTO( X, Y ) ( (X)*(Y) )

#define SOMMA( X , Y ) ( (X)+(Y) )

Se quel modulo viene processato dal preprocessore del compilatore gcc, in che modo viene tradotta quella istruzione dal preprocessore ?

(4)

Supponiamo di inserire le seguente due istruzioni, in un modulo scritto in C, in una zona fuori da tutte le funzioni del modulo;

#define NUM 10 int vet [ 10 ];

Se quel modulo viene processato dal preprocessore del compilatore gcc, in che modo viene tradotta quella istruzione dal preprocessore ?

Esercizio YYY02_07

Spiegare cosa si intende con Race Condition.

Esercizio YYY02_08

Spiegare cosa si intende quando si dice che una sequenza di istruzioni viene eseguita in maniera "atomica".

Esercizio YYY02_09

Quando un processo esegue una fork, le sue pagine di memoria vengono immediatamente duplicate Un Task puo' avere piu' stack a sua disposizione? Perche' si o perche' no ?

Esercizio YYY02_10

Spiegare come dovrebbe funzionare l' "algoritmo ottimale" di sostituzione delle pagine.

(5)

Esercizio YYY02_11

Spiegare come funziona l' algoritmo "Least Recently Used (LRU)" di sostituzione delle pagine.

Esercizio YYY02_12

Consideriamo una finestra del working set di ampiezza 6,

e consideriamo un un programma che accede alle proprie pagine in questa sequenza, 3 5 7 2 8 5 6 5 4 5 6 7 1 5 6 4.

Supponiamo ora che sia stata appena acceduta l'ultima pagina della sequenza indicata.

Indicare qual'e' il working set.

Esercizio YYY02_13 Che cos'e' il thrashing ?

Esercizio YYY02_14

Nell'ambito della paginazione per la memoria virtuale, cosa si intende con "allocazione dei frame ai processi".

Esercizio YYY02_15

Spiegare a cosa serve il procedimento di sostituzione delle pagine nell'ambito della gestione della memoria virtuale.

Esercizio YYY02_16

In che contesto si parla di "dirty bit" e a che cosa serve ?

(6)

Spiegare cosa avviene allo scatenarsi di un page fault.

Esercizio YYY02_18

Spiegare cosa sono i processi "I/O bound" e quelli "CPU bound".

Esercizio YYY02_19

Spiegare la differenza tra "scheduling preemptive"e "scheduling non preemptive".

Esercizio YYY02_20

L'algoritmo di scheduling FIFO soffre di starvation ? Perche' ?

Esercizio YYY02_21

Cos'e' la formattazione fisica o formattazione di basso livello?

Esercizio YYY02_22

Spiegare come avviene il bootstrap nei sistemi moderni.

Esercizio YYY02_23

A cosa serve il programma fdisk ? Esercizio YYY02_24

A cosa serve il programma ln ?

(7)

Esercizio YYY02_25

Devo implementare una delle politiche di scheduling del disco magnetico descritte a lezione, ma ancora non so quale.

Che informazioni mi servono per potere implementare una qualunque di quelle politiche?

Esercizio YYY02_26

Perche' non parliamo di politiche di scheduling del disco quando abbiamo a che fare con dischi a stato solido?

(8)

Ipotizziamo che i cilindri di un disco magnetico siano indicizzati in maniera crescente dalla periferia verso il centro.

Supponiamo che la testina di lettura di un disco si trovi sul cilindro di indice 10.

Ipotizziamo che la testina, per arrivare alla posizione attuale, si sia spostata verso il centro del disco.

Supponiamo che l'elenco delle richieste pendenti sia la seguente, ordinata in ordine di tempo di arrivo delle richieste.

12, 15, 6, 3, 6, 11, 13, 17, 20, 1.

Se uso un algoritmo di scheduling Shortest Seek Time First (SSTF), quale sara' la sequenza temporale dei prossimi accessi a disco?

Esercizio YYY01_28

Nelle stesse ipotesi dell'esercizio precedente, quale sara' la sequenza temporale dei prossimi accessi a disco se invece uso una politica di scheduling del disco di tipo C- LOOK?

(9)

Esercizio YYY02_29

Spiegare la differenza tra Hard link e Soft link in ambito Linux.

Esercizio YYY02_30 Cos'e' un inode ? Esercizio YYY02_31

Che struttura si utilizza, in ambiente Linux, per memorizzare i blocchi di un file?

Riferimenti

Documenti correlati

Dai dati riportati in tabella 3, sono state formulate alcune considerazioni: la curtosi fornisce un’informazione sull’allontanamento dalla normalità distributiva, quindi, per

Per prima cosa abbiamo cercato di minimizzare la costante di Lebesgue utilizzando come incognite i punti di interpolazione.. Abbiamo usato come algoritmi GA

• Con lo scheduling SCAN le richieste vengono evase secondo l’ordine con cui vengono incontrate dalla testina, che si sposta nella stessa direzione da una estremità all’altra

A una prima sezione (parte prima) che, quindi, presenta questa sorta di teoria modulare di semiotica della musica, pensata con particolare riferi- mento a quella mediata e

sul disco è praticata un scanalatura diametrale, in cui può scorrere senza attrito una pallina di massa m, legata al centro mediante una molla di lunghezza a riposo nulla e

Questa soluzione non ha condizioni di equilibrio e, per qualunque valore dei parametri iniziali, la massa m accelera verso “infinito”, dove ovviamente il termine “infinito” indica

Un estremo della molla ` e fissato sull’asse, mentre all’altro estremo ` e fissata una massa m che pu` o scorrere all’interno della scanalatura senza attrito. Dire in quali

| Rispetto ad un disco, un nastro è meno costoso e contiene più dati, ma l’accesso casuale è molto più lento. | Il nastro è un mezzo economico per usi che non richiedono un