![]() |
Pages (37): « First ... « 3 4 5 6 [7] 8 9 10 11 » ... Last » Show 150 posts per page |
.dsy:it. (http://www.dsy.it/forum/)
- Sistemi operativi I (http://www.dsy.it/forum/forumdisplay.php?forumid=269)
-- [SIS. OP. - BRUSCHI] Info 2004/05 (http://www.dsy.it/forum/showthread.php?threadid=17700)
Qualcuno sa dare la risposta a queste due domande(magari con un commento)?
1)Per quale delle seguenti periferiche adottereste un meccanismo di gestione dell'I/O a controllo da programma piuttosto che ad interrupt:
A. dischi fissi
B. mouse
C. tastiera
D. dischi mobili
2)Quali tra le seguenti e' l'operazione piu' appropriata che un controller dovrebbe svolgere dopo aver verificato la presenza di un interrupt:
A. modifica dello stato del processo in esecuzione da running a waiting
B. caricamento nel PC dell'indirizzo della routine di risposta interrupt
C. context switch
D. esecuzione del programma di risposta interrupt
1) Dischi fissi. Sono quelli che trasmettono più dati al sec. (2000KByte/sec). Infatti se un dispositivo trasmette velocemente i dati si sprecano meno cicli macchina e ha senso utilizzare la busy-waiting (controllo di programma)
2) Ci sto ragionando anch'io..sono indeciso tra la A e la B. Sarei più tentato per la A perchè prima del caricamenteo dell'indirizzo della routine bisogna salvare tutti i registri...
Confermo che nella 2) dovrebbe essere A. Infatti la prima operazione che viene compiuta è il salvataggio di PC e PSW. Quindi penso il salvataggio dello stato (modificato). Qualcuno conferma?
Grazie per le spiegazioni. Anch'io nella seconda avevo in mente il tuo stesso ragionamento.
E queste due?
3)Quale tra le seguenti sotto-stringhe non può mai essere generata durante l'esecuzione dei suddetti programmi assumendo che i semafori siano così inizializzati sem1=5 e sem2=1?
A. aaabbbbab
B. aaaabbbaa
C. abbbaa
D. bababa
4)Quale tra i seguenti meccanismi, usati per risolvere problemi di mutua esclusione, non da ricorso alla tecnica del busy waiting?
A. Semafori
B. TSL
C. Algoritmo di Peterson
D. Stretta alternanza
4) sicuramente semafori...per definizione i semafori evitano che il processo in attesa stia in attesa con un ciclo while(che spreca cilci macchina)
3) è la C. Infatti per stampare a il sem2 viene portato a 2 e poi per stampare 3 b sem 2 dovrebbe diventare -1...IMPOSSIBILE perchè prima di stampare la terza b si blocca il processo
Un processo A di background (senza interazioni con I/O) e' nello stato
running. Le routine di gestione interrupt contengono le operazioni V sui
semafori che descrivono gli eventi esterni. Un processo B e' nello stato
waiting in attesa di un evento esterno X. Al verificarsi dell'interrupt
associato a X viene attivata la routine di gestione interrupt dell'evento.
In quali stati si trovano rispettivamente A e B nei seguenti istanti:
1- appena attivata la routine di gestione interrupt,
2- al temine della routine di gestione interrupt, cioè dopo l'esecuzione
dell'istruzione RTI (ritorno da interrupt) ?
a) 1. wait, wait 2. ready, run
b) 1. run, wait 2. run, ready
c) 1. ready, wait 2. ready, ready
d) 1. ready, wait 2. run, ready
Risposta esatta: b
Secondo me questa è la C
secondo me e' la D
Dunque:
1-appena viene attivata la routine di interrupt e' lei in running, quindi A passa a ready(perchè e' pronta a ripartire) e B rimane a waiting perche' l'interrupt che aspettava non e' ancora arrivato.
2-appena ritornati dalla routine di interrupt A torna in running e B va in ready perche' l'interrupt che aspettava e' arrivato. (E' lo scheduler che deve decidere quando B va in running)
Non riesco a capire una cosa...Quando arriva l'evento X viene mandato un interrupt e lì viene caricata nel PC la prima istruzione della routine. A questo punto sicuramente A non può essere run perchè la CPU l'ha presa la routine!! ma il resto??
Perfetto..OK
Infatti A va in ready(viene accodato il suo PCB nella coda dei processi pronti) x' in running c'è la routine di interrupt, una volta che ha finito il processo A torna in running e il processo B passa nella coda dei ready. Poi lo scheduler deciderà quando far passare in running B.
Così e' piu' chiaro?
sì sì..dopo che ho scritto ci sono arrivato..confermo tutto
altra questione:
In un sistema senza stato di waiting e' sempre possibile adottare algoritmi
che fanno uso di busy-waiting ?
a) si, purche' gli interrupt non vengano disabilitati
b) solo se viene adottato uno scheduler a prelazione della CPU, meglio se
round robin
c) no, perche' il busy-waiting puo' essere implementato solo se esiste lo
stato waiting
d) si, anche se la loro esecuzione puo' risultare inefficiente
Risposta esatta: b
PERCHE'??
Non sono sicuro, ma credo che non essendoci lo stato di waiting il processo rimane running fino alla risposta che sta aspettando, poi prosegue. Se non ci fosse preemption nessun altro processo potrebbe passare a running fino a che il primo e' ancora in esecuzione. Quindi meglio ancora se RR, visto che la preemption viene fatta allo scadere del quanto.
Sempre rigurado agli stati :
5)In un sistema a processi con scheduling a priorita' non preemptive la transizione dallo stato di
esecuzione ("running") a quello di pronto ("ready") si puo' verificare:
A. allo scadere del quanto di tempo
B. mai
C. quando occorre mandare in esecuzione un processo a priorita' piu' alta
D. quando il processo running esegue una operazione sospensiva
Risposta esatta: B
Perchè D non va bene?
Originally posted by michelez
3)Quale tra le seguenti sotto-stringhe non può mai essere generata durante l'esecuzione dei suddetti programmi assumendo che i semafori siano così inizializzati sem1=5 e sem2=1?
A. aaabbbbab
B. aaaabbbaa
C. abbbaa
D. bababa
__________________
Sometimes you hurt the ones who love you most and sometimes you hold the ones who leave you lost,
and sometimes you learn
but its too late, it's too late. EI
Per michelez:
Direi che la spiegazione regge bene...
5) dipende cosa si intende per sospensiva...penso che si possa verificare un'attesa I/O ma allora andrebbe in blocking
Per Dante:
PERCHE'???
| All times are GMT. The time now is 22:40. | Pages (37): « First ... « 3 4 5 6 [7] 8 9 10 11 » ... Last » Show all 553 posts from this thread on one page |
Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.