Τμήμα
Πληροφορικής,
Άνοιξη 2001
Η/Υ 4-45: Λειτουργικά Συστήματα
Υποχρεωτικό
μάθημα 4ου
εξαμήνου
Εξέταση MINIX
Η εξέταση του project θα γίνει τις μέρες Τετάρτη, 19/6, Πέμπτη, 20/6 και Παρασκευή, 21/6 στο εργαστήριο unix του πρώτου ορόφου (ή στο γραφείο μου). Η εξέταση του project είναι υποχρεωτική και θα πρέπει όλοι όσοι το έχετε παραδώσει να έρθετε στην προφορική εξέταση. Όσοι φοιτητές δεν μπορέσουν να έρθουν θα πρέπει να με ενημερώσουν πριν την εξέταση, διαφορετικά το project τους θα μηδενιστεί. Οι φοιτητές που έχουν παραδώσει το project και θέλουν να εξεταστούν θα πρέπει να δηλώσουν την ώρα της προτίμησής τους σε έναν από τους πίνακες που έχουν αναρτηθεί έξω από το γραφείο μου.
Φοιτητές μεγάλου έτους που δεν «χρωστούν»
τα μαθήματα Θεωρία Υπολογισμού και Fortran
καλό θα ήταν να δηλώσουν ημερομηνία
εξέτασης την Τετάρτη, 19/6.
Εξέταση 2ης Προγραμματιστικής Άσκησης
Η εξέταση της 2ης προγραμματιστικής άσκησης θα γίνει τις μέρες Τρίτη, 21/5 και την Τετάρτη, 22/5 στο εργαστήριο unix του πρώτου ορόφου. Η εξέταση της άσκησης είναι υποχρεωτική και θα πρέπει όλοι όσοι έχετε παραδώσει την άσκηση να έρθετε στην προφορική της εξέταση. Όσοι φοιτητές δεν μπορέσουν να έρθουν θα πρέπει να με ενημερώσουν πριν την εξέταση, διαφορετικά η άσκηση τους θα μηδενιστεί. Οι φοιτητές που έχουν παραδώσει την άσκηση και θέλουν να εξεταστούν θα πρέπει να δηλώσουν την ώρα της προτίμησής τους σε έναν από τους πίνακες που έχουν αναρτηθεί έξω από το γραφείο μου.
Εξέταση 1ης Προγραμματιστικής Άσκησης
Η εξέταση αναβάλλεται για μετά το Πάσχα. Οι νέες μέρες εξέτασης είναι Τετάρτη 15/5, και Πέμπτη, 16/5, τις ώρες που έχετε ήδη δηλώσει!!!!
Τις μέρες Τρίτη 23/4, Τετάρτη, 24/4, και Πέμπτη, 25/4, θα πραγματοποιηθεί η εξέταση της 1ης προγραμματιστικής άσκησης στο εργαστήριο unix στον 1ο όροφο. Η εξέταση είναι υποχρεωτική. Ασκήσεις που δεν θα εξεταστούν προφορικά (λόγω απουσίας του φοιτητή) θα μηδενίζονται. Η εξέταση δεν θα επαναληφθεί και μόνο αυτοί με αποδεικτέα σοβαρό λόγο θα εξεταστούν μετά από αυτή την ημερομηνία. Σε αυτή την περίπτωση ο φοιτητής θα πρέπει να με ενημερώσει πριν από την εξέταση. Όλοι οι φοιτητές που θα εξεταστούν θα πρέπει να δηλώσουν τη μέρα και ώρα εξέτασής τους στους πίνακες που έχουν αναρτηθεί έξω από το γραφείο μου.
Γενικά | Ανακοινώσεις | Ημερολόγιο | Διαφάνειες Διαλέξεων & Άλλο Υλικό | MINIX
Διδάσκουσα:
Παναγιώτα
Φατούρου
Γραφείο:
26 (Α´ ορόφου)
Ώρες Γραφείου:
Δευτέρα: 14:00 – 16:00, Τετάρτη: 11:00-13:00
Ηλεκτρονική
Διεύθυνση:
Τηλέφωνο:
(06510) 98808
Βοηθός Μαθήματος:
Ιωάννης Σταγάκης
Γραφείο Βοηθού: Β27
Ώρες Γραφείου Βοηθού:
Πέμπτη, 14:00-16:00, Παρασκευή, 14:00-16:00
Ηλεκτρονική Διεύθυνση Βοηθού:
stagakisATcs.uoi.gr
Τηλέφωνο:
(06510) 98842
Ηλεκτρονική Διεύθυνση Μαθήματος:
Δευτέρα,
16:00-18:00, στην αίθουσα
Ι-2.
Τετάρτη, 9:00-11: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 |
Κατά
τη διάρκεια του
εξαμήνου θα
δοθούν 5 προγραμματιστικές εργασίες.
Ο
προγραμματισμός
θα γίνει σε
γλώσσα C, ενώ θα χρησιμοποιηθούν
διάφορες κλήσεις συστήματος του Unix.
Επίσης, θα χρησιμοποιηθούν περιβάλλοντα/εργαλεία
που επιτρέπουν την υλοποίηση βασικών
αλγορίθμων λειτουργικών συστημάτων, όπως π.χ.,
το OSP (Operating Systems Project) ή
το MINIX.
Κάθε εργασία θα
πρέπει να
επιστρέφεται
πριν από την
αναγραφόμενη
ημερομηνία και
ώρα.
Καθυστερημένες
εργασίες, χωρίς
προηγούμενη
συνεννόηση με
τη διδάσκουσα,
δεν θα γίνονται
δεκτές.
Ο
προγραμματισμός,
όπως και η
έκθεση, είναι
μια ιδιαίτερη
ατομική
εργασία. Κάθε
φοιτητής
πρέπει ατομικά
να κατανοήσει
το πρόβλημα και
να
σκιαγραφήσει
μια πιθανή λύση
του (αν και
μπορεί να
ρωτάει το βοηθό
του μαθήματος
τις απορίες του
ή για προβλήματα
στη μετάφραση
του κώδικά του).
Είναι επίσης
σημαντικό να
μπορεί
οποιοσδήποτε
να διαβάσει τον
κώδικά του. Η
βαθμολογία στα
προγράμματα θα
αντικατοπτρίζει
την πληρότητα
και την
ορθότητα, αλλά
και τα
συνοδεύοντα
σχόλια. Μετά
από κάθε
προγραμματιστική
άσκηση ο
φοιτητής θα
πρέπει να κάνει
παρουσίαση (εξήγηση)
του κώδικά του,
σε κάποια
προκαθορισμένη
ημερομηνία. Οι
αντιγραφές
απαγορεύονται
αυστηρά και θα
τιμωρούνται με
μείωση ή
μηδένιση
βαθμού. Είναι
καλύτερα να
παραδοθεί μια
ημιτελή άσκηση
παρά μια
παραλλαγμένη
αντιγραφή.
Οι
φοιτητές
μπορούν να
χρησιμοποιήσουν
οποιονδήποτε
υπολογιστή για
τις
προγραμματιστικές
ασκήσεις τους. Για τη βαθμολόγηση της
άσκησής τους όμως, το πρόγραμμα θα
εκτελείται στα μηχανήματα κάποιου
εργαστηρίου του Τμήματος. Στα μηχανήματα
αυτά θα είναι εγκατεστημένο και το
απαραίτητο λογισμικό για τις ασκήσεις. Όσοι
από τους φοιτητές επιθυμούν να εργαστούν σε
άλλα μηχανήματα θα πρέπει να σιγουρευτούν
ότι ο κώδικας τους τρέχει σωστά και στα
παραπάνω μηχανήματα.
Οι
φοιτητές είναι
υπεύθυνοι για
την κακή χρήση
του
λογαριασμού
τους. Το password τους θα πρέπει
να παραμείνει
μυστικό και ο
λογαριασμός
τους να
χρησιμοποιείτε
μόνο από αυτούς.
Θα πρέπει τέλος
να φροντίζουν η
προστασία του
καταλόγου στον
οποίο
βρίσκονται τα
προγράμματά
τους να μην
επιτρέπει
ανάγνωση (ή
ακόμη
χειρότερα
εγγραφή) από
άλλους (η
εντολή chmod
είναι πολύ
χρήσιμη).
Η
τελική εξέταση
θα γίνει με
ανοιχτά βιβλία.
Άλλου είδους
χαρτιά και
σημειώσεις
απαγορεύονται.
Σειρές
Ασκήσεων: 35%
Τελική Εξέταση:
65%
Προκειμένου ένας φοιτητής να περάσει το
μάθημα πρέπει να γράψει τουλάχιστον 4.5 στο
τελικό διαγώνισμα, ανεξάρτητα από το πόσο
καλές είναι οι εργασίες που έχει παραδώσει
και θα πρέπει να έχει βαθμό τουλάχιστον 4
στις εργασίες του (ανεξάρτητα από το πόσο
καλό θα είναι το γραπτό του στην τελική
εξέταση).
Ο ίδιος
αλγόριθμος για
την διεξαγωγή
της
βαθμολογίας
ισχύει και στην
εξέταση του
Σεπτεμβρίου.
Η
παρακολούθηση
στις διαλέξεις
αναμένεται,
αλλά δεν είναι
υποχρεωτική.
Ωστόσο, οι
φοιτητές θα
πρέπει να
γνωρίζουν
οτιδήποτε
παρουσιάζεται
ή αναφέρεται
στην τάξη στην
τελική εξέταση.
Μέρος της ύλης δεν
περιέχεται σε
βιβλία ή
παρουσιάζεται
με άλλη σειρά,
για αυτό η
παρακολούθηση
συνίσταται
ισχυρά.
Συνίσταται
ισχυρά οι φοιτητές να έχουν
διεκπεραιώσει
με επιτυχία τα
μαθήματα της «Εισαγωγής
στον
Προγραμματισμό», της «Εισαγωγής
στους Η/Υ» και του "Προγραμματισμού
σε 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.
Παράταση Παράδοσης του MINIX: 1ο μέρος: 29/5, 2ο μέρος: 18/6.
Εξέταση MINIX: Η εξέταση του project θα γίνει τις μέρες Τετάρτη, 19/6, Πέμπτη, 20/6 και Παρασκευή, 21/6 στο εργαστήριο unix του πρώτου ορόφου (ή στο γραφείο μου). Η εξέταση του project είναι υποχρεωτική και θα πρέπει όλοι όσοι το έχετε παραδώσει να έρθετε στην προφορική εξέταση. Όσοι φοιτητές δεν μπορέσουν να έρθουν θα πρέπει να με ενημερώσουν πριν την εξέταση, διαφορετικά το project τους θα μηδενιστεί. Οι φοιτητές που έχουν παραδώσει το project και θέλουν να εξεταστούν θα πρέπει να δηλώσουν την ώρα της προτίμησής τους σε έναν από τους πίνακες που έχουν αναρτηθεί έξω από το γραφείο μου.
Φοιτητές μεγάλου έτους που δεν «χρωστούν» τα μαθήματα Θεωρία Υπολογισμού και Fortran καλό θα ήταν να δηλώσουν ημερομηνία εξέτασης την Τετάρτη, 19/6.
Εξέταση 2ης Προγραμματιστικής Άσκησης: Τις μέρες Τρίτη 21/5 και Τετάρτη, 22/5 θα πραγματοποιηθεί η εξέταση της 2ης προγραμματιστικής άσκησης στο εργαστήριο unix στον 1ο όροφο (ή στο γραφείο μου). Η εξέταση είναι υποχρεωτική. Ασκήσεις που δεν θα εξεταστούν προφορικά (λόγω απουσίας του φοιτητή) θα μηδενίζονται. Η εξέταση δεν θα επαναληφθεί και μόνο αυτοί με αποδεικτέα σοβαρό λόγο θα εξεταστούν μετά από αυτή την ημερομηνία. Σε αυτή την περίπτωση ο φοιτητής θα πρέπει να με ενημερώσει πριν από την εξέταση. Όλοι οι φοιτητές που θα εξεταστούν θα πρέπει να δηλώσουν τη μέρα και ώρα εξέτασής τους στους πίνακες που έχουν αναρτηθεί έξω από το γραφείο μου.
Εξέταση 1ης Προγραμματιστικής Άσκησης: Τις μέρες Τρίτη 23/4, Τετάρτη, 24/4, και Πέμπτη, 25/4, θα πραγματοποιηθεί η εξέταση της 1ης προγραμματιστικής άσκησης στο εργαστήριο unix στον 1ο όροφο. Η εξέταση είναι υποχρεωτική. Ασκήσεις που δεν θα εξεταστούν προφορικά (λόγω απουσίας του φοιτητή) θα μηδενίζονται. Η εξέταση δεν θα επαναληφθεί και μόνο αυτοί με αποδεικτέα σοβαρό λόγο θα εξεταστούν μετά από αυτή την ημερομηνία. Σε αυτή την περίπτωση ο φοιτητής θα πρέπει να με ενημερώσει πριν από την εξέταση. Όλοι οι φοιτητές που θα εξεταστούν θα πρέπει να δηλώσουν τη μέρα και ώρα εξέτασής τους στους πίνακες που έχουν αναρτηθεί έξω από το γραφείο μου.
Το Project είναι διαθέσιμο (ημερομηνία παράδοσης, Μέρος Α: 24/5, ώρα 12:59, Μέρος Β: 29/5, ώρα: 12:59). Πληροφορίες για το MINIX.
Το 3ο Σετ Ασκήσεων είναι διαθέσιμο (ημερομηνία παράδοσης, 30/4/02, ώρα 12:59). Δόθηκε παράταση από 26/4 σε 30/4.
Το μάθημα της Δευτέρας 15/4, θα γίνει την Τρίτη 16/4, ώρα 18:00-20:00 στην αίθουσα Ι2. Την Δευτέρα 15/4 θα γίνει φροντιστήριο την ώρα του μαθήματος.
Την Τρίτη, 9/4/02, ώρα 18:00-20:00, θα γίνει φροντιστήριο στην αίθουσα Ι2.
Την Τρίτη, 2/4/02, ώρα 18:00-20:00, θα γίνει φροντιστήριο στην αίθουσα Ι2.
Το 2ο Σετ Ασκήσεων είναι διαθέσιμο (ημερομηνία παράδοσης, 11/4/02, ώρα 12:59).
Την Τρίτη, 26/3/02, ώρα 18:00-20:00, θα γίνει φροντιστήριο στην αίθουσα Ι2.
Την Τρίτη, 12/3/02, ώρα 18:00-20:00, θα γίνει μάθημα στην αίθουσα Ι2. Το φροντιστήριο που ήταν προγραμματισμένο για τν ίδια ώρα θα γίνει στην ώρα του μαθήματος της Τετάρτης, 13/3/02 (ώρα 9:00 - 11:00) (δηλαδή το μάθημα θα γίνει την ώρα του φροντιστηρίου και το φροντιστήριο την ώρα του μαθήματος).
Οι διαφάνειες των 5 πρώτων διαλέξεων έχουν δοθεί για φωτοτύπηση (Φωτοτυπίες Αθανασόπουλος, πίσω από τη Νομαρχεία).
Το 1ο Σετ Ασκήσεων είναι διαθέσιμο (ημερομηνία παράδοσης, 21/3/02, ώρα 12:59).
Την Τρίτη, 5/3/02 θα γίνει φροντιστήριο στην αίθουσα Ι2.
Το πρώτο
μάθημα θα γίνει την Τετάρτη 13/2/02 στην
αίθουσα Ι2.
Δευτέρα | Τρίτη | Τετάρτη | Πέμπτη | Παρασκευή |
11/2 --------------- |
12/2
|
13/2
Συζήτηση επί του μαθήματος. Syllabus. |
14/2
|
15/2
|
18/2
Εισαγωγή. Μελέτη διαφανειών & |
19/2
|
20/2
Διαδιεργασιακή Επικοινωνία Μελέτη διαφανειών & Παρ. 2.1, Tanenbaum
|
21/2
|
22/2
|
25/2
Διαδιεργασιακή Επικοινωνία. Μελέτη διαφανειών & Παρ. 2.2.1-2.2.4, Tanenbaum |
26/2
|
27/2
Διαδιεργασιακή Επικοινωνία Μελέτη διαφανειών & Παρ. 2.2.5-2.2.7, Tanenbaum |
28/2
|
1/3
|
4/3
Διαδιεργασιακή Επικοινωνία Μελέτη διαφανειών & Παρ. 2.2.8-2.2.9, 2.3.1 Tanenbaum
|
5/3
Φροντιστηριακή Απασχόληση
|
6/3
Διαδιεργασιακή Επικοινωνία. Μελέτη διαφανειών & Παρ. 2.3.2-2.3.2, Tanenbaum 1ο Σετ Ασκήσεων (out) Συζήτηση 1ης Άσκησης Σετ Η ύλη για την επίλυση του 1ου Σετ
Aσκήσεων έχει καλυφθεί. |
7/3
|
8/3
|
11/3
Χρονοπρογραμματισμός Διεργασιών Μελέτη διαφανειών & Παρ. 2.4 Εισαγωγή, 2.4.2, 2.4.4, 2.4.7, Tanenbaum & Sec. 4.1-4.2, 4.3.1-4.3.4, Silberschatz & Galvin |
12/3
Χρονοπρογραμματισμός Διεργασιών Μελέτη διαφανειών & Παρ. 2.4.1, 2.4.3, 2.4.5 2.4.6, και 3.1, Tanenbaum
|
13/3
Φροντιστηριακή &
Εργαστηριακή Απασχόληση
|
14/3
|
15/3
|
18/3
--------------- |
19/3
-------------------- |
20/3
Μελέτη διαφανειών & Παρ. 3.2, 3.3.1, 3.3.2, Tanenbaum |
21/3
1o Σετ Ασκήσεων (due)
|
22/3
|
25/3
----------------
|
26/3
Φροντιστηριακή Απασχόληση
|
27/3
Μελέτη διαφανειών & Παρ. 3.3.3, 3.3.4, 3.3.5, 3.4, Tanenbaum
|
28/3
|
29/3
|
1/4
Μελέτη διαφανειών & Παρ. 3.5, 3.6, Tanenbaum
|
2/4
|
3/4
Μελέτη διαφανειών & Παρ. 3.7, Tanenbaum, Sec. 5.7, Silberschatz & Galvin |
4/4
|
5/4
|
8/4
Μελέτη διαφανειών & Κεφ. 6, Tanenbaum
|
9/4
Φροντιστηριακή Απασχόληση
|
10/4
Μελέτη διαφανειών & Κεφ. 5, Tanenbaum (επιλεκτική μελέτη), Chapter 7, Silberschatz & Galvin |
11/4
2ο Σετ Ασκήσεων (due)
|
12/4
|
15/4
Φροντιστηριακή Απασχόληση
|
16/4
Μελέτη διαφανειών & Παρ. 4.1, 4.2, Τanenbaum |
17/4
Μελέτη διαφανειών & Παρ. 4.3, Τanenbaum
|
18/4
|
19/4
|
22/4
Μελέτη διαφανειών & Παρ. 4.4, Τanenbaum |
23/4 Φροντιστηριακή Απασχόληση
|
24/4
---------------
|
25/4
|
26/4
3o Σετ Ασκήσεων (due) |
13/5
Μελέτη διαφανειών & Παρ. 4.5, Τanenbaum |
14/5
|
15/5
Μελέτη διαφανειών & Παρ. 7.1-7.3, Τanenbaum |
16/5
|
17/5
|
20/5 Μελέτη διαφανειών & Παρ. 7.4-7.5, Τanenbaum |
21/5
|
22/5
|
23/5
|
24/5 Project, Μέρος Α (due) |
27/5
|
28/5
|
29/5
Project, Μέρος Β (due) |
30/5
|
31/5
|
Project (os-project.ps). Πληροφορίες για το MINIX.
3ο Σετ Ασκήσεων (os-homework3.ps)
2ο Σετ Ασκήσεων (os-homework2.ps)
1ο Σετ Ασκήσεων (os-homework1.ps)
Γενικές Πληροφορίες για το μάθημα
(syllabus.ps)
Οδηγίες εγκατάστασης
setenv MX_LIB ~/myminix/src/lib setenv MX_INCL ~/myminix/include setenv PATH ~/myminix/bin:${PATH} |
Ελέγξτε το 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.
Θα πρέπει επίσης να αντικαταστήστε τα soft links myminix/src/mm/mm.map, myminix/src/fs/fs.map, myminix/src/inet/inet.map και myminix/src/tools/image με αντίγραφα από τα πραγματικά αρχεία.
Κάθε φορά που κάνετε αλλαγές σε κάποιο αρχείο, θα πρέπει να πηγαίνετε στον κατάλογο myminix/src/tools και να εκτελείτε την εντολή "make image".
Για να δείτε αν όλα πήγαν καλά, τρέξτε και πάλι το minix.
Δοκιμάστε να τοποθετήσετε μια printf στη συνάρτηση alloc_mem του αρχείου alloc.c και ακολουθήστε την παραπάνω διαδικασία για να δείτε αν όλα δουλεύουν σωστά.
Έλεγχος αλλαγών στο κώδικα του 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.
Τελευταία
τροποποίηση:15/5/02
Κατασκευή και συντήρηση
σελίδων: Παναγιώτα
Φατούρου