2008-2009:Ασκήσεις:2η Άσκηση

Από OSLab

1o Πρόβλημα
Περιγράψτε τη διαδικασία που πρέπει να ακολουθήσουμε για να δημιουργήσουμε ένα νέο image του minix όπου η κλήση πυρήνα SYS_NICE να είναι απενεργοποιημένη.
2o Πρόβλημα
Αναπτύξτε μια νέα κλήση του συστήματος (system call) στα πλαίσια του διαχειριστή διεργασιών (process manager) που να δέχεται έναν ακέραιο ως παράμετρο και να επιστρέφει το τετράγωνο του ακεραίου. Υλοποιείστε μια απλή εντολή που χρησιμοποιεί την νέα κλήση του συστήματος που αναπτύξατε. Τα αρχεία που θα παραδώσετε θα πρέπει να είναι καλά δομημένα (με την χρήση tab, κλπ.) και καλά σχολιασμένα.
3o Πρόβλημα
Αναπτύξτε μια νέα κλήση του πυρήνα (kernel call) που να δέχεται έναν ακέραιο ως παράμετρο και να επιστρέφει το διπλάσιο του ακεραίου. Υλοποιείστε μια απλή εντολή που χρησιμοποιεί την νέα κλήση του πυρήνα που αναπτύξατε. Τα αρχεία που θα παραδώσετε θα πρέπει να είναι καλά δομημένα (με την χρήση tab, κλπ.) και καλά σχολιασμένα.


Παράδοση:

  • Η άσκηση είναι ατομική
  • Η προθεσμία υποβολής είναι η Τετάρτη 13 Μαΐου, ώρα 23:59 Δευτέρα 18 Μαΐου, ώρα 23:59
    • Σε περίπτωση που η άσκηση παραδοθεί με καθυστέρηση, για κάθε εβδομάδα καθηστέρησης θα υπάρξει μείωση 30%.
    • Αν παρατηρηθεί αντιγραφή, τότε όλοι όσοι συνεργάστηκαν και εμπλέκονται στην αντιγραφή, θα μηδενιζονται στο μάθημα.
  • Η παράδοση γίνεται με την χρήση του εργαλείου submit μόνο από τον εκπρόσωπο της ομάδας
  • Το αρχείο που θα παραδώσετε πρέπει να έχει το όνομα 2.tar.gz και να περιέχει:
    1. Ένα αρχείο με όνομα readme που περιέχει μια γραμμή με το ΑΜ, Ονοματεπώνυμο, e-mail -- με αυτή την σειρά και με το ονοματεπώνυμο να είναι γραμμένο με την χρήση λατινικών χαρακτήρων (όπως εμφανίζονται στο σύστημα diogenis).
    2. Για το πρόβλημα 1, ένα αρχείο problem1.txt που να περιέχει την απάντηση σας.
    3. Για τα προβλήματα 2-3, τα αρχεία που υλοποιούν τις νέες λειτουργίες θα πρέπει να τοποθετηθούν σε φακέλους αντίστοιχους με αυτούς που χρησιμοποιεί ο κώδικας minix 3. π.χ. για το 2o πρόβλημα, τα αρχεία που αφορούν τον process manager θα πρέπει να είναι τοποθετημένα στον υποφάκελο src/servers/pm, το αρχείο που υλοποιεί την απλή εντολή θα πρέπει να βρίσκεται στον υποφάκελο src/commands/simple, για το 3o πρόβλημα, το αρχείο system.c θα πρέπει να βρίσκεται στον υποφάκελο src/kernel κοκ.
  • Μόνο τα παραπάνω αρχεία θα βαθμολογηθούν και ΚΑΝΕΝΑ άλλο.
  • ΌΛΑ ΤΑ ΟΝΟΜΑΤΑ ΤΩΝ ΑΡΧΕΙΩΝ ΚΑΘΩΣ ΚΑΙ ΤΑ ΠΕΡΙΕΧΟΜΕΝΑ ΠΡΕΠΕΙ ΝΑ ΑΠΟΤΕΛΟΥΝΤΑΙ ΜΟΝΟ ΑΠΟ ΛΑΤΙΝΙΚΟΥΣ ΧΑΡΑΚΤΗΡΕΣ.


Σχετικό υλικό: