Sei sulla pagina 1di 4

Risposte domande di teoria:

1. Gestione del sovraccarico: si illustri l’algoritmo Robust EDF

Usa l’algoritmo EDF per la schedulazione. I task respinti sono mantenuti in coda in ordine decrescente
di valore, quando c’è abbastanza tempo viene riaccettato il task con il valore più alto fra quelli respinti.

2. Resource Access: si illustri l’algoritmo Priority Inheritance Protocol (PIP)

L’idea base è che quando un task blocca uno o più task di più alta priorità, esso eredita la priorità più
alta fra quella dei task bloccati. Funzionamento dell’algoritmo: i job sono schedulati secondo le loro
priorità, se hanno uguale priorità li schedula secondo FCFS. Quando un job con priorità più alta entra
nella sezione critica di un job a priorità più bassa, il primo job viene bloccato e trasmette la sua priorità
(più alta) al secondo (con priorità più bassa) che a questo punto proseguirà l’esecuzione con la nuova
priorità. Quando il job che ha ereditato la priorità più alta termina la sua esecuzione, sveglia gli altri job
in attesa e a questo punto quello a priorità più alta acquisirà il controllo della risorsa. L’ereditarietà è
transitiva, se T1 è bloccato da T2 e T2 da T3, allora T3 erediterà la priorità di T1.

3. Si spieghi cosa è la tecnica di bit-stuffing e perché è stata introdotta nel protocollo CANBUS

Bit- stuffing: il trasmettitore dopo aver trasmesso 5 bit consecutivi con la stessa polarità, inserisce un
bit di polarità opposta (stuff-bit), che verrà poi rimosso dal ricevente. Se più di 5 bit uguali vengono
ricevuti, ho stuff- error. Il CANBUS si basa su un meccanismo di comunicazione broadcast, comunica
perciò il pacchetto a tutti i nodi; il bit-stuffing serve per non inviare serie di bit che sono adibite a
messaggi/funzioni di default (serie che indica la fine del pacchetto).

4. Illustrare il problema dell’inversione di priorità nei sistemi real time, mettendo in evidenza le
condizioni che devono verificarsi perché il problema si presenti.

(vedi domanda 2)

5. Si illustri il meccanismo di comunicazione publisher subscriber nel middleware Data Distribution


Service (DDS)

I componenti interagiscono attraverso dei messaggi relativi ad eventi già noti a priori. Ogni componente
che intende ricevere si registra per la serie di eventi che gli interessano, diventando cioè un subscriber.
Il publisher è l’entità che si occupa di disseminare i dati scritti e non conosce a priori chi è iscritto a che
tipo di evento. L’infrastruttura (del DDS) si occuperà di far ricevere ogni dato ad ognuno dei subscriber
ineteressati. I messaggi così inviati viaggiano su BUS.

6. Illustrare l’algoritmo EDF per la gestione del sovraccarico

(vedi domanda 1)

7. Illustrare il metodo di gestione del sovraccarico Robust EDF

(vedi domanda 1)

8. Illustrare la libreria POSIX per la creazione di thread


POSIX è una famiglia di standard IEEE per mantenere la compatibilità tra i diversi sistemi operativi.
L’aspetto principale contenuto in questi standard è la presenza di una libreria standard per i thread con
le relative API. La libreria è lipthread.so è presente anche un file header pthread.h che consente di
includere questa libreria in programmi scritti in C, per avere a disposizione un insieme di funzione e
strutture dati usate per: creazione, gestione e sincronizzazione dei thread, variabili mutex e variabili
condizione. La creazione avviene tramite pthread_create, che ha come argomenti il puntatore
all’oggetto pthread_t (fa riferimento allo specifico thread), puntatore pthread_attr_t (fa riferimento
agli attributi necessari alla configurazione del thread), puntatore alla funzione eseguita dal thread e
puntatore agli argomenti della funzione. La funzione restituisce 0 se la creazione ha avuto successo, o
un numero diverso da zero in caso di fallimento (il numero indica il tipo di errore).

9. Illustrare il concetto di qualità del servzizio QoS nel middleware DDS

Il QoS è l’inisme di parametri che specificano alcune proprietà della trasmissione (affidabilità,
persistenza, etc..). Le più importanti sono:

- Durability: se e come i dati devono essere salvati.


- Reliability: specifica l’affidabilità della connessione.
- History: numero di campioni di dati da mantenere.
- Deadline: massimo tempo di inter arrivo tra i vari campioni.
- Time based filter: minimo tempo di inter arrivo
- Latency budget: massimo ritardo ammissibile
- Ownership: specifica il tipo di topic (exclusive o shared)
- Resource limits: controlla lo spazio di storage disponibile
- User data: gestisce i metadati dell’utente
- Liveliness: determina le entità ancora attive in modo automatic o manual

10. Illustrare vantaggi e svantaggi dell’approccio Time Driven e dell’approccio Priority Driven per la
schedulazione di sistemi real time

Vantaggi (Clock) Time Driven:

- Semplicità
- Assenza di anomalie
- Predicibilità
- Assenza o limitazione di preemption
- Minimo overhead

Svantaggi:

- Rigidità
- Difficoltà di modifica e manutenzione
- Richiede conoscenza a priori dei job
- Integrazione difficile di componenti dinamiche

Vantaggi del Priority Driven:

- Gli algoritmi sono più flessibili


- La realizzazione di algoritmi si basa su una semplice coda ordinata in base alle priorità
Svantaggi Priority Driven:

- Gli algoritmi hanno un comportamento non deterministico al variare dei parametri temporali
- È più difficile validare dei job schedulati in modo priority driven

11. Illustrare dettagliatamente cosa sono le anomalie di scheduling

Per un task set schedulato in modo ottimale su un sistema multiprocessore con assegnamento di
priorità, numero di processori, tempi di esecuzione e vincoli di precedenza fissati, l’aumento del
numero di processore, la riduzione dei tempi di esecuzione ed il rilassamento dei vincoli di precedenza,
possono aumentare la lunghezza dello scheduler.

12. Dare la definizione e illustrare il significato dei seguenti criteri di ottimalità:


a) Tempo medio di risposta
È il tempo medio di risposta di un certo insieme di job, in particolare più è basso questo valore,
maggiori sono le prestazioni
b) Tempo di completamento medio totale
Tempo impiegato per eseguire una volta tutti i job
c) Massima lateness
Il massimo valore della differenza fra il tempo di completamento e la deadline (può avere
anche valori negativi)
d) Fattibilità
Uno schedule è fattibile se ogni job completa la sua esecuzione entro la sua deadline
13. Bit-wise arbitration nel protocollo CANBUS

Un nodo A trasmette sul bus il bit recessivo, se un nodo B trasmette prima di ricevere da A (in quanto
vede il bus libero) allora il nodo A si riconosce come recessivo e cede la trasmissione al nodo B, che
continua la sua trasmissione.

14. Ilustrare le cause di sovraccarico e fornire le principali definizioni di carico (“load”) di RTS

Overload temporaneo: overrun di attivazione (processo attivato più volte del previsto) oppure l’altra,
overrun di esecuzione (processo eseguito per un tempo più lungo del previsto).

Overload permanente: quando il fattore di utilizzazione delle CPU è maggiore di 1.

Per carico (load) invece si intende:

- Carico istantaneo: è definito come la massima domanda per il processore nell’intervallo di tempo
compreso fra l’istante corrente t e la deadline considerando tutti i task attivi
15. Definizione di sitemi soft real- time e hard real-time

Soft real-time: se una frazione significativa delle sue deadline è di tipo soft

Hard real- time: se una frazione significativa delle sue deadline è di tipo hard

Potrebbero piacerti anche