Μάθημα : Λειτουργικά Συστήματα
Κωδικός : INF168
Διευκρινίσεις για την Εργασία 2
Καλησπέρα σε όλους,
Υπήρξαν κάποιες ερωτήσεις/απορίες στο φροντιστήριο σχετικά με την Εργασία 2, τις οποίες και απαντώ εδώ:
ΑΠΟΡΙΑ 1: Στο mysh3 με input "cd ../ | ls" θα πρέπει το ls να δείχνει τα αρχεία του ./ η του ../ ; Δηλαδή η ισχύς του cd θα πρέπει να διατηρείται στις εντολές που ακολουθούν το pipe;
ΑΠΑΝΤΗΣΗ 1: Πρώτα πρώτα, την απάντηση μπορείτε να την πάρετε δοκιμάζοντας την εν λόγω εντολή στο ίδιο το bash, να δείτε τι κάνει. Το ίδιο θα πρέπει να κάνει και το mysh3. Και θα δείτε ότι η επίδραση του cd δεν "διατηρείται" μετά το pipe.
Εξήγηση: Γιατί όμως; Με το pipe λέμε «ξεκίνα τις δυο εντολές ταυτόχρονα και τρέξ' τες παράλληλα και ανεξάρτητα, με μοναδική εξάρτηση ό,τι βγάλει η πρώτη στο δικό της stdout να περαστεί ως είσοδος στο stdin της δεύτερης». Το ότι η πρώτη κάνει cd../ είναι εσωτερικό της θέμα. Δεν έχει λόγο να επηρεάσει τη δεύτερη. Άλλωστε, και σε επίπεδο υλοποίησης, η καθεμιά θα εκτελεστεί από διαφορετικό παιδί του mysh3 (θα κάνει δηλαδή δύο παιδιά), και μια cd αλλάζει το current working directory (CWD) του process που το εκτελεί μόνο, μιας και το κάθε process έχει το δικό του CWD. Οπότε το CWD του δεύτερου παιδιού δεν θα επηρεαστεί από το cd του πρώτου.
Συνεπώς, αν έχετε υλοποιήσει σωστά την εργασία, η σωστή συμπεριφορά είναι φυσική απόρροια της φυσικής εκτέλεσης. Δεν απαιτείται κάποιος ειδικός έλεγχος για να "περιοριστεί" η επιρροή του cd στο πρώτο process.
ΑΠΟΡΙΑ 2: Πως βαθμολογούται τα ερωτήματα, με τι βάρη;
ΑΠΑΝΤΗΣΗ 2: Το κάθε shell παίρνει ακριβώς το 1/3 του βαθμού της εργασίας. Τα τεστ του κάθε shell, όμως, δεν έχουν το ίδιο βάρος μεταξύ τους, γιατί κάποια τεστ δοκιμάζουν κάποια λειτουργία, κάποια άλλα μια άλλη, κ.ο.κ., και η βαθμολόγηση προσπαθεί να είναι μοιρασμένη σε επίπεδο λειτουργιών κι όχι σε επίπεδο πλήθους τεστ.
ΑΠΟΡΙΑ 3: Κάποιοι δήλωσαν ότι όταν στα attachments συμπεριλαμβάνουν και το report.pdf δεν παίρνουν feedback!
ΑΠΑΝΤΗΣΗ 3: Το δοκίμασα εγώ και δεν διαπίστωσα τέτοια συμπεριφορά. Αν κάποιος είναι βέβαιος ότι έχει παρατηρήσει τέτοια συμπεριφορά, τον παρακαλώ να απαντήσει σε αυτό το mail ή καλύτερα να με βρεί στο μάθημα να μου το πει.
ΑΠΟΡΙΑ 4: Ενώ η εκφώνηση λέει να συναφθούν τα mysh1.c, mysh2.c, mysh3.c, και report.pdf ως ξεχωριστά αρχεία, ασυμπίεστα, καθαρά, στην τελευταία παράγραφο αναφέρει τη συμπερίληψη του report.pdf σε «στο αρχείο tar».
ΑΠΑΝΤΗΣΗ 4: Ήταν ο «δαίμων του τυπογραφείου» :) Γράψτε λάθος -- μόλις διόρθωσα την εκφώνηση! Δεν πρέπει να στείλετε κανένα αρχείο tar. Το κάθε αρχείο πρέπει να είναι συνημμένο ως ξεχωριστό attachment. Άλλωστε το mail που λαμβάνετε αμέσως και επιβεβαιώνει τη λήψη του δικού σας mail σάς λέει και ποια αρχεία λείπουν, αν λείπει κανένα. Φροντίστε στην τελευταία υποβολή να συμπεριλάβετε και τα 4 αρχεία, γιατί μόνο αυτή η υποβολή θα μετρήσει με ό,τι έχει μέσα, και τίποτα παραπάνω!
Καλό βράδυ,
Σπύρος Βούλγαρης