Λειτουργικά Συστήματα

Σχετικά έγγραφα
Επιτεύγµατα των Λ.Σ.

Λειτουργικά Συστήματα Η/Υ

Σκοπός Μαθήματος. Λειτουργικά Συστήματα Η/Υ. Γενικές Πληροφορίες. Στόχοι Μαθήματος ΚΕΦΑΛΑΙΟ 1 - ΕΙΣΑΓΩΓΗ. Θεωρία: Εργαστήριο: Κεφάλαιο 1 «Εισαγωγή»

Λειτουργικά Συστήματα

2. Σκοποί και Λειτουργίες των ΛΣ. Λειτουργικά Συστήματα Η/Υ. Περίληψη. Ι. Προστασία Υλικού ΚΕΦΑΛΑΙΟ 2 - ΕΞΕΛΙΞΗ ΚΑΙ ΣΚΟΠΟΙ ΛΣ

Λειτουργικά Συστήματα

Λειτουργικά Συστήματα

Εισαγωγή στην Πληροφορική

Λειτουργικά Συστήματα

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΕΙΣΑΓΩΓΗ

Λιβανός Γιώργος Εξάμηνο 2017Β

ΛΟΓΙΣΜΙΚΟ (software)

Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, μνήμης και Ε/Ε)

Τι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι

Λειτουργικά Συστήματα (Λ/Σ)

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Λειτουργικά Συστήματα

Κεφάλαιο 4 Λογισμικό συστήματος. Εφαρμογές Πληροφορικής Κεφ.4 Καραμαούνας Πολύκαρπος 1

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό

Αρχιτεκτονική Υπολογιστών

Εισαγωγή στην Πληροφορική

Λειτουργικά Συστήματα

Εισαγωγή στα Λειτουργικά συστήματα Ι. Καθηγητής Κώστας Αναγνωστόπουλος

Κεφάλαιο 3. Διδακτικοί Στόχοι

ΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήµατα

Αρχιτεκτονική υπολογιστών

Γεωγραφικά Συστήµατα Πληροφοριών και Αρχές Τηλεπισκόπησης

Λειτουργικά Συστήματα

Οργάνωση ενός σύγχρονου Υπολογιστικού Συστήματος ή Ηλεκτρονικού Υπολογιστή (Η/Υ) Τα σύγχρονα συστήματα Η/Υ έχουν την παρακάτω οργάνωση:

Αρχιτεκτονική υπολογιστών

Ιστορική Αναδρομή Λειτουργικών Συστημάτων (ΛΣ) Εισαγωγή : ο πυρήνας (kernel) / ο φλοιός (shell) Β ΕΠΑΛ

Λειτουργικά Συστήματα

Εισαγωγή στην Πληροφορική

1. Εισαγωγή. Λειτουργικά Συστήματα Η/Υ. Διεργασίες. Ορισμός ΚΕΦΑΛΑΙΟ 3 - ΔΙΕΡΓΑΣΙΕΣ. Κεφάλαιο 3 «Διεργασίες»

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

Λειτουργικά συστήµατα. Λογισμικό Συστήματος 1

Ενότητα 2 (Κεφάλαιο 3) Περιγραφή και Έλεγχος Διεργασιών. Περιεχόμενα. Ανάγκη ύπαρξης διεργασιών 1

Το λειτουργικό σύστημα. Προγραμματισμός II 1

Αρχιτεκτονική Υπολογιστών

Ενότητα 3 - Θέματα Εφαρμοσμένης Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

Θοδωρής Ανδρόνικος Τμήμα Πληροφορικής, Ιόνιο Πανεπιστήμιο

Κεφάλαιο 4. Λογισμικό Συστήματος

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών

Πληροφορική 2. Λειτουργικά Συστήματα

Κεφάλαιο 4: Λογισμικό Συστήματος

Υπολογιστές Ι. Άδειες Χρήσης. Εισαγωγή. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Λειτουργικά Συστήματα Ι. Κεφάλαιο 1 Βασικές Έννοιες Λειτουργικών Συστημάτων

Λειτουργικά Συστήματα (Λ/Σ)

Αρχιτεκτονική Υπολογιστών

Αντικειμενοστρεφής Προγραμματισμός

Δομημένος Προγραμματισμός

ΜΑΘΗΜΑ: Υπολογιστικά Νέφη

Λειτουργικά Συστήματα

3.1 Λειτουργικό Σύστηµα. Λειτουργικό Σύστηµα (2) ΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήµατα. Ο υπολογιστής σαν σκέτο hardware έχει περιορισµένη χρησιµότητα

Συστήματα Πληροφοριών Διοίκησης Ενότητα 5: Λογισμικό Πληροφοριακών Συστημάτων

Λειτουργικά Συστήματα

Λειτουργικά Συστήματα

Συστήματα Πληροφοριών Διοίκησης Ενότητα 3: Τεχνολογία υπολογιστικών συστημάτων

Κεφάλαιο 3.1: Λειτουργικά Συστήματα. Επιστήμη ΗΥ Κεφ. 3.1 Καραμαούνας Πολύκαρπος

Υλοποίηση ενός προγραμματιστικού κελύφους εργασίας

Εισαγωγικά & Βασικές Έννοιες

Λειτουργικά Συστήματα 1.1 Τι είναι Λειτουργικό Σύστημα (Operating System)

Υποστήριξη Λ.Σ. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Εισαγωγή στην πληροφορική

1 η ΕΝΟΤΗΤΑ ΕΙΣΑΓΩΓΗ (Προγραμματισμός & MATLAB)

Αυτοματοποιημένη χαρτογραφία

Αρχιτεκτονική υπολογιστών

Λειτουργικά Συστήματα

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Λειτουργικά Συστήµατα

Το λειτουργικό σύστημα. Προγραμματισμός II 1

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Καρακασίδης Αλέξανδρος Καστίδου Γεωργία Παπαφώτη Μαρία Πέτσιος Κων/νος Στέφανος Σαλτέας Καλογεράς Παναγιώτης. Threads in Java ΝΗΜΑΤΑ ΣΤΗ JAVA

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική II. Ενότητα 1 : Λειτουργικά συστήματα. Δρ.

Λειτουργικά Συστήματα. Εισαγωγή

Εφαρμογές Υπολογιστών. Κεφάλαιο 4 Λογισμικό Συστήματος

Το λειτουργικό σύστημα. Προγραμματισμός II 1

Αντικειμενοστρεφής Προγραμματισμός

Προγραμματισμός Η/Υ. Λογισμικό. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Πληροφορική I. "Λογισμικό (Software)" B. Φερεντίνος

Εισαγωγικά & Βασικές Έννοιες

Αρχιτεκτονική Υπολογιστών

Μάθημα 3: Αρχιτεκτονική Υπολογιστών

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Αρχιτεκτονική-ΙI. Ενότητα 5 : Αρχιτεκτονική ΙΑ-32

Ε-85: Ειδικά Θέµατα Λογισµικού

Ειδικά Θέματα Προγραμματισμού

Λογισμικό - Προγράμματα

Εισαγωγή στα Λειτουργικά Συστήματα (Λ/Σ) Το UNIX και οι εντολές του Παρουσίαση 1

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Rational Unified Process. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

Αρχιτεκτονική Υπολογιστών

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ηλεκτρονική Υγεία. Εργαστήριο 4 ο : MATLAB

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

ΤρόποςΑξιολόγησης: α) Εργαστήρια (Προαιρετικάµε 20% - 35% βαρύτητα µόνοθετικά) β) Τελική Γραπτή Εξέταση

Παράλληλη Επεξεργασία

Εισαγωγή στην Επιστήμη των Υπολογιστών

ver Επεξεργαστές κειμένου, λογιστικών φύλλων, παρουσιάσεων Οδηγοί συσκευών (Device Drivers)

Transcript:

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Λειτουργικά Συστήματα Ενότητα 2α: Αθηνά Βακάλη

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3

Λειτουργικό Σύστημα Ένα πρόγραμμα που ελέγχει την εκτέλεση των προγραμμάτων εφαρμογών. Λειτουργεί ως ενδιάμεσο μεταξύ εφαρμογών και του υλικού μέρους του υπολογιστή.

Στόχοι του Λειτουργικού Συστήματος Ευκολία Κάνει πιο εύκολη τη χρήση ενός υπολογιστή. Αποτελεσματικότητα Επιτρέπει τους πόρους του λειτουργικού συστήματος να χρησιμοποιούνται με αποτελεσματικό τρόπο. Ικανότητα εξέλιξης Επιτρέπει αποτελεσματική ανάπτυξη, έλεγχο και εισαγωγή νέων λειτουργιών συστήματος χωρίς να παρεμποδίζεται η διαδικασία εξυπηρέτησης. 5

Επίπεδα και όψεις ενός Υπολογιστικού Συστήματος Επίπεδα και Απόψεις ενός υπολογιστικού συστήματος 6

Υπηρεσίες που παρέχονται από ένα Λειτουργικό Σύστημα (1/3) Ανάπτυξη προγράμματος π.χ. Κειμενογράφοι (editors) και απο-σφαλματωτές (debuggers). Εκτέλεση προγράμματος Προσπέλαση σε συσκευές Εισόδου/Εξόδου (Ε/Ε) Ελεγχόμενη πρόσβαση σε αρχεία Σύστημα προσπέλασης 7

Υπηρεσίες που παρέχονται από ένα Λειτουργικό Σύστημα (2/3) Ανίχνευση σφάλματος και απόκριση Εσωτερικά και εξωτερικά σφάλματα υλικού τμήματος Σφάλμα μνήμης Δυσλειτουργία συσκευής Σφάλματα λογισμικού Αριθμητική υπερχείλιση Προσπέλαση σε απαγορευμένη θέση μνήμης Αδυναμία επικύρωσης της αίτησης μίας εφαρμογής 8

Υπηρεσίες που παρέχονται από ένα Λειτουργικό Σύστημα (3/3) Λογιστική Συλλογή στατιστικών χρήσης. Παρακολούθηση παραμέτρων επίδοσης. Χρήσιμη για τη μελέτη μελλοντικών επεκτάσεων. Χρήσιμη για τις ανάγκες χρέωσης. 9

Το Λειτουργικό Σύστημα ως διαχειριστής πόρων (1/2) Λειτουργεί με τον ίδιο τρόπο με τον οποίο λειτουργεί ένα συνηθισμένο λογισμικό προγράμματος. Είναι ένα πρόγραμμα που εκτελείται. Το λειτουργικό σύστημα εκχωρεί τον έλεγχο του επεξεργαστή για να εκτελεστούν άλλα προγράμματα. 10

Το Λειτουργικό Σύστημα ως διαχειριστής πόρων (2/2) Το λειτουργικό σύστημα ως διαχειριστής πόρων 11

Δυσκολίες στο σχεδιασμό λογισμικού συστήματος Συγχρονισμός Εξασφάλιση ότι μία διεργασία που περιμένει για Είσοδο/Έξοδο έλαβε σήμα. Αμοιβαίος αποκλεισμός Λειτουργία προγράμματος Αδιέξοδα 12

Σημαντικότερα θέματα Διεργασίες Διαχείριση μνήμης Προστασία και ασφάλεια πληροφορίας Δρομολόγηση και διαχείριση πόρων Δομή συστήματος 13

Διαχείριση Διεργασιών Διεργασία: ένα πρόγραμμα που εκτελείται. Απαιτεί συγκεκριμένους πόρους (CPU χρόνος, μνήμη, αρχεία, συσκευές εισόδου/εξόδου) για να ολοκληρώσει μία εργασία. Σχετικά με τη διαχείριση διεργασιών το Λειτουργικό Σύστημα έχει την ευθύνη των εξής ενεργειών: Δημιουργία/διαγραφή διιεργασίας Αναστολή/επανάληψη διεργασίας Παροχή μηχανισμών για: συγχρονισμό διεργασιών επικοινωνία διεργασιών 14

Διεργασία (1/3) Ένα πρόγραμμα σε εκτέλεση. Ένα στιγμιότυπο προγράμματος που εκτελείται σε έναν επεξεργαστή. Η οντότητα η οποία μπορεί να ανατεθεί και να εκτελεστεί σε έναν επεξεργαστή. Μία μονάδα δραστηριότητας που χαρακτηρίζεται από ένα μοναδικό ακολουθιακό νήμα εκτέλεσης, μία τρέχουσα κατάσταση και ένα συνδεδεμένο σύνολο πόρων του συστήματος. 15

Διεργασία (2/3) Αποτελείται από τρία συστατικά στοιχεία: Ένα εκτελέσιμο πρόγραμμα. Συνδεδεμένα δεδομένα που ειναι απαιτούμενα από το πρόγραμμα. Το εκτελέσιμο περιεχόμενο του προγράμματος (κατάσταση διεργασίας). Όλες οι διεργασίες που χρειάζεται το Λειτουργικό Σύστημα για να διαχειριστεί τη διεργασία. 16

Διεργασία (3/3) Τυπική υλοποίηση διεργασίας 17

Διεργασίες και Διαχείριση Κύριας Μνήμης Μνήμη: ένας πίνακας από λέξεις ή bytes, καθένα με τηδική του διεύθυνση. Αποτελεί την αποθήκη μεταξύ Κεντρικής Μονάδας Επεξεργασίας (CPU) και Είσοδο/Έξοδο (Ι/Ο) συσκευών. Κύρια Μνήμη: αποτελεί ένα μη-διατηρήσιμο μέσο αποθήκευσης. Χάνει τα δεδομένα της μόλις κλείσει το σύστημα. Σχετικά με τη διαχείριση της Κύριας Μνήμης το λειτουργικό σύστημα έχει την ευθύνη των εξής λειτουργιών: Ποια κομμάτια μνήμης είναι σε τρέχουσα χρήση και από ποιον. Ποια διεργασία θα φορτωθεί στη μνήμη μόλις ελευθερωθεί χώρος μνήμης. Κατανομή και απο-κατανομή χώρου μνήμης σύμφωνα με τις απαιτήσεις. 18

Διαχείριση Δευτερεύουσας Μνήμης Δευτερεύουσα Μνήμη: είναι ένα μόνιμο μέσο αποθήκευσης όπου φυλάσσονται τα δεδομένα, υποστηρικτικά της Κύριας Μνήμης. Τα περισσότερα υπολογιστικά συστήματα χρησιμοποιούν δίσκους ως πρωταρχικό άμεσο (online) αποθηκευτικό μέσο, για τα προγράμματα και τα δεδομένα. Σχετικά με τη διαχείριση της Δευτερεύουσας Μνήμης το λειτουργικό σύστημα έχει την ευθύνη των εξής ενεργειών: Διαχείριση ελεύθερου χώρου μνήμης. Κατανομή χώρου αποθήκευσης. Χρονο-δρομολόγηση δίσκων. 19

Διαχείριση Συστήματος Το σύστημα Εισόδου/Εξόδου αποτελείται από: Σύστημα επαναποθήκευσης ενδιάμεσης μνήμης. Γενικό σύστημα προσαρμογής οδηγών συσκευών. Προγράμματα οδηγών για συγκεκριμένες συσκευές. Διαχείριση Αρχείων Σχετικά με τη διαχείριση των Αρχείων το λειτουργικό σύστημα έχει την ευθύνη των εξής ενεργεών: Δημιουργία/διαγραφή αρχείου. Δημιουργία/διαγραφή καταλόγου. Εισόδου/Εξόδου Υποστήριξη πρωταρχικών ενεργειών διαχείρισης αρχείων και καταλόγων. Απεικόνιση αρχείων στη δευτερεύουσα μνήμη. Εφεδρκό αντίγραφο αρχείου σε μόνιμο αποθηκευτικό μέσο μνήμης. 20

Σύστημα Προστασίας Το σύστημα προστασίας αφορά στο μηχανισμό ελέγχου της πρόσβασης σε προγράμματα, χρήστες, διεργασίες του συστήματος και των πόρων των χρηστών. Διάκριση (μη)-εξουσιοδοτημένης χρήσης. Καθορισμός ελέγχων που θα επιβληθούν. 21

Κατανεμημένο Σύστημα/Δικτύωση Σύνολο επεξεργαστών που δε δια-μοιράζονται μνήμη ή χρονισμό. Κάθε επεξεργαστής έχει τη δική του τοπική μνήμη. Οι επεξεργαστές του συστήματος συνδέονται μέσω δικτύου επικοινωνίας. Ένα κατανεμημένο σύστημα παρέχει δυνατότητα πρόσβασης των χρηστών σε πόρους συστήματος: Επιτάχυνση υπολογισμών. Αύξηση διαθεσιμότητας δεδομένων. Αύξηση αξιοπιστίας. 22

Σύστημα Μεταγλώτισης Εντολών (1/2) Πολλές εντολές δίνονται στο λειτουργικό σύστημα με εντολές ελέγχου (control statements) και αφορούν: Δημιουργία/διαχείριση διεργασιών. Χειρισμό εισόδου/εξόδου. Διαχείριση δευτερεύουσας μνήμης. Διαχείριση κύριας μνήμης. Πρόσβαση στο σύστημα αρχείων. Προστασία. Δικτύωση. 23

Σύστημα Μεταγλώτισης Εντολών (2/2) Το πρόγραμμα ανάγνωσης και μεταγλώτισης των εντολών ελέγχου καλείται: Μεταγλωτιστής καρτών-ελέγχου. Μεταγλωτιστής εντολών γραμμής. Κέλυφος (shell στο UNIX). Ο ρόλος του είναι να παίρνει και να εκτελεί την επόμενη εντολή. 24

Κλήσεις Συστήματος Οι κλήσεις συστήματος παρέχουν το ενδιάμεσο μεταξύ ενός εκτελούμενου προγράμματος και του λειτουργικού συστήματος: Διαθέσιμες ως εντολές γλώσσας assembly. Γλώσσες προγραμματισμού συστήματος (C, PL/360). Μέθοδοι για το πέρασμα παραμέτρων μεταξύ ενός εκτελούμενου προγράμματος και του λειτουργικού συστήματος: Πέρασμα παραμέτρων μέσω καταχωρητών. Αποθήκευση παραμέτρων σε έναν πίνακα στη μνήμη και πέρασμα της διεύθυνσης του πίνακα ως παράμετρο σε έναν καταχωρητή. Αποθήκευση (push) παραμέτρων σε στοίβα μέσω του προγράμματος και ανάκτηση (pop) από τη στοίβα μέσω του λειτουργικού συστήματος. 25

Προγράμματα Συστήματος Τα προγράμματα συστήματος παρέχουν ένα βολικό περιβάλλον για την ανάπτυξη και εκτέλεση προγραμμάτων. Διακρίνονται σε προγράμματα για : Διαχείριση Αρχείων. Πληροφόρηση κατάστασης. Τροποποίηση αρχείων. Υποστήριξη γλώσσας προγραμματισμού. Φόρτωση και εκτέλεση προγράμματος. Επικοινωνίες. Προγράμματα εφαρμογών. 26

MS-DOS Έχει γραφεί έτσι ώστε να παρέχει τη μεγαλύτερη δυνατή λειτουργικότητα σε ελάχιστο χώρο. Δε χωρίζεται σε επιμέρους κομμάτια. Έχει κάποια δομή, αλλά τα προσαρμοστικά ενδιάμεσα και τα επίπεδα λειτουργικότητας του δεν διαχωρίζονται με σαφήνεια. UNIX Το αρχικό UNIX είχε περιορισμένη δόμηση λόγω της λειτουργικότητας του υλικού μέρους. Το λειτουργικό σύστημα UNIX αποτελείται από δύο ξεχωριστά μέρη: Τα προγράμματα συστήματος Δομή Συστήματος (Απλή Περίπτωση) Τον πυρήνα (kernel) που αποτελείται από κάθε τι πάνω από το υλικό και κάτω από το ενδιάμεσο των κλήσεων συστήματος. Παρέχει το σύστημα αρχείων, τη χρονοδρομολόγηση της CPU, τη διαχείριση μνήμης και άλλες λειτουργίες λειτουργικού συστήματος. 27

Δομή Συστήματος (Περίπτωση Επιπέδων) (1/2) Το λειτουργικό σύστημα χωρίζεται σε έναν αριθμό επιπέδων. Κάθε επίπεδο χτίζεται πάνω στο χαμηλότερο επίπεδο. Το επίπεδο βάσης (επίπεδο 0) είναι το υλικό, ενώ το μέγιστο επίπεδο (επίπεδο Ν) είναι το ενδιάμεσο χρηστών (user interface). Κάθε επίπεδο χρησιμοποιεί τις υπηρεσίες των χαμηλότερών του επιπέδων. 28

Δομή Συστήματος (Περίπτωση Επιπέδων) (2/2) Το Λειτουργικό Σύστημα χωρίζεται σε έναν αριθμό επιπέδων. Κάθε επίπεδο χτίζεται πάνω στο χαμηλότερο επίπεδο. Το επίπεδο βάσης (επίπεδο 0) είναι το υλικό, ενώ το μέγιστο επίπεδο (επίπεδο Ν) είναι το ενδιάμεσο χρηστών (user interface). Κάθε επίπεδο χρησιμοποιεί τις υπηρεσίες των χαμηλότερών του επιπέδων. THE (Technische Hogeschool Eindhoven) Δομή επιπέδων Venus Δομή επιπέδων Τίτλος Μαθήματος Τμήμα 29

Δομή Συστήματος Βλέπουμε το σύστημα ως μία σειρά από επίπεδα. Κάθε επίπεδο εκτελεί ένα σχετικό υποσύνολο των λειτουργιών. Κάθε επίπεδο βασίζεται στο επόμενο χαμηλότερο επιπέδο για την εκτέλεση πιο πρωταρχικών λειτουργιών. Κάθε πρόβλημα αποσυνθέτεται σε έναν αριθμό από πιο διαχειριζόμενα υποπροβλήματα. 30

Ιεραρχία Σχεδίασης Λειτουργικού Συστήματος (1/2) Επίπεδο Όνομα Αντικείμενα Παραδείγματα Λειτουργιών 13 Κέλυφος Περιβάλλον προγραματισμού Εντολές στη γλώσσα του κελύφους 12 Διεργασίες χρήστη Διεργασίες χρήστη Quit, kill, suspend, resume 11 Κατάλογοι Κατάλογοι Create, destroy, attach, detach, search, list 10 Συσκευές Εξωτερικές συσκευές, όπως εκτυπωτές, οθόνες Open, close, read, write 9 Σύστημα αρχείων Αρχεία Create, destroy, open, close, read, write 8 Επικοινωνίες Διασωληνώσεις (Pipes) Create, destroy, open, close, read, write 7 Ιδεατή μνήμη Μπλοκ, σελίδες Read, write, fetch 6 Τοπική δευτερεύουσα μνήμη Μπλοκ δεδομένων, Κανάλια δεδομένων 5 Πρωταρχικές διεργασίες Πρωταρχικές διεργασίες, σημαφόρος Read, write, allocate, free Suspend, resume, wait, signal 31

Ιεραρχία Σχεδίασης Λειτουργικού Συστήματος (2/2) Επίπεδα Υλικού Επίπεδο Όνομα Αντικείμενα Παραδείγματα Λειτουργιών 4 Διακοπές Προγράμματα διαχείρισης διακοπών Invoke, mask, unmask, retry 3 Διαδικασίες Διαδικασίες, στοίβα κλήσης Mark stack, call, return 2 Σύνολο εντολών Στοίβα υπολογισμών, διερμηνέας μικρο-προγραμμάτων Load, store, add, subtract, branch 1 Ηλεκτρικά κυκλώματα Καταχωρητές, πύλες, αρτηρίες Clear, transfer, activate, complement 32

Ιδεατές μηχανές Μία ιδεατή μηχανή (virtual machine) αποτελεί τη λογική κατάληξη της δομής επιπέδων. Θεωρεί το υλικό μέρος και το λειτουργικό σύστημα σαν να είναι όλα υλικό μέρος. Το λειτουργικό σύστημα δημιουργεί τη ψευδαίσθηση των πολλαπλών διεργασιών, καθεμία από τις οποίες εκτελείται στο δικό της επεξεργαστή με τη δική του (ιδεατη) μνήμη. Οι πόροι του Η/Υ δια-μοιράζονται ώστε να δημιουργούνται ιδεατές μηχανές. Η χρονο-δρομολόγηση της CPU δημιουργεί την εντύπωση ότι οι χρήστες έχουν τους δικούς τους επεξεργαστές. Ο ετεροχρονισμός και το σύστημα αρχείων παρέχουν ιδεατούς αναγνώστες καρτών και ιδεατούς εκτυπωτές γραμμής. Ένα τερματικό χρήστη δια-μοιραζόμενου χρόνου αποτελεί την κονσόλα του χειριστή της ιδεατής μηχανής. 33

Υλοποίηση Συστήματος (1/2) Το λειτουργικό σύστημα παλιότερα συντάσσονταν μόνο σε γλώσσα assembly. Τώρα μπορούν να γραφούν σε γλώσσες υψηλού επιπέδου, το οποίο επιτρέπει: Γρηγορότερη σύνταξη. Δημιουργία περισσότερο συμπαγή λειτουργικού συστήματος. Ευκολότερη διόρθωση/κατανόηση. Το λειτουργικό σύστημα που έχει συνταχθεί σε γλώσσα υψηλού επιπέδου είναι πολύ ευκολότερο να εγκατασταθεί στα μηχανήματα. 34

Υλοποίηση Συστήματος (2/2) Γέννηση Συστήματος (SYSGEN) Τα λειτουργικά συστήματα σχεδιάζονται για να εκτελούνται από οποιοδήποτε σύστημα μηχανών. Το πρόγραμμα SYSGEN παρέχει τις συγκεκριμένες προδιαγραφές του υλικού μέρους του συστήματος. Εκκίνηση (booting) του Η/Υ με φόρτωση του πυρήνα (kernel). Πρόγραμμα εκκινητή (Bootstrap program). Κώδικας που φυλάσσεται στη ROM και βρίσκει τον πυρήνα, τον φορτώνει στη μνήμη και ξεκινά την εκτέλεσή του. 35

Στόχοι Σχεδίασης Συστήματος Σύστημα Εύκολος σχεδιασμός/ υλοποίηση/υποστήριξη Ευέλικτο Αξιόπιστο Ελεύθερο λαθών Ευφυές Χρήστης Ευκολία στη χρήση Ευκολία στην εκμάθηση Αξιόπιστο Ασφαλές Γρήγορο Μηχανισμοί και Πολιτικές Οι μηχανισμοί καθορίζουν το ΠΩΣ θα γίνει κάτι. Οι πολιτικές αποφασίζουν ΤΙ θα γίνει. Η διάκριση των μηχανισμών από τις πολιτικές αποτελεί μία πολύ σημαντική αρχή του συστήματος. Επιτρέπει τη μέγιστη ευελιξία σε περίπτωση αλλαγής των πολιτικών του συστήματος. 36

Χαρακτηριστικά Σύγχρονων Λειτουργικών Σύστημάτων (1/5) Αρχιτεκτονική μικροπυρήνα Αναθέτει μόνο λίγες λειτουργίες στον πυρήνα συμπεριλαμβανομένου: Χώρου διευθύνσεων. Διαδιεργασιακής επικοινωνίας (inter-process communication IPC). Βασικής δρομολόγησης. 37

Χαρακτηριστικά Σύγχρονων Λειτουργικών Σύστημάτων (2/5) Πολυνηματική (Multithreading) Η διεργασία χωρίζεται σε νήματα τα οποία μπορούν να εκτελούνται ταυτόχρονα. Νήμα (Thread) Διαχωρίσιμο τμήμα της εργασίας. Εκτελείται σειριακά και είναι διακοπτόμενο (interruptable). Διεργασία είναι μία συλλογή από ένα ή περισσότερα νήματα. 38

Χαρακτηριστικά Σύγχρονων Λειτουργικών Σύστημάτων (3/5) Συμμετρική Πολυεπεξεργασία (Symmetric multiprocessing, SMP) Υπάρχουν πολλοί επεξεργαστές. Αυτοί οι επεξεργαστές διαμοιράζονται την ίδια κύρια μνήμη και τις υπηρεσίες εισόδου/εξόδου. Όλοι οι επεξεργαστές μπορούν να εκτελούν τις ίδιες λειτουργίες ( συμμετρική ). 39

Χαρακτηριστικά Σύγχρονων Λειτουργικών Σύστημάτων (4/5) Κατανεμημένο Λειτουργικό Σύστημα (Distributed operating systems) Παρέχει τη ψευδαίσθηση ενός μοναδικού χώρου για την κύρια μνήμη, ενός μοναδικού χώρου για τη δευτερεύουσα μνήμη. Χρησιμοποιείται για ένα κατεναμημένο σύστημα αρχείων (distributed file system). 40

Χαρακτηριστικά Σύγχρονων Λειτουργικών Σύστημάτων (5/5) Αντικειμενοστραφής σχεδίαση (Object-oriented design) Χρησιμοποιείται για τη σπονδυλωτή προέκταση ενός μικρού πυρήνα. Επιτρέπει στους προγραμματιστές να ρυθμίζουν το λειτουργικό σύστημα χωρίς να διασπάσουν την ακεραιότητα του συστήματος. 41

UNIX (1/2) Αρχή από MULTICS (MULTIplexed Information and Computing Service) - M.I.T., Bell, G.E. UNICS (Uniplexed Information and Computer Service). Το Hardware περιπλείεται από το λειτουργικό σύστημα. Το λειτουργικό σύστημα είναι συνώνυμο του πυρήνα (kernel). Περιλαμβάνει έναν αριθμό από υπηρεσίες και ενδιάμεσα χρηστών: Shell C compiler 42

UNIX (2/2) Γενική αρχιτεκτονική του UNIX 43

Windows 2000 Αρχιτεκτονική (1/2) Σπονδυλωτή δομή για λόγους ευελιξίας. Εκτέλεση σε ένα εύρος από διαφορετικές πλατφόρμες. Υποστήριξη εφαρμογών που έχουν εγγραφεί για ένα εύρος λειτουργικών συστημάτων. 44

Windows 2000 Αρχιτεκτονική (2/2) Αρχιτεκτονική των Windows 2000 [1] 45

JavaOS (1/2) JavaOS: ένα λειτουργικό σύστημα που σχεδιάστηκε για να εκτελεί αποδοτικά Java εφαρμογές απευθείας σε διάφορες υπολογιστικές πλατφόρμες στις οποίες δεν υπάρχει εγκατάσταση άλλου λειτουργικού συστήματος. Έχει συγγραφεί με χρήση assembler της εκάστοτε πλατφόρμας και κώδικα σε C και παρέχει τη λειτουργικότητα που απαιτείται από την ιδεατή μηχανή της Java Virtual Machine (JVM). Το JVM παρέχει το περιβάλλον εκτέλεσης της Java για συστατικά μέρη υψηλότερου επιπέδου (graph system, window system, device drivers, networking και I/O support που μπορούν να συνταχθούν σε απλή Java). Αυτές οι υπηρεσίες αποτελούν το λεγόμενο JAVA API (Application Programming Interface). 46

JavaOS (2/2) JavaOS 47

Αναφορές [1]. William Stallings, Operating systems, Internals and Design Principles, 5 th edition, Κεφάλαιο 2, Σελίδα 83. [2]. Stallings William, Operating systems: Internal and Design Principles, 4 th edition, Publishing as Prentice Hall, 2000. [3] Alan C. Shaw, "The logical design of operating systems ", Englewood Cliffs, N.J., Prentice-Hall. [4] Raymond W. Turner, "Operating systems: design and implementation", New York : Macmillan Publ. Εργασίες και ιστότοποι για υποστήριξη αντικειμένου νέων τεχνολογιών (ενδεικτικά): Wubi Ubuntu Windows installer: http://www.ubuntu.com/download/desktop/windowsinstaller. Ubuntu 12.04: http://www.ubuntu.com/. Vistual box 4.2: https://www.virtualbox.org/ Λειτουργικό σύστημα Windows: http://windows.microsoft.com/. 48

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Τέλος Ενότητας