• Non ci sono risultati.

Sistemi Operativi 22 Gennaio 2003 - compito 1

N/A
N/A
Protected

Academic year: 2021

Condividi "Sistemi Operativi 22 Gennaio 2003 - compito 1"

Copied!
2
0
0

Testo completo

(1)

Sistemi Operativi

22 Gennaio 2003 - compito 1

Cosa `e una lista di controllo degli accessi (access control list o ACL) nel contesto dei meccanismi di protezione?

Spiegare quali sono i possibili stati in cui pu`o trovarsi un processo e quando si verificano le transizioni da uno stato a un altro.

Descrivere come funzionano i sistemi RAID di livello 4 e di livello 5. Quali sono i vantaggi del livello 5 rispetto al livello 4? Motivare la risposta.

Spiegare sinteticamente cos’`e un semaforo e cosa fanno le relative primitive up e down.

Abbiamo due processi P e Q che vogliono sincronizzarsi alla fine delle sezioni 1 e 3. In altre parole, vogliono assicurarsi di iniziare le sezioni 2 e 4 solo dopo che entrambe le sezioni 1 e 3 sono state eseguite.

void P(void) { int msgp;

..sezione 1..

receive(Q,&msgp);

send(Q,&msgp);

..sezione 2..

}

void Q(void) { void Q(void) {

int msgq; int msgq;

..sezione 3.. ..sezione 3..

send(P,&msgq); receive(P,&msgq);

receive(P,&msgq); send(P,&msgq);

..sezione 4.. ..sezione 4..

} }

Supponendo che la receive sia bloccante (blocca il processo se non c’`e nessun messaggio pronto da ricevere), quali dei due processi Q indicati sopra `e quello giusto? Motivare la risposta.

(2)

Sistemi Operativi

22 Gennaio 2003 - compito 2

Cose `e una lista di capability nel contesto dei meccanismi di protezione?

Illustrare la differenza tra dispositivi a blocchi e a caratteri. Dare anche qualche esempio delle due classi di dispositivi.

Spiegare sinteticamente il funzionamento delle primitive di comunicazione send e receive nel caso di comunicazione sincrona e nel caso di comunicazione asincrona.

Spiegare qual `e la differenza tra un processo e un thread. Quali sono gli elementi comuni a tutti i thread di un processo e quali gli elementi privati di ogni thread?

Abbiamo due processi P e Q che vogliono sincronizzarsi alla fine delle sezioni 1 e 3. In altre parole, vogliono assicurarsi di iniziare le sezioni 2 e 4 solo dopo che entrambe le sezioni 1 e 3 sono state eseguite.

semaforo p1=0;

semaforo p2=0;

void P(void) { ..sezione 1..

down(&p1);

up(&p2);

..sezione 2..

}

void Q(void) { void Q(void) {

..sezione 3.. ..sezione 3..

down(&p1); up(&p1);

up(&p2); down(&p2);

..sezione 4.. ..sezione 4..

} }

Quali dei due processi Q indicati sopra `e quello giusto? Motivare la risposta.

2

Riferimenti

Documenti correlati

In riferimento alla memoria cache descrivere il principio di localit` a e discutere le variabili di progetto (dimensione totale, dimensione delle linee, tipologia

Discutere il concetto di processo, con particolare riferimento ai possibili stati di un processo e alle transizioni di stato.. Qual ` e la differenza tra sistemi operativi real-time

La send ` e non bloccante quando il messaggio viene comunque inviato anche se il processo destinatario non sta eseguendo in quel momento la receive: il processo mittente

3 di un determinato file, e usa gli i-nodi come metodo di allocazione, come fa a determinare dove `e memorizzato sul disco il settore desiderato.. Consideriamo il seguente

Il programma deve cercare nella gerarchia G specificata tutti i direttori che contengono file che hanno nel loro contenuto istanze del carattere C, sia maiuscolo che minuscolo: ad

Ogni processo nipote PPi, una volta ricevuto il carattere AM dal processo figlio Pi, deve calcolare a sua volta il numero di occorrenze Nocc (in termini di long int) di AM nel

Ogni processo figlio Pi deve leggere i caratteri del file associato Fj cercando la prima occorrenza (Cn) di un carattere numerico. I processi figli e il processo padre

fino al figlio PN-1 che comunica con il padre: Questo schema a pipeline deve essere ripetuto H volte e cioè per ogni linea letta dai file associati Fk e deve prevedere l’invio