ΕΡΓΑΣΤΉΡΙΟ ΛΕΙΤΟΥΡΓΙΚΏΝ ΣΥΣΤΗΜΆΤΩΝ ΜΆΘΗΜΑ 6OΥ ΕΞΑΜΉΝΟΥ, ΤΟΜΈΑΣ ΛΟΓΙΚΟΎ ΚΑΙ ΥΠΟΛΟΓΙΣΤΏΝ - 2013-2014 Δρ. Α. Κομνηνός

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
GB ( ) 5 1 ( ) ( ) ( /cm 2 ) 0.2 /30min·φ90 (5 /m 3 ) 0.4 /30min·φ90 (10 /m 3 ) /30min·φ90 (25 /m 3 )
Advertisements

Παρουσιαση θεμάτων ασφάλειας Βιβλιογραφία : ΤΟΤΑ L XAKER #36, #37,#38.
ΙΩΑΝΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΥ 2ο ΦΡΟΝΤΙΣΤΗΡΙΟ ΠΑΡΑΣΚΕΥΗ 26 ΟΚΤΩΒΡΙΟΥ 2012 ΑΙΘΟΥΣΑ Β4 11.
Computers: Information Technology in Perspective By Long and Long Copyright 2002 Prentice Hall, Inc. Λογισμικό Διάλεξη 5 η.
Εισαγωγή στους Η.Υ. Πανίκος Βρυωνίδης.
Παπακώστας Μιχάλης ΑΜ:
ΕΡΓΑΣΤΉΡΙΟ ΛΕΙΤΟΥΡΓΙΚΏΝ ΣΥΣΤΗΜΆΤΩΝ ΜΆΘΗΜΑ 6OΥ ΕΞΑΜΉΝΟΥ, ΤΟΜΈΑΣ ΛΟΓΙΚΟΎ ΚΑΙ ΥΠΟΛΟΓΙΣΤΏΝ Δρ. Α. Κομνηνός
ΕΡΓΑΣΤΉΡΙΟ ΛΕΙΤΟΥΡΓΙΚΏΝ ΣΥΣΤΗΜΆΤΩΝ ΜΆΘΗΜΑ 6OΥ ΕΞΑΜΉΝΟΥ, ΤΟΜΈΑΣ ΛΟΓΙΚΟΎ ΚΑΙ ΥΠΟΛΟΓΙΣΤΏΝ Δρ. Α. Κομνηνός
Λειτουργικά συστήματα
ΙΩΑΝΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΥ 1ο ΦΡΟΝΤΙΣΤΗΡΙΟ ΠΑΡΑΣΚΕΥΗ 5 ΟΚΤΩΒΡΙΟΥ 2012 ΑΙΘΟΥΣΑ Β4 11.
Computers: Information Technology in Perspective By Long and Long Copyright 2002 Prentice Hall, Inc. Δευτερεύουσες Μονάδες Α π οθήκευσης Δεδομένων Διάλεξη.
ΤΑΞΗ Γ ΓΥΜΝΑΣΙΟΥ Βασικές Έννοιες Επανάληψη (2).
Οργάνωση και Αρχιτεκτονική Υπολογιστών Διάδρομοι Μεταφοράς Δεδομένων
Σύνοψη 2ης ∆ιάλεξης Περιβάλλον MINIX Σύνοψη Μαθήματος
Δημιουργία blog (ιστολογίου) με το WordPress Συνάντηση 2 1.
Φροντιστήριο Εργ. Λειτουργικών Συστημάτων Αλγόριθμοι ανάθεσης μνήμης.
Δημιουργία blog (ιστολογίου) με το WordPress Συνάντηση 2 1.
ΔΙΑΓΡΑΜΜΑ Προοίμιο Ι. ΚΑΝΟΝΕΣ ΓΙΑ ΜΕΛΗ ΔΕΠ, ΔΙΔΑΣΚΟΝΤΕΣ, ΕΡΕΥΝΗΤΕΣ: 1. Σχέσεις μεταξύ διδασκόντων 2. Συμπεριφορά κατά τη συμμετοχή σε συλλογικά όργανα.
Μονάδες Μέτρησης στους Η/Υ & Προσδιορισμός Αρχείων και Φακέλων
Σύνοψη 7ης ∆ιάλεξης Λειτουργικό Σύστημα Minix Σύνοψη Μαθήματος
ΕΡΓΑΣΤΉΡΙΟ ΛΕΙΤΟΥΡΓΙΚΏΝ ΣΥΣΤΗΜΆΤΩΝ ΜΆΘΗΜΑ 6OΥ ΕΞΑΜΉΝΟΥ, ΤΟΜΈΑΣ ΛΟΓΙΚΟΎ ΚΑΙ ΥΠΟΛΟΓΙΣΤΏΝ Δρ. Α. Κομνηνός
Σύνοψη 5ης ∆ιάλεξης Λειτουργικό Σύστημα Minix Σύνοψη Μαθήματος
Εργαστήριο Λειτουργικών Συστημάτων Μάθημα 6oυ Εξαμήνου, Τομέας Λογικού και Υπολογιστών Δρ. Α. Κομνηνός/Επ. Καθ. Χ. Μακρής
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Φροντιστήρια Εισηγητής: Σπύρος Αργυρόπουλος Μέλος ΕΤΕΠ Εργαστήριο Προγραμματισμού & Τεχνολογίας Ευφυών Συστημάτων.
Εισαγωγή στο UNIX και άλλα εργαλεία Pedro Trancoso Γιαννάκης Σαζεϊδης.
Λειτουργικά Συστήματα
ΕΡΓΑΣΤΉΡΙΟ ΛΕΙΤΟΥΡΓΙΚΏΝ ΣΥΣΤΗΜΆΤΩΝ ΜΆΘΗΜΑ 6OΥ ΕΞΑΜΉΝΟΥ, ΤΟΜΈΑΣ ΛΟΓΙΚΟΎ ΚΑΙ ΥΠΟΛΟΓΙΣΤΏΝ Δρ. Α. Κομνηνός
ΙΩΑΝΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΥ 3ο ΦΡΟΝΤΙΣΤΗΡΙΟ ΠΑΡΑΣΚΕΥΗ 19 ΟΚΤΩΒΡΙΟΥ 2012 ΑΙΘΟΥΣΑ Β4 1.
ΕΡΓΑΣΤΉΡΙΟ ΛΕΙΤΟΥΡΓΙΚΏΝ ΣΥΣΤΗΜΆΤΩΝ ΜΆΘΗΜΑ 6OΥ ΕΞΑΜΉΝΟΥ, ΤΟΜΈΑΣ ΛΟΓΙΚΟΎ ΚΑΙ ΥΠΟΛΟΓΙΣΤΏΝ Δρ. Α. Κομνηνός
Παρουσίαση του Νέου Λυκείου για όλες τις Τάξεις
Δρ. Α. Κομνηνός/Δρ. Χ. Μακρής
ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ Β' ΓΥΜΝΑΣΙΟΥ - ΜΝΗΜΕΣ
«Αξιολόγηση στην Εκπαίδευση: μύθος που μπορεί να γίνει πραγματικότητα;»   ΑΠΟ ΤΗΝ ΑΞΙΟΛΟΓΗΣΗ ΣΤΗ ΔΙΑΣΦΑΛΙΣΗ ΠΟΙΟΤΗΤΑΣ ΤΟΥ ΕΚΠΑΙΔΕΥΤΙΚΟΥ ΈΡΓΟΥ: ΣΧΕΔΙΑΣΜΟΣ.
Σχολικός εκφοβισμός τέλος!! Αντωνία Παπαδοπούλου Μαριαλένα Σπύρου Ιωάννα Φώτα ΝΟΕΜΒΡΙΟΣ 2014.
Εργαστήριο Λειτουργικών Συστημάτων Φροντιστήριο 1 ο – Εισαγωγή στο MINIX 3 Ντίρλης Νικόλαος.
ΕΡΓΑΣΤΉΡΙΟ ΛΕΙΤΟΥΡΓΙΚΏΝ ΣΥΣΤΗΜΆΤΩΝ ΜΆΘΗΜΑ 6OΥ ΕΞΑΜΉΝΟΥ, ΤΟΜΈΑΣ ΛΟΓΙΚΟΎ ΚΑΙ ΥΠΟΛΟΓΙΣΤΏΝ Δρ. Α. Κομνηνός
Σημαντικές ημερομηνίες 384 γέννηση στον σημερινό Σταυρό της Χαλκιδικής 367–347 πρώτη αθηναϊκή περίοδος Άσσος, Λέσβος, Μακεδονία 334–323 δεύτερη αθηναϊκή.
Σχολικό Έτος ο ΕΚ Καρδίτσας Πρόγραμμα Ενδοσχολικής Επιμόρφωσης “H ενδοσχολική επιμόρφωση της καρδιάς μας. Ο ένας για τον άλλο” Η χρήση του.
ΕΡΓΑΣΤΉΡΙΟ ΛΕΙΤΟΥΡΓΙΚΏΝ ΣΥΣΤΗΜΆΤΩΝ ΜΆΘΗΜΑ 6OΥ ΕΞΑΜΉΝΟΥ, ΤΟΜΈΑΣ ΛΟΓΙΚΟΎ ΚΑΙ ΥΠΟΛΟΓΙΣΤΏΝ Δρ. Α. Κομνηνός
ΤΕΤΡΑΠΛΗΓΙΑ ΣΕ ΣΧΕΣΗ ΜΕ ΤΟ ΓΝΩΣΤΙΚΟ ΤΟΜΕΑ. ΔΥΣΚΟΛΙΕΣ ΣΕ ΓΝΩΣΤΙΚΟ ΤΟΜΕΑ Δυσκολίες στο ντύσιμο-γδύσιμο-φαγητό-υγιεινή Δεν μπορούν να αποκτήσουν λειτουργική
ΕΡΓΑΣΤΉΡΙΟ ΛΕΙΤΟΥΡΓΙΚΏΝ ΣΥΣΤΗΜΆΤΩΝ ΜΆΘΗΜΑ 6OΥ ΕΞΑΜΉΝΟΥ, ΤΟΜΈΑΣ ΛΟΓΙΚΟΎ ΚΑΙ ΥΠΟΛΟΓΙΣΤΏΝ Δρ. Α. Κομνηνός
ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Κ.ΑΛΑΦΟΔΗΜΟΣ καθηγητής Δ.Παπαχρήστος μέλος ΕΔΙΠ ΑΕΙ ΠΕΙΡΑΙΑ ΤΤ ΠΑΝΕΠΙΣΤΗΜΙΟ Α ΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ.
ΕΙΣΑΓΩΓΉ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΉ ΝΊΚΟΣ ΠΑΠΑΔΆΚΗΣ Αρχιτεκτονική Υπολογιστών.
 Καταργείται η θεώρηση (ή αλλιώς η διάτρηση) των βιβλίων, είτε αυτά τηρούνται χειρόγραφα, είτε μηχανογραφικά.  Καταργείται και δεν θα ενημερώνεται πλέον.
Λειτουργικά Συστήματα Ενότητα # 4: Συστήματα Αρχείων Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής.
Πληροφορική Ενότητα 2 (Μέρος B): Είδη μνήμης. Δήμητρα Αβραμούλη, Καθηγήτρια Εφαρμογών, Τμήμα Σχεδιασμού και Τεχνολογίας Ξύλου και Επίπλου Τ.Ε., T.E.I.
Εργαστήριο «Διαχείριση & Ασφάλεια Δικτύων» Επισκόπηση Βασικών Δικτυακών Λειτουργιών Διδάσκων: Δρ. Γενειατάκης Δημήτρης Τμήμα Επιστήμης.
Δομή προσωπικού υπολογιστή
Αρχές Πληροφορικής Ενότητα # 5: Περιφερειακές συσκευές
ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ ΚΑΙ ΔΙΑΣΥΝΔΕΣΗΣ ΔΙΚΤΥΩΝ
Πρακτικά ζητήματα Οι διαλέξεις και οι ασκήσεις που γίνονται στην τάξη θα βρίσκονται στο eclass. Τα θέματα μέχρι τώρα: Windows XP Ασκήσεις πάνω στη χρήση.
Alt Ctrl Delete. Λειτουργικά Συστήματα και Ασφάλεια Πληροφοριακών Συστημάτων ΔΙΕΡΓΑΣΙΕΣ και ΕΙΚΟΝΙΚΗ ΜΝΗΜΗ.
Λειτουργικά Συστήματα
Τεχνολογία Πολυμέσων Ενότητα # 17: Πρωτόκολλα μετάδοσης
Εισαγωγή στην Πληροφορική μεγάλου όγκου δεδομένων
Δημιουργία Διεργασιών
Εφευρέσεις που θα κάνουν την ζωή μας πιο όμορφη…
Ειδική Γραμματεία Διαχείρισης Ιδιωτικού Χρέους
Υλικό Υπολογιστών Καθηγητής: Α. Μιχαλάκης
Ελεγχοι πιεσηΣ (stress test) σε εκπαιδευτικη διαδικτυακη εφαρμογη
ΕΚΔΟΣΗ ΠΡΟΗΓΜΕΝΩΝ ΨΗΦΙΑΚΩΝ ΠΙΣΤΟΠΟΙΗΤΙΚΩΝ ΣΤΟΥΣ ΔΙΚΗΓΟΡΟΥΣ
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Ι
Τα θέματα μας σήμερα Ηλεκτρονικοί υπολογιστές Υλικό και λογισμικό
Γ2.1 Η Λειτουργική Σχέση του Υλικού και του Λογισμικού
Εισαγωγή στην Ψηφιακή Τεχνολογία
Εργαστήρια Windows/Linux /etc
ΑΝΑΝΕΩΣΙΜΕΣ ΠΗΓΕΣ ΕΝΕΡΓΕΙΑΣ & ΟΙΚΟΝΟΜΙΚΗ ΑΥΤΑΡΚΕΙΑ ΤΗΣ ΠΕΡΙΟΧΗΣ
Ένα γεγονός που συγκλονίζει τη Βυζαντινή Αυτοκρατορία
ΟΜΟΙΟΠΤΩΤΟΙ ΟΝΟΜΑΤΙΚΟΙ ΠΡΟΣΔΙΟΡΙΣΜΟΙ
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΕΙΣΑΓΩΓΗ
Μεταγράφημα παρουσίασης:

ΕΡΓΑΣΤΉΡΙΟ ΛΕΙΤΟΥΡΓΙΚΏΝ ΣΥΣΤΗΜΆΤΩΝ ΜΆΘΗΜΑ 6OΥ ΕΞΑΜΉΝΟΥ, ΤΟΜΈΑΣ ΛΟΓΙΚΟΎ ΚΑΙ ΥΠΟΛΟΓΙΣΤΏΝ Δρ. Α. Κομνηνός

́Εναρξη Μαθήματος • Ο σκοπός του μαθήματος: • Εξοικείωση με την χρήση λειτουργικών συστημάτων τύπου UNIX • Επαφή με τον προγραμματισμό των συστημάτων • Εξοικείωση του με τον πυρήνα του λειτουργικού συστήματος • Μελέτη ορισμένων χαρακτηριστικών μηχανισμών • Μελέτη του πηγαίου κώδικα του πυρήνα του λειτουργικού • Παρέμβαση, μετατροπή, προσθήκη συγκεκριμένων λειτουργιών στο λειτουργικό σύστημα • Το μάθημα θα βασιστεί στο λειτουργικό σύστημα ‘ανοικτού κώδικα’ MINIX version 3.0 • Το μάθημα θα διεξαχθεί σε δύο άξονες • Παραδώσεις – ∆ιαλέξεις • Ασκήσεις

Τυπικά Θέματα • Παραδώσεις • ∆ιαλέξεις 4 ώρες την εβδομάδα • Πέμπτη 18: :00, ΒΑ • Παρασκευή 18: :00, ΑΠ7 / B4 • 4 θεματικές ενότητες • Αντίστοιχα με τα θέματα που καλύφθηκαν στο προηγούμενο εξάμηνο • Ασκήσεις • 4 ασκήσεις (Ομαδικές) • Βαθμολογία • 100% Ασκήσεις

Ασκήσεις – Εξέταση • Ασκήσεις • Ομαδικές (1-3 άτομα) • Μικρές ασκήσεις • 2 ασκήσεις ανά θεματική ενότητα • ≃ 1-2 εβδομάδες ανά άσκηση • Κώδικας • Εξέταση • ∆εν θα υπάρχει εξέταση • Βαθμός 100% από ασκήσεις • Καθυστέρηση στην παράδοση = 10% μείωση βαθμού (ανά μέρα καθυστέρησης) • Αντιγραφή σε 1 άσκηση = μηδενισμός στο μάθημα

Απορίες – Συναντήσεις • Για οτιδήποτε χρειαστείτε – θα με βρείτε στο ΤΜΗΥΠ: • Προκατασκευασμένα • ́Αλλες μέρες/ώρες κατόπιν συνεννοήσεως • Μέσω • Μέσω forum του μαθήματος στο my.ceid.upatras.gr • Μεταπτυχιακοί φοιτητές • Προς το παρόν δεν υπάρχουν

́Υλη Μαθήματος • Λειτουργικό Σύστημα MINIX 3 • Περιβάλλον προγραμματισμού • ∆ιεργασίες • ∆ιαχείριση ∆ιεργασιών Επικοινωνία ∆ιεργασιών • ∆ιαχείριση Μνήμης • Συστήματα Αρχείων • ∆ιαχείριση Αρχείων • Μονάδες Εισόδου - Εξόδου • Device Drivers

Βιβλιογραφία • Βιβλία • B.Kernighan, R.Pike: ‘‘Το περιβάλλον Προγραμματισμού UNIX’’ • A.Tanenbaum: ‘‘Σύγχρονα Λειτουργικά Συστήματα" • A.Tanenbaum, A.Woodhull: ‘‘Operating Systems Design and Implementation, 3rd Edition" • Πανεπιστημιακές Σημειώσεις • Π.Τριανταφύλλου: ‘Εργαστήριο Λειτουργικών Συστημάτων • ∆ιαδίκτυο • Ιστοσελίδα Λειτουργικού Συστήματος MINIX 3

Ιστοσελίδα και Ανακοινώσεις • Η ιστοσελίδα του μαθήματος σύντομα θα ανανεωθεί • Περιέχει : • ∆ιαφάνειες των διαλέξεων • Συμπληρωματικές σημειώσεις • Το υλικό των ασκήσεων • Υλικό από προηγούμενα έτη • ́Ολες οι ανακοινώσεις θα γίνονται στο forum του μαθήματος στο my.ceid.upatras.gr

Σύνοψη 1ης ∆ιάλεξης • Θέματα Μαθήματος • Γενικά • ∆ιαδικασία • Υλικό • Λειτουργικό Σύστημα MINIX 3 • Εισαγωγή • Εγκατάσταση • Βασικές Εντολές Κονσόλας • Σύνοψη Μαθήματος • Βιβλιογραφία • Επόμενη ∆ιάλεξη

Γενικά Χαρακτηριστικά • Στόχοι σχεδιασμού • Αξιοπιστία • Ευελιξία • Ασφάλεια • Λογισμικό ‘Ανοιχτού Κώδικα’ • Ο κώδικας για τις λειτουργίες του συστήματος και όλες τις εντολές και εργαλεία προσφέρεται ελεύθερα μαζί με την εγκατάσταση των εκτελέσιμων • Απευθύνεται σε • Ενσωματωμένα συστήματα • Συστήματα υψηλής αξιοπιστίας • Συστήματα μικρού κόστους (π.χ. OLPC) • Συστήματα όπου η άδεια GPL είναι ιδιαίτερα περιοριστική • Εκπαίδευση

Χαρακτηριστικά Συστήματος • Minimal Unix = MINIX • Ακολουθεί το μοντέλο μικρο-πυρήνα • Ο πυρήνας αποτελείται από 4000 γραμμές κώδικα • Συνολικά είναι ένα λειτουργικό μικρού μεγέθους • περίπου γραμμές κώδικα • Οι λειτουργίες του συστήματος • είναι χωρισμένες σε modules • τρέχουν σε user mode • επικοινωνούν με τον πυρήνα μέσω μηνυμάτων • αν πάει κάτι λάθος απλά γίνεται επανεκκίνηση του συγκεκριμένου module • Είναι συμβατό με POSIX (Portable OS Interface) • Υποστηρίζει όλες τις γνωστές γλώσσες προγραμματισμού • Προσφέρει περιβάλλον εργασίας X Windows

Ιστορική Αναδρομή • Η πρώτη έκδοση εμφανίστηκε το 1987 – περίπου γραμμές κώδικα • Το πρώτο λειτουργικό ελεύθερου κώδικα βασισμένο στο UNIX Version 7 • Πολλά πανεπιστήμια δημιούργησαν ‘Εργαστήρια Λειτουργικών’ • Ενας από τους βασικούς στόχους ήταν ο εκπαιδευτικός χαρακτήρας • Στόχευε σε συστήματα 8088 με 256k μνήμη, χωρίς σκληρό δίσκο – απλά με δισκέτα • Η δεύτερη έκδοση εμφανίστηκε το 1997 • ́Εγινε συμβατό με POSIX (IEEE , ISO ) • Επέκταση προς συστήματα 32-bit • Υποστήριξη σκληρού δίσκου και μεγαλύτερης μνήμης Υποστήριξη TCP/IP

́Εκδοση 3 • Ανακοινώθηκε τον Οκτώβριο του 2005 • Βασίζεται στην παρατήρηση ότι τα Λ.Σ. έχουν διογκωθεί, είναι αργά και αναξιόπιστα • Συνήθως όλο το Λ.Σ. είναι γραμμένο σε C++ μεταγλωττισμένο σε ένα εκτελέσιμο που τρέχει μέσα στον πυρήνα • ́Ενα bug σε μία από τις εκατομμύρια γραμμές είναι ικανό να οδηγήσει το σύστημα σε κατάρρευση • Το να διορθώσεις όλα τα bugs είναι αδύνατο – όσο χρόνο και αν διαθέσεις • ́Ερευνα έδειξε ότι τα bugs που έχουν εντοπιστεί είναι ανά 1000 γραμμές κώδικα • ́Ερευνα έδειξε ότι μετά από τις δέκα πρώτες εκδόσεις, το 6% των αρχείων του κώδικα εξακολουθούν να περιέχουν bugs

́Εκδοση 3 – συνέχεια • Συνήθως το 70% του κώδικα αφορά τις συσκευές Ε/Ε και τους αντίστοιχους οδηγούς – υλοποιημένα από τρίτους • ́Ερευνες σε ‘σταθερές’ εκδόσεις Linux και OpenBSD εντόπισαν εκατοντάδες bugs στον πυρήνα και κυρίως στους οδηγούς συσκευών Ε/Ε • Για αυτόν τον λόγο οι οδηγοί μεταφέρθηκαν εκτός του πυρήνα • ́Ενας ειδικός δαίμονας παρακολουθεί την κατάσταση των οδηγών και τους επανεκκινεί εάν διαπιστώσει ότι υπάρχει κάποιο πρόβλημα • Υλοποιεί τεχνικές ‘αυτό-ίασης’ (self-healing) • ή αλλιώς τεχνικές ‘αυτό-σταθεροποίησης’ (self-stabilization) -- για τις οποίες μίλησε για πρώτη φορά ο Dijkstra περίπου το 1960 (περισσότερα στο μάθημα Κ.Σ.)

Linus Benedict Torvalds • Κατά την διάρκεια των σπουδών του εγκατέστησε το Minix 1.5 – άρχισε τους πειραματισμούς μελετώντας τον κώδικα • Παρατήρησε ότι κάποια βασικά χαρακτηριστικά απουσίαζαν • ́Αρχισε να υλοποιεί τα προγράμματα... • ∆ιαπίστωσε ότι χρειαζόταν διαφορετικό οδηγό για το τερματικό του, οπότε άρχισε να τον υλοποιεί... • Μετά αποφάσισε ότι χρειάζεται να σώσει τα μηνύματα της συζήτησης για το MINIX στο USENIX... • Οπότε άρχισε να γράφει έναν οδηγό για τον σκληρό δίσκο • Στην συνέχεια υλοποίησε ένα απλό σύστημα αρχείων • Τον Αύγουστο του 1991 δημιούργησε την πρώτη έκδοση του πυρήνα του LINUX • Το ανακοίνωσε στο USENIX και με την συνδρομή άλλων προγραμματιστών η πρώτη έκδοση του LINUX ανακοινώθηκε τον Μάρτιο του 1994

MINIX vs LINUX • Το Linux είναι ένα μονολιθικό σύστημα • Καμία δομή όσον αφορά την οργάνωση των λειτουργιών • Ο Tanenbaum ισχυρίστηκε ότι τα συστήματα μικροπυρήνα είναι ανώτερα από τα μονολιθικά •... το Linux βασίζεται σε παρωχημένες τεχνολογίες • ο να προγραμματίζεις ένα μονολιθικό πυρήνα το 1991 είναι ‘‘a giant step back into the 1970s’’ • Το MINIX σχεδιάστηκε κυρίως για εκπαιδευτικό χαρακτήρα • Οφείλει να χρησιμοποιεί καλά σχολιασμένο κώδικα • Υλοποιήσεις ‘αναφοράς’ • Προσφέρει τα ‘θεμέλια’ – τις αποδεκτές αρχές – της ερευνητικής περιοχής • Το LINUX δεν έχει τέτοιου είδους στόχους • Πρέπει να είναι ένα ‘πραγματικό’ λειτουργικό σύστημα • Να βασίζεται σε συγκεκριμένες τεχνολογίες και αρχιτεκτονικές

Ελάχιστες Απαιτήσεις • Αρχιτεκτονική IA-32 (386, 486, Pentium or compatible) • 16MB μνήμη • CDROM ή USB -- χρήση έκδοσης LiveCD • Αν θέλετε να το εγκαταστήσετε στον σκληρό τότε απαιτεί 50 MB • Για την χρήση του περιβάλλοντος X Windows -- χρειάζεται 256MB μνήμη • Για την εγκατάσταση όλου του κώδικα (εφαρμογές κλπ) χρειάζεται 600MB χώρο

Εγκατάσταση: Εύκολη Λύση • Καμία αλλαγή στον σκληρό δίσκο • Χρήση του LiveCD • Κατέβασμα του image (.iso) από την ιστοσελίδα του συστήματος -- • ∆ημιουργία ενός bootable CD-ROM • Επανεκκίνηση του συστήματος με την χρήση του CD-ROM • Χρήση USB Memory Stick • Κατέβασμα του usb_image (.zip) από την ιστοσελίδα του συστήματος • Τοποθέτηση αρχείων στο USB Memory Stick • Επανεκκίνηση του συστήματος με την χρήση του USB Memory Stick • Sector – by – sector copy του.iso στο USB (π.χ. YUMI, XBOOT κτλ κτλ). • Επιλέγουμε ρυθμίσεις ‘‘regular’’ • Κάντε login ως root (δεν χρειάζεται password)

Εγκατάσταση: Πολύ Εύκολη Λύση • Με την προηγούμενη λύση δεν μπορούμε να κάνουμε αλλαγές στο σύστημα • Καμία αλλαγή στον σκληρό δίσκο / λειτουργικό σύστημα • Χρήση ενός Εξομοιωτή • VirtualBox • VMWare Player -- • QEMU -- • Bochs -- bochs.sourceforge.net Virtual PC • Παράδειγμα: ware

Πλήρης Εγκατάσταση • Με την προηγούμενη λύση μπορεί το σύστημα να λειτουργεί ‘αργά’ (εξαρτάται από το υλικό) • Απαιτεί αλλαγές στον σκληρό δίσκο • Εκτός αν μπορούμε να αφιερώσουμε έναν άλλο δίσκο μόνο για το MINIX • Χρειαζόμαστε ένα partition το πολύ 1 GB • Υπάρχουν προγράμματα που μπορούν να αλλάξουν το μέγεθος ενός partition χωρίς να το σβήσουν • ∆ημιουργήστε αντίγραφα ασφαλείας (backup) • Ξεκινήστε το σύστημα με το LiveCD (ή USB) • Επιλέγουμε ρυθμίσεις ‘‘regular’’ • Κάντε login ως root (δεν χρειάζεται password) • Εκτελέστε την εντολή setup

Ξεκινώντας ένα Session • Για να ξεκινήσουμε, αρχικά κάνουμε login • Μόλις ξεκινήσει το σύστημα εμφανίζεται το μήνυμα login • Σε άλλα συστήματα το περιβάλλον είναι ποιο φιλικό (π.χ. πλούσια γραφικά) • Εισάγοντας σωστό login/password ξεκινάει ένα νέο session • Μια νέα ‘κονσόλα’ δημιουργείται • Ενα πολύ βασικό περιβάλλον εκτέλεσης εντολών

Εκτέλεση Εντολών • Το # είναι το prompt • Στο prompt γράφουμε το όνομα της εντολής και πατάμε Return • Πατώντας απλά Return εμφανίζεται μια νέα γραμμή

Χειρισμός λαθών • Αν γράψουμε μια εντολή λάθος, εμφανίζεται ένα μήνυμα λάθους • Το μήνυμα λάθους λέει ότι το αρχείο ή ο φάκελος δεν βρέθηκε Το σύστημα θεωρεί ότι και οι εντολές ειναι αρχεία... • Με τα κουμπιά ↑ ↓ μπορούμε να ανατρέξουμε σε προηγούμενες εντολές • Με τα κουμπιά ← → μπορούμε να επεξεργαστούμε την τρέχουσα γραμμή

Τερματισμός εντολών – ́Εξοδος από την κονσόλα • Για να διακόψουμε την εκτέλεση μιας εντολής χρησιμοποιούμε το ctrl-c • Για να ‘παγώσουμε’ την έξοδο μιας εντολής χρησιμοποιούμε το ctrl-s • Για να ‘ξεπαγώσουμε ́ την έξοδο χρησιμοποιούμε το ctrl-q • Προσοχή – με αυτόν τον τρόπο μόνο η έξοδος παγώνει, όχι η εκτέλεση • Για κλείσουμε την κονσόλα – να ολοκληρώσουμε το session χρησιμοποιούμε το ctrl-d • Πατάμε συνεχόμενες φορές το ctrl-q • Τερματίζουν όλα τα προγράμματα που τρέχουν και στο τέλος εμφανίζεται πάλι η αρχική οθόνη login • Αυτός είναι ο μοναδικός σωστός τρόπος για να κλείνουμε ένα session

Επικοινωνία με άλλους χειριστές • Με την εντολή write μπορούμε να στείλουμε ένα μήνυμα σε μια άλλη κονσόλα Αποστολή μηνύματος # write akomninos hello there ˆD EOT Παραλαβή μηνύματος Message from root (ttyc1) Sat Apr 21 17:09: hello there EOT

Οδηγίες Χρήσης / Προγραμματισμού UNIX • Με την εντολή man μπορούμε να προσπελάσουμε τις σελίδες βοήθειας • Υπάρχουν διάφορες κατηγορίες σελίδων • Εντολές Χειριστών -- ls, cp, grep • Κλήσεις Συστήματος -- fork, exit • Ρουτίνες Βιβλιοθηκών • Αρχεία Συσκευών Ε/Ε • Τύποι/Κωδικοποιήσεις Αρχείων • Παιχνίδια • ∆ιάφορα • Εντολές ∆ιαχειριστή Συστήματος • Εγγραφα – περισσότερες πληροφορίες για τις ορισμένες σελίδες που ανήκουν στις παραπάνω κατηγορίες • Για να προσδιορίσουμε σε ποια κατηγορία αναφερόμαστε: • man [category] [topic]

#man fork

Εγκατάσταση προγραμμάτων στο MINIX • Εντολή packman (<3.1.7) • Απαιτεί το LiveCD ή να έχουμε πρόσβαση στο ∆ιαδίκτυο • Μπορεί να εγκαταστήσει και τον πηγαίο κώδικα • Αντικαταστάθηκε από το pkgin / pkgsrc

Σύνοψη 1ης ∆ιάλεξης • Θέματα Μαθήματος • Γενικά • ∆ιαδικασία • Υλικό • Λειτουργικό Σύστημα MINIX 3 • Εισαγωγή • Εγκατάσταση • Βασικές Εντολές Κονσόλας • Σύνοψη Μαθήματος • Βιβλιογραφία • Επόμενη ∆ιάλεξη

Σύνοψη Μαθήματος • ∆ιαδικασία Μαθήματος • Συνοπτική παρουσίαση των Σητημάτων και προβλημάτων που θα μελετηθούν • Σύντομη παρουσίαση του MINIX 3 • Θέματα εγκατάστασης MINIX 3 • Περιβάλλον MINIX • Εισαγωγή στις γενικές έννοιες της κονσόλας

Βιβλιογραφία • Βιβλίο ‘Σύγχρονα Λειτουργικά Συστήματα" (A.Tanenbaum) • Κεφάλαιο 1: Εισαγωγή • Κεφάλαιο 10: Μελέτη Περίπτωσης 1 – Unix και Linux • Βιβλίο ‘Το περιβάλλον Προγραμματισμού UNIX’’ (B.Kernighan, R.Pike) • Κεφάλαιο 1: Εισαγωγή • Βιβλίο ‘‘Operating Systems: Design and Implementation" (A.Tanenbaum, A.Woodhull) • Κεφάλαιο 1: Introduction • Appendix A: Installing MINIX 3 • Πανεπιστημιακές Σημειώσεις (Π.Τριανταφύλλου) • Κεφάλαιο 1: Εισαγωγή σε Λειτουργικά Συστήματα

Επόμενη ∆ιάλεξη • Περιβάλλον προγραμματισμού UNIX Επανάληψη από μάθημα ‘Λειτουργικά Συστήματα Ι’ • Κεφάλαιο 1: Παραδοσιακά Λειτουργικά Συστήματα • Κεφάλαιο 2: ∆ιεργασίες • Αντίστοιχα κεφάλαια από ‘Σύγχρονα Λειτουργικά Συστήματα’ (A.Tanenbaum)