2007-2008:Ασκήσεις:3η Άσκηση

Από OSLab

1o Πρόβλημα
Αναπτύξτε μια νέα κλήση του συστήματος (system call) στα πλαίσια του συστήματος αρχείων (file system) που να δέχεται ένα όνομα αρχείου (char * name) ως παράμετρο. Επιστρέφει στην διεργασία που την κάλεσε το πρώτο i-node του αρχείου.
2o Πρόβλημα
Αναπτύξτε μια νέα κλήση του συστήματος (system call) στα πλαίσια του συστήματος αρχείων (file system) που να δέχεται ένα όνομα αρχείου (char * name) ως παράμετρο. Επιστρέφει στην διεργασία που την κάλεσε το ποσοστό κατακερματισμού των blocks του αρχείου. Ως ποσοστό κατακερματισμού ορίζουμε τον αριθμό των blocks που δεν είναι συναιχόμενα ως προς το συνολικό αριθμό των blocks του αρχείου.
Παράδειγμα: Ένα αρχείο είναι αποθηκευμένο στα blocks: 1001, 1002, 1003, 1050, 1420, 1421, 1422. Τα blocks 1003, 1050 και 1420 δεν ειναι συναιχόμενα. Το ποσοστό κατακερματισμού είναι 3/7=42.8%
3o Πρόβλημα
Αναπτύξτε μια νέα κλήση του συστήματος (system call) στα πλαίσια του συστήματος αρχείων (file system) που να δέχεται ένα όνομα αρχείου (char * name) ως παράμετρο. Μεταφέρει τα blocks του αρχείου σε κάποιο σημείο της αποθηκευτικής μονάδας έτσι ώστε να ελαχιστοποιείται ο κατακερματισμός των blocks του αρχείου (ή να εξαλίφεται εντελώς).


Παράδοση:

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


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