DOMANDE PER LA PREPARAZIONE ALL'ESAME DI SISTEMI OPERATIVI ---------------------------------------------------------- - Descrivi il concetto di interrupt e mostra alcuni aspetti dei sistemi operativi in cui ritieni che tale concetto abbia un ruolo rilevante. - Descrivi il concetto di processo. Quali sono i possibili stati di un processo? - Descrivi il concetto di mode switch e di process switch per una architettura che esegue le chiamate di sistema nell'ambiente del processo stesso (come UNIX). - Compara, mostrando vantaggi e svantaggi, le seguenti due soluzioni architetturali per un sistema operativo: (1) "execution within process", in cui ciascuna system call e' eseguita all'interno del processo. (2) "process based" (microkernel) in cui le system call sono eseguite da processi sperarati. - Descrivi le principali strutture dati che un sistema operativo gestisce. - Descrivi la tecniche di paginazione e segmentazione mostrando vantaggi e svantaggi di ciascuna e il loro rapporto con il concetto di frammentazione. - Che cosa e' un buddy system? che proprieta' hanno gli indirizzi delle zone di memoria ritornati dal buddy system? - Considera un buddy system. Supponi che le richieste di allocazione siano per porzioni di memoria la cui grandezza sia uniformemente distribuita tra 64bytes e 512Kbytes. Sai stimare mediamente qual'e' la frazione di memoria che si perde in frammentazione interna ed esterna? - Mostra lo schema di paginazione a due livelli e il processo di traduzione di un indirizzo virtuale in fisico. Quali sono i vantaggi e gli svantaggi nell'uso di tale schema? - Descrivi una inverted page table e mostra i vantaggi e gli svantaggi di tale soluzione. - A cosa serve il translation lookside buffer? come interviene nel processo di traduzione di un indirizzo virtuale in uno fisico - mostra lo schema di traduzione di indirizzo virtuale in fisico per un sistema che adotta segmentazione, paginazione e TLB. - Trashing, load control e mid-term scheduler. Come sono correlati questi concetti? Qual'e' l'obiettivo di un mid-term scheduler. Fai un esempio di politica per un mid-term scheduler. - cpu-scheduler: quali sono i criteri con cui viene valutata la qualita' di cpu-scheduler? - mostra un esempio in cui l'algoritmo di disk-scheduling SCAN si comporta meglio di FIFO per quanto riguarda il throughput e un esempio in cui il comportamento e' identico. - Descrivi un caso di starvation per l'algoritmo di disk-scheduling SCAN e un caso di "unfairness" per C-SCAN. Si puo' avere starvation in C-SCAN? - Considera il seguente algoritmo di disk-scheduling: (1) quando la coda e' vuota e non si sta servendo alcuna richiesta l'algoritmo e' in stato "inattivo". Il passaggio da stato "inattivo" a stato "attivo" avviene non appena arriva una richiesta. Nel passaggio da "inattivo" a "attivo" non si inizia subito a servire le richieste in coda ma si attende un intervallo di tempo T dopo di che si esegue SCAN. Discuetere in quali casi si hanno dei vantaggi rispetto a SCAN classico (con partenza immediata)? quando la strategia e' svantaggiosa?. - Descrivi la soluzione RAID0. Quali sono i suoi vantaggi e svantaggi rispetto all'uso di un singolo disco? Fai delle stime di prestazione rispetto all'uso di un singolo disco nei casi: (1) lettura di un file molto grande (con read ahead) (2) scrittura di un file molto grande (3) molte letture di file molto piccoli (4) molte scritture di file molto piccoli - Descrivi la soluzione RAID1 con due soli dischi. Quali sono i suoi vantaggi e svantaggi rispetto all'uso di un singolo disco? Fai delle stime di prestazione rispetto all'uso di un singolo disco nei casi: (1) lettura di un file molto grande (con read ahead) (2) scrittura di un file molto grande (3) molte letture di file molto piccoli (4) molte scritture di file molto piccoli - Descrivi le soluzioni RAID4 e RAID5. Comparale rispetto alle prestazione nei casi: (1) lettura di un file molto grande (con read ahead) (2) scrittura di un file molto grande (3) molte letture di file molto piccoli (4) molte scritture di file molto piccoli I blocchi di parita' possono o meno venir considerati in lettura. Quali sono i vantaggi e gli svantaggi nei due casi (come varia l'analisi per le letture)?