Τμήμα Πληροφορικής - Εαρινό Εξάμηνο 2003
Η/Υ 445: Λειτουργικά Συστήματα
Υποχρεωτικό
μάθημα 4ου
εξαμήνου
Εξέταση
Εργασίας στο MINIX
Η εξέταση της εργασίας στο MINIX (1ο και 2ο μέρος) θα γίνει τις μέρες Τρίτη 27/5, Τετάρτη, 28/5 και Πέμπτη 29/5 στο γραφείο μου. Η εξέταση της εργασίας είναι υποχρεωτική και θα πρέπει όλοι όσοι έχετε παραδώσει την εργασία να έρθετε στην προφορική της εξέταση. Όσοι φοιτητές δεν μπορέσουν να έρθουν θα πρέπει να με ενημερώσουν πριν την εξέταση, διαφορετικά η εργασία τους θα μηδενιστεί. Οι φοιτητές που έχουν παραδώσει την εργασία και θέλουν να εξεταστούν θα πρέπει να δηλώσουν την ώρα της προτίμησής τους σε έναν από τους πίνακες που έχουν αναρτηθεί έξω από το γραφείο μου. Τα δύο μέλη κάθε ομάδας πρέπει να εξεταστούν το ένα μετά το άλλο χωρίς κενό χρόνου ανάμεσά τους. Θα πρέπει επομένως να δηλώσετε την ώρα της προτίμησής σας ανά ομάδα.
Γενικά | Ανακοινώσεις | Ημερολόγιο | Διαφάνειες Διαλέξεων & Άλλο Υλικό | MINIX
Διδάσκουσα:
Παναγιώτα
Φατούρου
Γραφείο:
26 (Α´ ορόφου)
Ώρες Γραφείου:
Δευτέρα, 17:00 – 18:00 & Τρίτη, 13:00-17:00
Ηλεκτρονική
Διεύθυνση:
Τηλέφωνο:
(26510) 98808
Βοηθός Μαθήματος:
Ιωάννης Σταγάκης
Γραφείο Βοηθού: Β27
Ώρες Γραφείου Βοηθού:
Δευτέρα, 14:00-15:00 & Πέμπτη, 14:00-16:00
Ηλεκτρονική Διεύθυνση Βοηθού:
stagakisATcs.uoi.gr
Τηλέφωνο:
(26510) 98842
Ηλεκτρονική Διεύθυνση Μαθήματος:
Δευτέρα,
13:00-17:00, στην αίθουσα
Ι-2.
Τετάρτη, 10:00-12:00,
στην αίθουσα Ι-2.
Τρίτη,
18:00-20:00, στην αίθουσα
Ι-2
Το μάθημα θα εστιάσει στη μελέτη βασικών αρχών, εννοιών και αλγορίθμων λειτουργικών συστημάτων. Τι είναι ένα λειτουργικό σύστημα, Βασικές έννοιες, υπηρεσίες, και δομή λειτουργικών συστημάτων, Διεργασίες (Διαδιεργασιακή Επικοινωνία, Χρονοπρογραμματισμός), Διαχείριση Μνήμης, Συστήματα Αρχείων, Είσοδος/Έξοδος, Αδιέξοδα, Προστασία, καθώς και περιπτώσεις μελέτης συγκεκριμένων λειτουργικών συστημάτων, όπως π.χ., το Unix. Τέλος, θα μελετηθούν θέματα σχεδίασης και υλοποίησης λειτουργικών συστημάτων.
Βιβλία
q
A. S.
Tanenbaum,
“Σύγχρονα Λειτουργικά Συστήματα”,
Prentice-Hall
International,
Κλειδάριθμος, Αθήνα.
q
A. Silberschatz and A.
Galvin, «Operating System Concepts», Addison-Wesley Publishing Company, 5th
Edition1998.
q
A. Tanenbaum and A.
Woodhull, «Operating Systems: Design and Implementation», Prentice Hall, 2hn
Edition, 1996.
q
M. Bauch, «The Design of
the UNIX Operating System», Prentice/Hall International, Inc., New Jersey,
1986.
Το
βιβλίο που θα μοιραστεί στους φοιτητές
είναι το 1ο από τα παραπάνω και το
μάθημα θα βασιστεί κυρίως σε αυτό το βιβλίο.
Οι διαφάνειες του μαθήματος μαζί με τις
σημειώσεις που μπορείτε να κρατάτε κατά την
παράδοση και οποιοδήποτε άλλο υλικό σας
δοθεί στην τάξη θα σας βοηθήσουν να
διεκπεραιώσετε επιτυχώς το μάθημα.
1η
εβδομάδα |
Εισαγωγή, Τι είναι ένα λειτουργικό σύστημα, Ιστορία, Βασικές Έννοιες, Υπηρεσίες. |
2η
εβδομάδα |
Διαδιεργασιακή Επικοινωνία |
3η
εβδομάδα |
Διαδιεργασιακή Επικοινωνία |
4η
εβδομάδα |
Χρονοπρογραμματισμός Διεργασιών |
5η
εβδομάδα |
Διαχείριση Μνήμης |
6η
εβδομάδα |
Διαχείριση Μνήμης |
7η
εβδομάδα |
Συστήματα Αρχείων |
8η
εβδομάδα |
Συστήματα Αρχείων, Είσοδος/Έξοδος |
9η
εβδομάδα |
Είσοδος/Έξοδος |
10η
εβδομάδα |
Αδιέξοδα |
11η
εβδομάδα |
Προστασία |
12η εβδομάδα |
Το λειτουργικό Σύστημα Unix |
13η Εβδομάδα | Το λειτουργικό Σύστημα Unix |
Κατά τη
διάρκεια του εξαμήνου θα δοθούν συνολικά 2
ασκήσεις (των οποίων το μεγαλύτερο βάρος θα
είναι προγραμματιστικό) και 1 εργασία (project) στο MINIX. Ο προγραμματισμός θα γίνει σε γλώσσα C, ενώ θα
χρησιμοποιηθούν διάφορες κλήσεις
συστήματος του Unix.
Κάθε εργασία θα πρέπει να επιστρέφεται πριν
από την αναγραφόμενη ημερομηνία και ώρα
προκειμένου να βαθμολογείται με άριστα το
10. Ωστόσο, παράδοση ασκήσεων μπορεί να γίνει
καθυστερημένα βάσει του εξής αλγόριθμου:
§
Αν η
παράδοση της άσκησης γίνει μέχρι και τρία 24ωρα
μετά την προθεσμία, η άσκηση βαθμολογείται
με μείωση βαθμού κατά 1.0/10.0 μονάδα για κάθε
μέρα καθυστέρησης.
§
Αν η
παράδοση της άσκησης γίνει αφού έχουν
περάσει τρία 24ωρα μετά τη λήξη της
προθεσμίας (και φυσικά πριν την εξέταση της
άσκησης), η άσκηση βαθμολογείται με άριστα
το 5.0/10.0.
Ο
προγραμματισμός,
όπως και η
έκθεση, είναι
μια ιδιαίτερη
ατομική
εργασία. Κάθε
φοιτητής
πρέπει ατομικά
να κατανοήσει
το πρόβλημα και
να
σκιαγραφήσει
μια πιθανή λύση
του (αν και
μπορεί να
ρωτάει το βοηθό
του μαθήματος
τις απορίες του
ή για προβλήματα
στη μετάφραση
του κώδικά του).
Είναι επίσης
σημαντικό να
μπορεί
οποιοσδήποτε
να διαβάσει τον
κώδικά του. Η
βαθμολογία στα
προγράμματα θα
αντικατοπτρίζει
την πληρότητα
και την
ορθότητα, αλλά
και τα
συνοδεύοντα
σχόλια. Μετά
από κάθε
προγραμματιστική
άσκηση ο
φοιτητής θα
πρέπει να κάνει
παρουσίαση (εξήγηση)
του κώδικά του,
σε κάποια
προκαθορισμένη
ημερομηνία. Οι
αντιγραφές
απαγορεύονται
αυστηρά και θα
τιμωρούνται με
μείωση ή
μηδένιση
βαθμού. Είναι
καλύτερα να
παραδοθεί μια
ημιτελή άσκηση
παρά μια
παραλλαγμένη
αντιγραφή.
Οι
φοιτητές
μπορούν να
χρησιμοποιήσουν
οποιονδήποτε
υπολογιστή για
τις
προγραμματιστικές
ασκήσεις τους. Για τη βαθμολόγηση της
άσκησής τους όμως, το πρόγραμμα θα
εκτελείται στα μηχανήματα κάποιου
εργαστηρίου του Τμήματος. Στα μηχανήματα
αυτά θα είναι εγκατεστημένο και το
απαραίτητο λογισμικό για τις ασκήσεις. Όσοι
από τους φοιτητές επιθυμούν να εργαστούν σε
άλλα μηχανήματα θα πρέπει να σιγουρευτούν
ότι ο κώδικας τους τρέχει σωστά και στα
παραπάνω μηχανήματα.
Οι
φοιτητές είναι
υπεύθυνοι για
την κακή χρήση
του
λογαριασμού
τους. Το password τους θα πρέπει
να παραμείνει
μυστικό και ο
λογαριασμός
τους να
χρησιμοποιείτε
μόνο από αυτούς.
Θα πρέπει τέλος
να φροντίζουν η
προστασία του
καταλόγου στον
οποίο
βρίσκονται τα
προγράμματά
τους να μην
επιτρέπει
ανάγνωση (ή
ακόμη
χειρότερα
εγγραφή) από
άλλους (η
εντολή chmod
είναι πολύ
χρήσιμη).
Η
τελική εξέταση
θα γίνει με
ανοιχτά βιβλία.
Άλλου είδους
χαρτιά και
σημειώσεις
απαγορεύονται.
Ο τελικός βαθμός θα εξαρτηθεί τόσο από τη βαθμολογία των ασκήσεων, όσο και από την επίδοση των φοιτητών στην τελική εξέταση, ως εξής:
Σειρές
Ασκήσεων: 30%
Τελική Εξέταση:
70%
Μόνο οι φοιτητές που έχουν συγκεντρώσει
συνολική βαθμολογία 5 (ασκήσεις + τελικό) θα
περάσουν το μάθημα. Ωστόσο, ένας φοιτητής
που θα γράψει λιγότερο από 4.0 στο τελικό
διαγώνισμα δεν θα περάσει το μάθημα
ανεξάρτητα από το πόσο καλές είναι οι
ασκήσεις/εργασίες που έχει παραδώσει.
Ομοίως, ένας φοιτητής που έχει βαθμό
μικρότερο του 3.5 στις ασκήσεις ή στο project δεν θα περάσει το μάθημα
ανεξάρτητα από το πόσο καλό θα είναι το
γραπτό του στην τελική εξέταση.
Ο ίδιος
αλγόριθμος για
την διεξαγωγή
της
βαθμολογίας
ισχύει και στην
εξέταση του
Σεπτεμβρίου.
Η
παρακολούθηση
στις διαλέξεις
αναμένεται,
αλλά δεν είναι
υποχρεωτική.
Ωστόσο, οι
φοιτητές θα
πρέπει να
γνωρίζουν
οτιδήποτε
παρουσιάζεται
ή αναφέρεται
στην τάξη στην
τελική εξέταση.
Μέρος της ύλης δεν
περιέχεται σε
βιβλία ή
παρουσιάζεται
με άλλη σειρά,
για αυτό η
παρακολούθηση
συνίσταται
ισχυρά.
E-mailing Λίστα
& Λογαριασμός Μαθήματος
Για το
μάθημα θα υπάρχει e-mailing
λίστα η οποία θα χρησιμοποιείται για την
αποστολή e-mail σε όλους τους φοιτητές που έχουν δηλώσει
το μάθημα. Οι φοιτητές υποχρεούνται να
εγγραφούν στη λίστα το αργότερο μέχρι τις
24/2/03. Για να εγγραφείτε στη λίστα αρκεί να
στείλετε ένα ηλεκτρονικό μήνυμα (e-mail)
στη διεύθυνση
με κενό
θέμα και σώμα:
Όποιος φοιτητής δεν εγγραφεί στη λίστα, θα διαγραφεί από το μάθημα. Το e-mail address της λίστας είναι
Όλα τα e-mails προς αυτή τη διεύθυνση θα
λαμβάνονται από όλους τους φοιτητές που
έχουν εγγραφεί στη λίστα.
Για το μάθημα υπάρχει επίσης λογαριασμός με e-mail address:
Το e-mail
του λογαριασμού αυτού ελέγχεται συχνά από
τον βοηθό του μαθήματος. Μπορείτε να
στέλνετε e-mails με απορίες τόσο στον
λογαριασμό όσο και στη λίστα. Τα e-mails σας θα
πρέπει να απευθύνονται προς τη λίστα μόνο
αν πιστεύετε πως αυτά που γράφετε ή ρωτάτε
είναι χρήσιμα και ενδιαφέροντα σε όλους
τους συμφοιτητές σας.
Συνίσταται
ισχυρά οι φοιτητές να έχουν
διεκπεραιώσει
με επιτυχία τα
μαθήματα της «Εισαγωγής
στον
Προγραμματισμό», της «Εισαγωγής
στους Η/Υ» και του "Προγραμματισμού
σε C".
Άλλη Βιβλιογραφία
P. Andleigh, "Unix System Architecture", Prentice Hall, New York, 1990.
B. Kernighan and R. Pike, "Το Περιβάλλον Προγραμματισμού UNIX", Κλειδάριθμος, 1989.
W. Stalling, "Operating Systems, Internals and Design Principles", Prentice Hall, Inc., New York, 1998.
R. Switzer, "Operating Systems, A Practical Approach", Prentice Hall, Inc., England, 1993.
Βιβλία σε C
Ομάδα Waite, C: Βήμα-Προς-Βήμα, Εκδότης Γκιούρδας, Αθήνα 1991.
B. Kernighan & D. Ritchie, Η Γλώσσα Προγραμματισμού C, Εκδόσεις Κλειδάριθμος, Αθήνα 1990.
Το μέρος Δρομολόγηση Δίσκων έχει δοθεί στο φωτοτυπικό.
H εξέταση της εργασίας στο MINIX (1ο και 2ο μέρος) θα γίνει τις μέρες Τρίτη 27/5, Τετάρτη, 28/5 και Πέμπτη 29/5 στο γραφείο μου. Η εξέταση της εργασίας είναι υποχρεωτική και θα πρέπει όλοι όσοι έχετε παραδώσει την εργασία να έρθετε στην προφορική της εξέταση. Όσοι φοιτητές δεν μπορέσουν να έρθουν θα πρέπει να με ενημερώσουν πριν την εξέταση, διαφορετικά η εργασία τους θα μηδενιστεί. Οι φοιτητές που έχουν παραδώσει την εργασία και θέλουν να εξεταστούν θα πρέπει να δηλώσουν την ώρα της προτίμησής τους σε έναν από τους πίνακες που έχουν αναρτηθεί έξω από το γραφείο μου. Τα δύο μέλη κάθε ομάδας πρέπει να εξεταστούν το ένα μετά το άλλο χωρίς κενό χρόνου ανάμεσά τους. Θα πρέπει επομένως να δηλώσετε την ώρα της προτίμησής σας ανά ομάδα..
Το project σε MINIX είναι διαθέσιμο.
Την Δευτέρα μετά το μάθημα (5-7 ή 7-9 το απόγευμα) θα γίνει επανάληψη του εργαστηρίου της Πέμπτης, 10/4, προκειμένου να εγκατασταθεί το ΜΙΝΙΧ στους λογαριασμούς των φοιτητών. Το support βρήκε και επέλυσε το πρόβλημα που υπήρχε με το σύστημα και δεν ήταν δυνατή η εγκατάσταση την Πέμπτη, 10/4.
Την Δευτέρα, 14/4, στο μάθημα θα παρουσιαστεί το σύστημα αρχείων του MINIX και θα συζητηθεί το project.
Την Παρασκευή, 11/4, ώρα 9-11, θα γίνει extra δίωρο στην αίθουσα Ι2.
Την Πέμπτη, 10/4, ώρα 18:00-20:00, θα γίνει εργαστήριο στο οποίο θα εγκαταστήσουμε και θα εξηγήσουμε βασικά θέματα που αφορούν το ΜΙΝΙΧ.
H 2η άσκηση είναι διαθέσιμη (το υλικό που χρειάζεστε για να ξεκινήσετε να τη δουλεύετε έχει ήδη δοθεί για φωτοτύπηση).
Την Πέμπτη, 20/3/03, ώρα 18:00-20:00 θα γίνει εργαστήριο όπου θα συζητηθούν τα pipes και οι άλλες κλήσεις συστήματος που χρειάζεστε για να υλοποιήσετε την άσκηση.
Την Τρίτη 18/2 θα αναπληρωθεί το μάθημα της Τετάρτης 12/2 στην αίθουσα Ι2, ώρα 18:00-20:00.
Το μάθημα της Τετάρτης 19/2 θα πραγματοποιηθεί κανονικά στην αίθουσα Ι2, ώρα 12:00-14:00.
Το πρώτο μάθημα θα γίνει τη Δευτέρα 10/2/03 στην αίθουσα Ι2.
Το
μάθημα της Τετάρτης 12/2/03 αναβάλλεται λόγω
απουσίας της διδάσκουσας στο εξωτερικό. Το
μάθημα θα αναπληρωθεί με κάποιο exta δίωρο
μέσα στο εξάμηνο.
Δευτέρα | Τρίτη | Τετάρτη | Πέμπτη | Παρασκευή |
10/2 Συζήτηση επί του μαθήματος. Syllabus. Εισαγωγή.
Μελέτη Ενοτήτων 1.1, 1.2, 1.3, Tanenbaum.
|
11/2
|
12/2
Απουσία Διδάσκουσας στο Εξωτερικό.
|
13/2
|
14/2
|
17/2
Εισαγωγή. Μελέτη διαφανειών. Μελέτη Ενοτήτων 1.4, 1.5, 1.6, 1.7, Τanenbaum. Μελέτη Κεφαλαίου 1 & 2, Silberschatz & Galvin (φωτοτυπίες των κεφαλαίων αυτών έχουν δοθεί για φωτοτύπηση).
|
18/2
Διεργασίες - Διαδιεργασιακή Επικοινωνία. Μελέτη Διαφανειών. Μελέτη Ενοτήτων 2.1 και 2.3.1-2.3.5, Tanenbaum. (Αναπλήρωση μαθήματος Τετάρτης 12/2).
|
19/2
Διαδιεργασιακή Επικοινωνία. Μελέτη διαφανειών. Μελέτη Ενοτήτων 2.3.6-2.3.8, Tanenbaum.
|
20/2
|
21/2
|
24/2
Διαδιεργασιακή Επικοινωνία. Μελέτη Διαφανειών & Ενότητας 2.2.9, προηγούμενη έκδοση Tanenbaum (υλικό που μοιράστηκε στο μάθημα).
|
25/2
Εργαστηριακή Απασχόληση
|
26/2
Διαδιεργασιακή Επικοινωνία. Μελέτη Διαφανειών & Ενότητας 2.4, Tanenbaum. Η ύλη
για την 1η άσκηση έχει καλυφθεί. Η
έμφαση θα πρέπει να δοθεί στον
προγραμματισμό της άσκησής σας. 1η άσκηση |
27/2
|
28/2
|
3/3 Χρονοπρογραμματισμός Διεργασιών. Μελέτη Διαφανειών, μέρους του υλικού από το βιβλίο Silberschatz & Galvin που σας μοιράστηκε στο μάθημα & Ενοτήτων 2.4.2, 2.4.4.
|
4/3 Εργαστηριακή Απασχόληση
|
5/3 Χρονοπρογραμματισμός Διεργασιών. Μελέτη Διαφανειών, υλικού από το βιβλίο Silberschatz & Galvin που σας μοιράστηκε στο μάθημα & Ενοτήτων 2.4.1, 2.4.3. 2.4.5-2.4.7.
|
6/3 |
7/3
|
10/3 Αργία |
11/3 Αργία |
12/3 Φροντιστηριακή Απασχόληση |
13/3
|
14/3
|
17/3
Φροντιστηριακή Απασχόληση
|
18/3
Extra δίωρο (αναπλήρωση μαθημάτων που χάθηκαν λόγω αργιών). Βασική Διαχείριση Μνήμης, Εναλλαγή. Μελέτη Διαφανειών & Ενοτήτων 4.1 - 4.2, Tanenbaum.
|
19/3
Εικονική Μνήμη, Αλγόριθμοι Αντικατάστασης Σελίδων. Μελέτη Διαφανειών & Ενοτήτων 4.3, 4.4.1-4.4.5, Tanenbaum. Η έμφαση θα πρέπει να δοθεί στον προγραμματισμό της άσκησής σας. 2η άσκηση |
20/3
|
21/3
|
24/3
Αλγόριθμοι Αντικατάστασης Σελίδων, Μοντελοποίηση των Αλγορίθμων Αντικατάστασης Σελίδας. Μελέτη Διαφανειών & Ενοτήτων 4.4.6-4.410, 4.5, Tanenbaum. Η έμφαση θα πρέπει να δοθεί στον προγραμματισμό της άσκησής σας. |
25/3
Φροντιστηριακή Απασχόληση
|
26/3
Θέματα Σχεδιασμού για τα Συστήματα
Σελιδοποίησης, Ζητήματα Υλοποίησης.
Μελέτη Διαφανειών & Ενοτήτων 4.6, 4.7,
Tanenbaum.
|
27/3
|
28/3
|
31/3
Απουσία Διδάσκουσας.
|
1/4
Φροντιστηριακή Απασχόληση
|
2/4
Κατάτμηση. Μελέτη Διαφανειών, Ενότητας 4.8, Tanenbaum & Υλικού που έχει δοθεί για φωτοτύπηση. |
3/4
|
4/4
|
7/4
Αρχεία, Κατάλογοι. Μελέτη Διαφανειών & Ενοτήτων 6.1 & 6.2, Tanenbaum.
|
8/4
Extra δίωρο. Υλοποίηση Συστήματος Αρχείων. Μελέτη Διαφανειών & Ενοτήτων 6.3-6.4, Tanenbaum. Η ύλη για το project έχει καλυφθεί. |
9/4
Φοιτητικές Εκλογές 2η άσκηση due
|
10/4
Extra δίωρο. Εγκατάσταση MINIX. ΜΙΝΙΧ project
|
11/4
Extra δίωρο. Είσοδος-Έξοδος. Μελέτη διαφανειών & Υλικού που έχει δοθεί για φωτοτύπηση.
|
14/4
To Σύστημα Αρχείων του MINIX. Συζήτηση επί του project. Μελέτη υλικού που έχει δοθεί για φωτοτύπηση.
|
15/4
Extra Δίωρο. Αδιέξοδα. Μελέτη Διαφανειών & Υλικού που έχει δοθεί για φωτοτύπηση.
|
16/4
Αδιέξοδα. Μελέτη Διαφανειών & Υλικού
που έχει δοθεί για φωτοτύπηση.
|
17/4
|
18/4
|
21/4
|
22/4
|
23/4
|
24/4
|
25/4
|
5/5
Ασφάλεια Συστημάτων, Μελέτη διαφανειών Το βάρος θα πρέπει να δοθεί στο project |
6/5
|
7/5
Φοιτητικές Εκλογές
|
8/5
|
9/5
|
12/5
UNIX, Μελέτη διαφανειών Το βάρος θα πρέπει να δοθεί στο project |
13/5
|
14/5
UNIX, Μελέτη Διαφανειών
|
15/5
|
16/5
|
19/5
Φροντιστηριακή Απασχόληση project due, Mέρος A |
20/5
|
21/5
Φροντιστηριακή Απασχόληση
|
22/5
|
23/5
|
26/5
project due, Μέρος Β |
27/5
Eξέταση project |
28/5
Εξέταση project |
29/5
Εξέταση project |
30/5
|
To project σε MINIX είναι διαθέσιμo (project.doc).
Η 2η προγραμματιστική άσκηση είναι διαθέσιμη (os-homework2.doc).
Η 1η προγραμματιστική άσκηση είναι διαθέσιμη (os-homework1.doc).
Γενικές Πληροφορίες για το μάθημα
(syllabus.doc)
Οδηγίες εγκατάστασης
rm myminix/src/tools/.minix
cp /opt/MINIX/src/tools/.minix myminix/src/toolsΜετά από όλα αυτά, θα χρησιμοποιηθούν περίπου 6,4 MBytes στον λογαριασμό σας για το MINIX.
setenv MX_LIB ~/myminix/src/lib setenv MX_INCL ~/myminix/include setenv PATH ~/myminix/bin:${PATH} |
και πρέπει να τοποθετήσετε τις εντολές αυτές στο αρχείο .cshrc. Κάθε φορά που αλλάζετε το αρχείο .cshrc θα πρέπει να το εκτελείτε. Αυτό γίνεται με την ενοτλή:
source .cshrc
Οι εντολές για bash έχουν ως εξής
export MX_LIB=~/myminix/src/lib export MX_INCL=~/myminix/include export PATH=~/myminix/bin:${PATH}και πρέπει να τοποθετήσετε τις εντολές αυτές στο αρχείο .profile. Κάθε φορά που αλλάζετε το αρχείο .profile θα πρέπει να το εκτελείτε. Αυτό γίνεται με την εντολή:./.profile
Tα αρχεία .profile και .cshrc βρίσκονται στο home directory της περιοχής σας. Τις αλλαγές στα αρχεία αυτά θα πρέπει να τις κάνετε μόνο μία φορά ακόμη και αν εγκαταστήσετε το MINIX πολλές φορές κατά τη διάρκεια διεκπεραίωσης της εργασίας σας.
Ελέγξτε το path εκτελώντας την εντολή "which minix" για να βεβαιωθείτε ότι τρέχετε το σωστό minix (από τον προσωπικό σας κατάλογο).
1η Εμπειρία με το MINIX
- Προσθέστε στο αρχείο /etc/passwd τη γραμμή
david::20:3:David Smith:/usr/david:/usr/bin/ash
- Δημιουργήστε τον πρωταρχικό κατάλογο του χρήστη και τοποθετήστε τα αρχεία .profile και .ashrc στον κατάλογο αυτό εκτελώντας τις εντολές:
mkdir /usr/david
cp /.profile /usr/david
cp /.ashrc /usr/david
chown -R david /usr/david
chgrp -R other /usr/david
- Τέλος μπορείτε να καθορίσετε το passwd του χρήστη με την εντολή "passwd david".
- Tώρα μπορείτε να κάνετε log out (από το λογαριασμό root) και να κάνετε login ως david.
Τα προγράμματα που θα φτιάξετε για το MINIX θα
τα αναπτύξετε εκτός MINIX (έστω π.χ., ότι έχετε
φτιάξει ένα απλό πρόγραμμα, hello.c, σε C στο
λογαριασμό σας στο SOLARIS). Συγκεκριμένα:
sunread [όλο to pathname του αρχείου στο solaris] > [minixfilename] (sunread <solaris-path>/hello > hello)
Τροποποιώντας το ίδιο το MINIX
Από τη στιγμή που όλα τα αρχεία στον κατάλογο myminix είναι soft links σε αρχεία του συστήματος, δεν μπορείτε προφανώς να τα τροποποιήσετε. Θα πρέπει να αντικαταστήσετε τα links των αρχείων που θα τροποποιήσετε με κανονικά αντίγραφα από τα αρχεία στο /opt/MINIX. Πρέπει επομένως να αντικαταστήσετε όλα τα links του directory ~/myminix/src/fs με τα πραγματικά αρχεία.
Θα πρέπει επίσης να αντικαταστήστε τα soft links myminix/src/mm/mm.map, myminix/src/fs/fs.map, myminix/src/inet/inet.map και myminix/src/tools/image με αντίγραφα από τα πραγματικά αρχεία (ή να σβήσετε αυτά τα αρχεία: εκτελώντας make image στη συνέχεια όλα τα αρχεία αυτά θα ξαναδημιουργηθούν).
Κάθε φορά που κάνετε αλλαγές σε κάποιο αρχείο, θα πρέπει να πηγαίνετε στον κατάλογο myminix/src/tools και να εκτελείτε την εντολή "make image".
Για να δείτε αν όλα πήγαν καλά, τρέξτε και πάλι το minix.
Δοκιμάστε να τοποθετήσετε μια printf στη συνάρτηση main() του αρχείου main.c στον κατάλογο fs και ακολουθήστε την παραπάνω διαδικασία για να δείτε αν όλα δουλεύουν σωστά.
Έλεγχος αλλαγών στο κώδικα του MINIX
Ξεκινήστε το MINIX με την εντολή "minix -d" για να ενεργοποιήσετε το μηχανισμό αποσφαλμάτωσης.
Μπορείτε να χρησιμοποιείτε την εντολή printf για να ελέγχετε τη ροή του προγράμματος σας (τα μηνύματα που τυπώνετε τα βλέπετε κανονικά στην οθόνη).
Στον κατάλογο myminix/src/test εκτελέστε την εντολή "make all". Στη συνέχεια, log in στο MINIX σαν root και πηγαίνετε στον κατάλογο /usr/test. Τροποποιήστε το αρχείο testload του καταλόγου: στην γραμμή sunosdir δηλώστε το πλήρες όνομα διαδρομής του test καταλόγου στο λογαριασμό σας στο SOLARIS. Στη συνέχεια, εκτελέστε την εντολή ./testload και αμέσως μετά την εντολή ./run για να τρέξετε τα tests και να ελέγξετε το σύστημα.. Μερικά tests μπορεί να αποτυγχάνουν όταν τα τρέχετε σαν root γιατί πρέπει να τρέξουν από το λογαριασμό bin. Αφού βγείτε από τον λογαριασμό root και μπείτε στον bin ξαναεκτελέστε την εντολή ./run για να τρέξετε και τα υπόλοιπα προγράμματα.
Βιβλιογραφία
A. Tanenbaum & A. Woodhull, "Operating Systems: Design and Implementation", Prentice-Hall, New Jersey, 1997.
Paper για SOLARIS MINIX (Smx--the Solaris Port of MINIX, SunOS Minix: A tool for use in Operating System Laboratories).
Aρχεία στο /opt/MINIX/doc.
Τελευταία
τροποποίηση:26/2/03
Κατασκευή και συντήρηση
σελίδων: Παναγιώτα
Φατούρου