home *** CD-ROM | disk | FTP | other *** search
/ ftp.disi.unige.it / 2015-02-11.ftp.disi.unige.it.tar / ftp.disi.unige.it / pub / .person / GianuzziV / SysOp / esame97 / esercitazione_1.txt next >
Text File  |  1997-12-02  |  4KB  |  91 lines

  1.  
  2. PRIMA ESERCITAZIONE DI SISTEMI OPERATIVI 1997-1998
  3.  
  4. Memory manager di Minix
  5. -----------------------
  6.  
  7. Nell'implementazione della system call EXEC di Minix, il MM controlla se e'
  8. gia` disponibile una zona libera di memoria sufficiente a contenere la nuova
  9. immagine di memoria, altrimenti la chiamata abortisce. Questa politica sara'
  10. chiamata "il vecchio algoritmo di EXEC".
  11.  
  12. Sarebbe invece meglio controllare se una zona libera sufficiente sara`
  13. disponibile una volta rilasciata la zona di memoria attualmente occupata dal
  14. processo che chiama l'EXEC: nel seguito lo chiameremo "nuovo algoritmo di
  15. EXEC".
  16.  
  17. Si chiede:
  18. - di inserire una nuova system call extend(), la cui chiamata provochi
  19.   il funzionamento di EXEC con il nuovo algoritmo (in mancanza di tale 
  20.   chiamata i processi utilizzano sempre il vecchio algoritmo);
  21. - di consegnare il seguente materiale:
  22.     - documentazione cartacea (vedi sotto);
  23.     - un dischetto di bootstrap del sistema Minix modificato;
  24.     - un secondo dischetto contenente, in due directories Minix
  25.       distinte,  il sorgente dei file modificati, e sorgenti ed
  26.           eseguibili dei programmi di test;
  27.  
  28. Data di scadenza: lunedi' 20 gennaio 1998.
  29.  
  30. Inserire il materiale in una busta chiusa con sopra scritti numero del
  31. gruppo e nome-cognome-login di ogni componente e consegnarla IN BUCA a
  32. Dodero o Gianuzzi.  Tutto il materiale consegnato (documentazione e
  33. dischetti) dovra' essere identificato allo stesso modo (onde evitare
  34. disastri se qualcosa cadesse per terra, si rimescolasse il contenuto
  35. delle buste ecc). 
  36.  
  37. Documentazione
  38. --------------
  39. 1. Files sorgenti
  40.  
  41. Le modifiche apportate ai sorgenti Minix devono essere identificate da
  42. commenti "speciali" e commentate seguendo lo "stile" di Minix stesso.
  43. Esempio /* modifica gruppo xx */ ... /* fine modifica gruppo xx */
  44.  
  45. 2. Documentazione cartacea
  46.  
  47. La documentazione cartacea puo' essere consegnata manoscritta (purche'
  48. chiara e leggibile) oppure scritta con word processors, oppure meta' e
  49. meta',  ecc.  Essa  deve essere sintetica, in particolare non devono essere
  50. riportate informazioni contenute in questo foglio, sul Tanenbaum ecc.
  51. La documentazione deve contenere una "copertina" che riporti nome, cognome,
  52. login e firma dei componenti il gruppo che hanno effettivamente svolto
  53. l'esercitazione.  
  54.  
  55. Nel testo della documentazione devono essere presenti in modo chiaro e
  56. sintetico le seguenti informazioni:
  57.  
  58. a. informazioni di utente: deve essere possibile a chiunque sia in
  59. possesso dei dischetti e della documentazione, ricreare il kernel, 
  60. ripassare i tests ecc.
  61.  
  62. b. informazioni di sistema: chi fosse interessato a leggere i sorgenti C
  63. modificati, deve trovare informazioni su come e' stata fatta la modifica.
  64.  
  65. Vanno elencati: i files contenuti nei dischetti, e per ciascun file le 
  66. modifiche, sia inserimenti sia cancellazioni, apportate alle strutture 
  67. dati e alle funzioni ivi contenute. Delle modifiche va data motivazione
  68. e descrizione sintetica. La descrizione va data in italiano (bastano poche
  69. righe) Non va descritta l'operazione riga per riga!
  70.  
  71. (esempio di cosa NON scrivere: "la funzione pinco() confronta il primo
  72. parametro con zero e se essi sono uguali, azzera anche il secondo
  73. parametro". Chiunque leggera' la documentazione sa anche leggere un IF!)
  74.  
  75. Verra' consegnato a chi ne fara' richiesta un esempio di cosa si intende per
  76. buona documentazione di una funzione Minix non compresa tra quelle facenti
  77. oggetto di questa esercitazione.
  78.  
  79. c. informazioni sui tests:  va motivata la scelta dei programmi di tests, e
  80. ne vanno riportate le modalita' di esecuzione.  Dei singoli programmi che
  81. compongono il test riportare solo le caratteristiche rilevanti (il sorgente
  82. dovrebbe essere comprensibile con l'aiuto al piu' di qualche commento).
  83.  
  84. (esempio: il programma P1 ha due loop annidati il cui scopo e' di ritardare
  85. il processo per almeno..., nel test n.2 si lanciano quattro copie di P1 e
  86. due di P2, e si osserva che ....)
  87.  
  88. d. Va fornito infine un commento dei risultati ottenuti, ad esempio
  89. mostrando qualche situazione in cui il nuovo algoritmo riesce a lanciare
  90. piu' processi del vecchio algoritmo, oppure accade il viceversa.
  91.