Estratto del documento

CAPITOLO 1

Si spieghi brevemente qual è la caratteristica fondamentale di un sistema

multiprocessore conforme al paradigma simmetrico.

Un sistema multiprocessore presenta più processori all’interno della stessa macchina che condividono la

stessa memoria. Questo permette maggiore efficienza nello svolgimento dei processi permettendo una

esecuzione parallela dei task e una maggiore affidabilità ( foult tollerance e graceful degradation). Nel

paradigma simmetrico ogni processore è sullo stesso piano degli altri ( non c’è un processore master che

gestisce gli altri) ed ognuno di essi esegue una copia del s.o.

Il sistema simmetrico determina problemi nella schedulazione della CPU poiché possono capitare situazioni

di sovraccarico di alcuni processori rispetto ad altri

Si descriva la tassonomia dei sistemi multiprocessore. Si chiarisca in particolare la

differenza tra multicalcolatori strettamente e debolmente accoppiati.

I sistemi multiprocessore sono dei sistemi in cui le operazioni di calcolo ed elaborazione dei dati vengono

suddivise su più processori per migliorare la vdlocità di elaborazione.

Nei sistemi debolmente accoppiati come quelli distribuiti, ogni calcolatore ha un proprio processore e

memoria ma si connette con gli altri calcolatori distribuiti in punti differenti, generando una rete di

calcolatori che condividono l’elaborazione dei dati.

Nei sistemi strettamente accoppiati invece il calcolatore è dotato di più processori che condividono la

stessa memoria.

Si descrivano le caratteristiche principali di un HRT OS. Si chiarisca in dettaglio

cosa differenzia tali sistemi operativi da quelli general purpose.

Un hard real time o.s. è un sistema operativo utilizzato in contesti critici in cui è necessario che delle

operazioni vengano svolte rispettando una certa tempistica. Negli HRTOS sono presenti delle deadline in cui

il s.o. deve rispondere a determinate richieste. Non supportano il time-sharing della CPU e solitamente non

necessitano della memorizzazione di dati. I s.o. general purpose invece sono orientati maggiormente ad un

utilizzo da parte di utenti.

CAPITOLO 2

Si chiariscano brevemente i vantaggi derivanti da una gestione interrupt-driven

dell’I/O.

Nei sistemi I/O interrupt-driven la gestione dell’ I/O è attuata mediante delle interruzioni del flusso di

esecuzione che portano alla gestione delle operazioni mediante delle routine contenute nell’interrupt

vector. Il vantaggio sta nel non dover asseganre parti della RAM per la gestione dell’ I/O mappato in

memoria e mediante gli interrupt la CPU continua ad eseguire processi durante la gestione dell’interrupt

Un interrupt può, per definizione, determinarsi solo a seguito di un evento

hardware

Nell’ ambito delle interruzioni si possono definire:

interrupt : sono delle interruzioni asincrone dette anche interruzioni hardware; avvengono in maniera

casuale e non prevedibile da parte del sistema ( esempio: input/output )

trup : sono delle interruzioni sincrone dette anche interruzioni software determinate da errori nei codici dei

programmi o utilizzate dal sistema per compiere determinate operazioni

La Device Status Table non memorizza molteplici richieste di I/O relative ad un

dispositivo

Si schematizzi la struttura e si descriva il funzionamento della Device Status Table.

La DST è una tabella che memorizza un identificativo per la periferica di input/output , lo stato della

periferica e evetuali richieste. Ad una periferica possono essere associate più operazioni che vengono

messe in coda ordinandole in base all’arrivo

Il DMA è usato solo per dispositivi di I/O ad alta velocità

Il Direct Memory Access è un processore molto piccolo che permette il trasferimento di dati input/output

dalla memoria alle periferiche. Il suo utilizzo è associato agli I/O asincroni e permette, soprattutto nelle

periferiche ad alta velocità, di evitare che per ogni byte inserito, la CPU riceva un interrupt bloccante.

Il DMA raccoglie una quantità di dati provenienti in input o output e li invia in blocco determinando un

interrupt solo all’avvio e al termine dell’operazione.

Spiegare la struttura e descrivere le funzionalità dell’interrupt vector.

Nell’ambito della gestione degli interrupt , l’interrupt vector è un vettore contenente delle routine di

gestione degli interrupt associati ad eventi di sistema o eventi esterni come I/O.

L’accesso a questo vettore avviene mediante un indice prodotto tramite funzione di hash che permette di

associare a un singolo “errore” una routine di gestine univoca. Il vettore degli interrupt viene implementato

dai programmatori, con tutte le routine di gestione di errori base ma può essere aggiornato con numove

routine ad esempio quando vengino installate nuove periferiche con i relativi driver.

Spiegare quali sono e a cosa servono i meccanismi di protezione hardware

comunemente adottati nei

calcolatori moderni.

I principali meccanismi di protezione hardware sono:

Protezione dell’ I/O : l’I/O deve essere protetto mediante modalità differenziata poiché tali operazioni

permettono l’accesso a zone critiche della memoria come l’interrupt vector

Protezione della memoria: La memoria centrale deve essere protetta poiché contiene il kernel e l’interrupt

vector. La protezione viene assicurata mediante modalità differenziata e proteggendo gli indirizzi critici con

i registri base e limite. Ogni processo può accedere alla memoria solo a partire dall’registro base fino a un

set di indirizzi definiti dal registro limite. L’accesso ad altri indirizzi non è consentito.

Protezione della CPU : la CPU viene protetta mediante un timer che permette ad un processo di occuparla

soltanto per un quanto di tempo prestabilito, facendo tornare il sistema in modalità supervisore ogni tot di

tempo.

CAPITOLO 3

--nessuna domanda---

CAPITOLO 4

Si tracci lo schema del contenuto di un Process Control Block evidenziando per

ciascuna componente in

quale circostanza della vita del processo viene creata/aggiornata.

Il PCB è una struttura dati del kernel creata nella fase di inizializzazione di un processo. Esso contiene

informazioni sul processo come:

-Stato

-Program Counter

-Stack

-Register set

-Info per la schedulazione

-Info per la memoria centrale

-Info per l’I/O

Il PCB viene creato durante la fase di “hold” dove aggiorna il suo stato passando da new--->ready e riceve

l’assegnzione delle risorse e la priorità.

Il PCB viene modificato ogni qual volta il processo subisce un context switching ovvero ogni volta che passa

in una coda differente e viene aggiornato in modo da permettere alla CPU di riprendere la sua esecuzione

da dove aveva terminato

Si spieghi brevemente qual è la differenza (funzionale ed architetturale) tra lo

short-term scheduler ed il long-term scheduler.

Entrambi gli schedulatori sono utilizzati nella gestione dei processi. Il long-term scheduler effettua una

macroschedulazione dei processi controllando le code di submit e hold , assicurandosi che il numero di

processi di tipo I/O Bound e CPU Bound siano equivalenti per evitare scompensi nelle code successive (

coda di wait vuota o CPU inutilizzata). Lo schedulatore a lungo termine viene attivato con tempistiche più

lunghe.

Lo short-term scheduler si occupa invece di gestire la microschedulazione sui processi della coda di ready,

stabilendo la priorità e la logica per cui questi verranno spostati nella CPU. Viene eseguito in tempi molto

più brevi rispetto al long-term scheduler.

Si spieghi brevemente a cosa serve una Remote Procedure Call e qual è la funzione

del client-stub

all’interno di essa.

La Remote Procedure Call è una chiamata a procedura remota che simula l’IPC ma tra sistemi collegati in

rete. Viene utilizzata in un sistema client-server per la comunicazione e per la richiesta di esecuzione di un

metodo da parte del client. Lo stub-client permette di mantenere attivo il collegamento tra la porta del

client e quella del server effettuando il marshalling dei parametri passati alla procedura in modo che siano

comprensibili per il server

Si descriva brevemente il funzionamento di un upcall manager nell’ambito del

meccanismo di attivazione dello schedulatore.

Si spieghi brevemente le caratteristiche e la funzione del meccanismo di

attivazione dello schedulatore in uno schema di esecuzione multithread.

Nell’ambito dell’esecuzione dei thread un upcall manager è un meccanismo adottato dalla libreria dei

thread per la loro gestione. In particolare viene spesso utilizzata nel caso di thread che compiono

operazioni bloccanti per permettere di assegnare al kernel thread che sta per essere bloccato, un altro user

thread mediante l’intermediazione della LWP (lightweight Processor).

Quando il thread sta per compiere l’operazione bloccante, viene creata una numova LWP che permette

l’attivazione dello schedulatore. Lo schedulatore assegna quindi al thread lato kenrel che sta per andare in

blocco un nuovo thread lato utente in modo da preservare il numero di kernel thread

La LWP viene utilizzata nei modelli molti a molti e a due livelli per mantenere il numero di kern

Anteprima
Vedrai una selezione di 5 pagine su 17
Domande Teoria Sistemi operativi Pag. 1 Domande Teoria Sistemi operativi Pag. 2
Anteprima di 5 pagg. su 17.
Scarica il documento per vederlo tutto.
Domande Teoria Sistemi operativi Pag. 6
Anteprima di 5 pagg. su 17.
Scarica il documento per vederlo tutto.
Domande Teoria Sistemi operativi Pag. 11
Anteprima di 5 pagg. su 17.
Scarica il documento per vederlo tutto.
Domande Teoria Sistemi operativi Pag. 16
1 su 17
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Nicocarad di informazioni apprese con la frequenza delle lezioni di Sistemi operativi e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Politecnico di Bari o del prof Ruta Michele.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community