Για τη δηµιουργία των διαφανειών έχει χρησιµοποιηθεί υλικό από τις διαφάνειες παραδόσεων που βασίζονται στο βιβλίο, Silberschatz, Galvin and Gagne,

Σχετικά έγγραφα
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΕΙΣΑΓΩΓΗ

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

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

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

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

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

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

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

ΕΙΣΑΓΩΓΗ. Παρέχει µια διεπαφή (interface) ανάµεσα στο υλισµικό και στα προγράµµατα εφαρµογών/χρηστών.

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

ΗΜΥ 313: Τεχνολογία Λειτουργικών Συστηµάτων

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

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

Σχολή Προγραµµατιστών Ηλεκτρονικών Υπολογιστών (ΣΠΗΥ) Τµήµα Προγραµµατιστών Σειρά 112

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

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

1. ΑΡΧΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

Μάθημα 1 ο ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΤΩΝ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

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

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

Τεχνολογικά Επιτεύγµατα. Πλεονεκτήµατα. Ορισµός Κατανεµηµένου Συστήµατος. Μειονεκτήµατα. E-03: Λειτουργικά Συστήµατα ΙΙ 6. Εαρινό Εξάµηνο

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

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

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

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

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

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

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

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

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

Κεφάλαιο 1ο Πολυπρογραμματισμός Πολυδιεργασία Κατηγορίες Λειτουργικών Συστημάτων

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

Ι.Ε.Κ. Χαϊδαρίου ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ. Σημειώσεις Θεωρίας

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

Λογισµικό (Software SW) Λειτουργικά Συστήµατα και ίκτυα

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

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

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

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

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

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

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

Κεφάλαιο 5Β (επανάληψη) Εισαγωγή στην Πληροφορική. Τυπικοί χρόνοι πρόσβασης. Μέσος χρόνος πρόσβασης. Ταχύτητα µεταφοράς δεδοµένων

Εισαγωγή. Κατανεµηµένα Συστήµατα 01-1

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

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

ΚΕΦΑΛΑΙΟ 4 ΛΟΓΙΣΜΙΚΟ ΣΥΣΤΗΜΑΤΟΣ. ΔΗΜΗΤΡΗΣ ΜΑΝΩΛΗΣ ΦΥΣΙΚΟΣ-MSc

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

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

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

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

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

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

Εικονική Μνήµη. Κεφάλαιο 8. Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi

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

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

Linux Terminal Server Project

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ H/Y

Information Technology for Business

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ, ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ

Νήµατα. ιεργασίες και νήµατα Υλοποίηση νηµάτων Ελαφριές διεργασίες Αξιοποίηση νηµάτων. Κατανεµηµένα Συστήµατα 10-1

Επιτεύγµατα των Λ.Σ.

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

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

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

Χαρακτηρισµός Κατανεµηµένων Συστηµάτων

Περίληψη ιπλωµατικής Εργασίας

3/11/2014. Windows Unix. Linux. Mac OS Solaris. J. Glenn Brookshear

Πληροφορίες. Εισαγωγή στην Πληροφορική. Κατηγορίες υλισµικού. Περίληψη µαθήµατος (συνέχεια) Επεξεργαστής Μνήµη. Χειµερινό Εξάµηνο

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

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

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

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

Εξετάσεις Προόδου 8/1/2014 Τεχνικός Εφαρμογών Πληροφορικής (Πολυμέσα/ Web designer - developper/video games)

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

Τεχνολογίες & Εφαρμογές Πληροφορικής Ενότητα 7: Τοπικά δίκτυα

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

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

Κεφάλαιο 3 Λειτουργικά Συστήματα Β ΕΠΑΛ

Ενότητα 7. Εισαγωγή στην Πληροφορική. Κεφάλαιο 7Α. Χρήσεις ικτύων. Ταυτόχρονη πρόσβαση. Χειµερινό Εξάµηνο

Λειτουργικά Συστήματα Πραγματικού Χρόνου

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

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

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

Διαφορές single-processor αρχιτεκτονικών και SoCs

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Λειτουργικά συστήματα πραγματικού χρόνου

Α. Ερωτήσεις Ανάπτυξης

Επικοινωνία Client/Server

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

Εργαστήριο Λειτουργικών Συστημάτων. Minix Overview

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

12/5/18. συστημάτων. Το λογισµικό συστηµάτων. Κεφάλαιο 5

ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ)

Transcript:

Εισαγωγή

Για τη δηµιουργία των διαφανειών έχει χρησιµοποιηθεί υλικό από τις διαφάνειες παραδόσεων που βασίζονται στο βιβλίο, Silberschatz, Galvin and Gagne, Operating Systems Concepts, 6 th Edition. Οι διαφάνειες αυτές βρίσκονται στο δικτυακό τόπο: http://www.cs.purdue.edu/homes/yau/cs503/

Εισαγωγή Τι είναι ένα Λειτουργικό Σύστηµα (ΛΣ); Μεγάλα Υπολογιστικά Συστήµατα (Mainframe Systems) Επιτραπέζια Συστήµατα (Desktop Systems) Συστήµατα Πολλών Επεξεργαστών (Multiprocessor Systems) Κατανεµηµένα Συστήµατα (Distributed Systems) Συστήµατα έσµης (Clustered Systems) Συστήµατα Πραγµατικού Χρόνου (Real -Time Systems) Συστήµατα Χειρός (Handheld Systems) Υπολογιστικά Περιβάλλοντα (Computing Environments) Σελίδα 3

Τι είναι ένα Λειτουργικό Σύστηµα (ΛΣ) Ένα πρόγραµµα που λειτουργεί ως ενδιάµεσος µεταξύ των χρηστών των Υπολογιστικών Συστηµάτων και του υλικού του Υπολογιστικού Συστήµατος (ΥΣ) Στόχοι ενός ΛΣ: Εκτέλεση προγραµµάτων χρηστών Ευκολία χρήσης του ΥΣ Χρήση του υλικού και των περιφερειακών του ΥΣ µε αποτελεσµατικό / αποδοτικό τρόπο Προστασία των προγραµµάτων και δεδοµένων των διαφόρων χρηστών του ΥΣ Σελίδα 4

Στοιχεία Υπολογιστικών Συστηµάτων 1. Υλικό (Hardware) παρέχει τους βασικούς υπολογιστικούς πόρους (επεξεργαστής, µνήµη, συσκευές εισόδου/εξόδου (I/O devices)). 2. Λειτουργικό σύστηµα ελέγχει και συντονίζει τη χρήση του υλικού µεταξύ των διαφόρων προγραµµάτων εφαρµογών των διαφόρων χρηστών 3. Προγράµµατα εφαρµογών καθορίζουν τους τρόπους µε τους οποίους χρησιµοποιούνται οι πόροι για την επίλυση των υπολογιστικών προβληµάτων των χρηστών (π.χ. µεταγλωττιστές, συστήµατα βάσεων δεδοµένων, προγράµµατα επιχειρήσεων) 4. Χρήστες (άνθρωποι, µηχανήµατα, άλλοι υπολογιστές) Σελίδα 5

Υλικό ενός Τυπικού ΥΣ Σελίδα 6

Απόπειρες Ορισµού ΛΣ Το ΛΣ ως εκτεταµένη µηχανή (extended ή virtual machine). Το πρόγραµµα πουκρύβειαπότοχρήστη/ προγραµµατιστή την αλήθεια για το υλικό Παράδειγµα 1: η παρουσίαση µιας απλής και εύχρηστης απεικόνισης από ονόµατα και λειτουργίες χειρισµού αρχείων και καταλόγων Παράδειγµα 2: Παρουσίαση της µνήµης στα προγράµµατα των χρηστών, διαχείριση διακοπών (interrupt handling) Σελίδα 7

Απόπειρες Ορισµού ΛΣ (συνέχεια) Το ΛΣ ως διαχειριστής της ανάθεσης πόρων (resource allocation). Το πρόγραµµα που αναλαµβάνει να µοιράσει τους πόρους τους συστήµατος ανάµεσα στις διάφορες εφαρµογές Παράδειγµα 1: H χρήση κοινών εκτυπωτών, όπου θα πρέπει το ΛΣ να παρέχει έναν τρόπο για την ορθή και µε συγκεκριµένη σειρά εκτύπωση των δεδοµένων όλων των χρηστών, που χρησιµοποιούν ταυτόχρονα τον εκτυπωτή Παράδειγµα 2: ιαχείριση και προστασία της µνήµης, ιδιαίτερα σε συστήµατα που εξυπηρετούν ταυτόχρονα πολλούς χρήστες Σελίδα 8

Απόπειρες Ορισµού ΛΣ (συνέχεια) Top down view: Προσεγγίζοντας το ΛΣ από τη κορυφή (χρήστης) προς τη βάση (υλικό ΥΣ), ο ρόλος του είναι να παρέχει στα προγράµµατα εύκολη και αποδοτική επικοινωνία µε τουςδιάφορους πόρους του ΥΣ Bottom up view: Προσεγγίζοντας το ΛΣ από τη βάση προς την κορυφή, «µέριµνα του ΛΣ, είναι να παρέχει µια συστηµατοποιηµένη και ελεγχόµενη κατανοµή των επεξεργαστών, των µνηµών, και των άλλων συσκευών εισόδου / εξόδου, ανάµεσα στα διάφορα προγράµµατα-πελάτες που ανταγωνίζονται µεταξύ τους για να τα χρησιµοποιήσουν» (Tanenbaum, 2001) Σελίδα 9

Θεώρηση των Στοιχείων ενός ΥΣ Σελίδα 10

Τελικά... ιαχείριση της ανάθεσης πόρων (resource allocator) Πρόγραµµα ελέγχου ελέγχει την εκτέλεση των προγραµµάτων χρηστών και τη λειτουργία των συσκευών εισόδου / εξόδου Πυρήνας (Kernel) το µόνο πρόγραµµα που τρέχει συνέχεια, όσο βρίσκεται σε λειτουργία το ΥΣ (όλα τα υπόλοιπα θεωρούνται επιπρόσθετες υπηρεσίες και προγράµµατα εφαρµογών) Σελίδα 11

Λειτουργικά Συστήµατα και Αρχιτεκτονική Υπολογιστικών Συστηµάτων Τα ΛΣ έχουν µια σχέση «εξάρτησης» µετην αρχιτεκτονική των ΥΣ στα οποία εκτελούνται Οι εξελίξεις στο υλικό των ΥΣ έκανε δυνατή την παροχή επιπλέον λειτουργιών προς τα προγράµµατα των χρηστών. Οι λειτουργίες αυτές υλοποιούνταν µε την ανακάλυψη και την εξέλιξη των ΛΣ Είναι ένας καλός τρόπος να κατανοήσουµε τις εξελίξεις στα ΛΣ, αν παρακολουθήσουµε τις εξελίξεις στην αρχιτεκτονική που τις «επέτρεψαν» Σελίδα 12

Μεγάλα Υπολογιστικά Συστήµατα Μείωση του χρόνου εκκίνησης µε τηνοµαδοποίηση παρόµοιων εργασιών (batching of similar jobs) Αυτοµατοποίηση της εναλλαγής µεταξύ των εργασιών αυτόµατη µεταφορά ελέγχου µεταξύ εργασιών (πρώτο στοιχειώδες ΛΣ) Μόνιµο (στη µνήµη) πρόγραµµα ελέγχου(resident monitor): Αρχικά, ο έλεγχος στο πρόγραµµα ελέγχου Μεταφορά του ελέγχου στην εργασία Με την ολοκλήρωση της εργασίας, µεταφορά του ελέγχου στο πρόγραµµα ελέγχου Σελίδα 13

Σειριακή Εκτέλεση και Παροχέτευση (Spooling) Οι εργασίες προς εκτέλεση φορτώνονται σε δευτερεύουσα µνήµη (στις αρχές των ΗΥ, κάθε εργασία γραφόταν σε χάρτινες κάρτες, οι οποίες µε την σειρά τους διαβάζονταν από ειδικά µηχανήµατα για να αποθηκευτούν στον δίσκο/ταινία του ΥΣ) Το σύστηµα επιλέγειµια από τις αποθηκευµένες εργασίες, την µεταφέρει από την δευτερεύουσα στην πρωτεύουσα µνήµη και αρχίζει την εκτέλεσή της Μόλις τελειώνει η εκτέλεση της τρέχουσας εργασίας, το ΛΣ φορτώνει την επόµενη εργασία Κάθε χρονική στιγµή, υπάρχει µόνο µια εργασία που είναι φορτωµένη και εκτελείται από το σύστηµα Σελίδα 14

ιάταξη µνήµης γα ένα απλό σύστηµα µαζικής επεξεργασίας (batch system) Σελίδα 15

3 η Γενιά Υπολογιστικών Συστηµάτων: Ολοκληρωµένα Κυκλώµατα Πολυπρογραµµατισµός: Είναι «ο διαµερισµός της µνήµης σε διάφορα τµήµατα, ώστε κάθε διαφορετική εργασίανακαταλαµβάνει διαφορετικό τµήµα» (Tanenbaum, 1993) Το ΛΣ µπορεί να φορτώσει περισσότερες από µια εργασίες ταυτόχρονα στην κυρίως µνήµη τουυσ Κάθε χρονική στιγµή, υπάρχουν πολλές διεργασίες που είναι φορτωµένες και εκτελούνται από το σύστηµα Σελίδα 16

Πολυπρογραµµατιστικά Συστήµατα Μαζικής Επεξεργασίας Σελίδα 17

Χαρακτηριστικά που το ΛΣ πρέπει να έχει στον πολυπρογραµµατισµό (Ι) ιαχείριση µνήµης το ΛΣ πρέπει να είναι σε θέση να χωρίσει τη µνήµη σετµήµατα (ένα για κάθε διεργασία) και να προστατεύσει το τµήµα κάθε διεργασίας από (ηθεληµένες ή αθέλητες) παρεµβολές των υπολοίπων διεργασιών ιαχείριση διεργασιών το ΛΣ πρέπει να είναι σε θέση να επιλέξει ποιες διεργασίες θα αποκτήσουν χώρο στη µνήµη (θεωρούµε ότιηµνήµη δεν επαρκεί για να «στεγάσει» όλες τις διεργασίες ταυτόχρονα και ότι µόνο µια διεργασία που είναι στη µνήµη µπορεί να τρέξει) Σελίδα 18

Χαρακτηριστικά που το ΛΣ πρέπει να έχει στον πολυπρογραµµατισµό (ΙΙ) Χρονοπρογραµµατισµός της ΚΜΕ το ΛΣ πρέπει να επιλέξει µεταξύ των διεργασιών που έχουν χώρο στη µνήµη κάποια για να τρέξει Ανάθεση πόρων µε τέτοιο τρόπο ώστε να µην «επηρεάζεται» η µια διεργασία από την εκτέλεση άλλων διεργασιών Σελίδα 19

Συστήµατα Καταµερισµού Χρόνου (Time-sharing Systems) Αφορά κυρίως τα συστήµατα µε τερµατικά και χρήστες που αλληλεπιδρούν (interactive) µε έναυσ. Η ιδέαείναι να γίνεται καταµερισµός της ΚΜΕ στις εργασίες που περιµένουν εξυπηρέτηση, για την προσφορά γρήγορης εξυπηρέτησης σε έναν αριθµό από χρήστες Σελίδα 20

ιαλογικός Υπολογισµός (Interactive Computing) H KME µοιράζεται µεταξύ διαφορετικών διεργασιών που κρατούνται στη µνήµη ήστοδίσκο Μια εργασία µεταφέρεται (swapped) µεταξύ µνήµης και δίσκου Παρέχεται διαλογική επικοινωνία µεταξύ χρήστη και ΥΣ. Όταν το ΛΣ ολοκληρώσει την εκτέλεση µιας εντολής, ψάχνει την επόµενη προς εκτέλεση εντολή από το πληκτρολόγιο Τα διαλογικά συστήµαταπρέπειναέχουνδιαθέσιµα για πρόσβαση τόσο τον κώδικα των εφαρµογών όσο και τα δεδοµένα (file systems) Σελίδα 21

Επιτραπέζια ΥΣ (Desktop Systems) Προσωπικοί Υπολογιστές υπολογιστικά συστήµατα αφιερωµένα σε ένα χρήστη Συσκευές I/O πληκτρολόγια, ποντίκια, οθόνες, εκτυπωτές ιευκόλυνση των χρηστών και αυξηµένη απόκριση στα αιτήµατά τους για εξυπηρέτηση Μπορεί να υιοθετήσει τεχνολογία που προορίζεται για µεγαλύτερα ΥΣ, αλλά το γεγονός ότι απευθύνονται σε έναχρήστητακάνειπιοαπλά Συνήθως τρέχουν πολλούς διαφορετικούς τύπους ΛΣ (Windows, MacOS, Linux) Σελίδα 22

MS-DOS: Μια Πραγµατική Εργασία Κατά την εκκίνηση του συστήµατος Εκτέλεση ενός προγράµµατος Σελίδα 23

Unix: Ταυτόχρονη εκτέλεση εργασιών Σελίδα 24

Παράλληλα Συστήµατα Συστήµατα πολλών επεξεργαστών µε περισσότερες της µιας ΚΜΕ σε στενή επικοινωνία Ισχυρά συζευγµένα συστήµατα (Tightly coupled systems) οι επεξεργαστές µοιράζονται δίαυλο, ρολόι και µνήµη (επικοινωνία) Πλεονεκτήµατα των παράλληλων συστηµάτων: Αυξηµένη απόδοση (όταν επιτυγχάνεται παράλληλη εκτέλεση κώδικα από τις διάφορες ΚΜΕ) Οικονοµία κλίµακας (αναλογικά µικρότερο κόστος ανά ΚΜΕ σε σχέση µε πολλούς ξεχωριστούς ΗΥ) Αυξηµένη αξιοπιστία (αντοχή σε λάθη και οµαλή πτώση απόδοσης όταν χάνονται διάφοροι πόροι του ΥΣ) Σελίδα 25

Παράλληλα Συστήµατα (συνέχεια) Συµµετρική πολυεπεξεργασία (Symmetric multiprocessing (SMP)) Κάθε επεξεργαστής τρέχει ένα πανοµοιότυπο αντίγραφο του ΛΣ Πολλές εργασίες µπορούν να τρέχουν ταυτόχρονα χωρίς χειροτέρευση της απόδοσης Τα περισσότερα σύγχρονα ΛΣ υποστηρίζουν SMP Ασύµµετρη πολυεπεξεργασία (Asymmetric multiprocessing) Κάθε επεξεργαστής αναλαµβάνει συγκεκριµένη εργασία, ενώ ο κύριος επεξεργαστής αναθέτει εργασίες στους υπόλοιπους Περισσότερο συνηθισµένο σε πολύ µεγάλα ΥΣ Σελίδα 26

Αρχιτεκτονική Συµµετρικής Πολυεπεξεργασίας Σελίδα 27

Συστήµατα Πραγµατικού Χρόνου (Real-Time Systems) Συνήθως χρησιµοποιούνται σε συσκευές ελέγχου σε εξειδικευµένες εφαρµογές, όπως έλεγχος επιστηµονικών πειραµάτων, συστήµατα ελέγχου στη βιοµηχανία, και σε ορισµένα συστήµατα απεικόνισης Σαφώς προσδιορισµένοι και σταθεροί χρονικοί περιορισµοί Τα συστήµατα πραγµατικού χρόνου µπορεί να είναι είτε αυστηρά (hard - δεν επιτρέπεται η παραµικρή απόκλιση απότοπλάνοεκτέλεσης) είτε χαλαρά (soft - επιτρέπονται µικρές καθυστερήσεις στην απόκριση του συστήµατος) Σελίδα 28

Συστήµατα Πραγµατικού Χρόνου (συνέχεια) Αυστηρά συστήµατα πραγµατικού χρόνου: Περιορισµένη ή απούσα δευτερεύουσα αποθήκευσης, τα δεδοµένα τηρούνται σε ROM εν υποστηρίζονται από τα ΛΣ γενικού σκοπού Χαλαρά συστήµατα πραγµατικού χρόνου: Περιορισµένη χρησιµότητα σε βιοµηχανικό έλεγχο ή ροµποτική Χρήσιµο σεεφαρµογές (πολυµέσα, εικονική πραγµατικότητα) που απαιτούν αυξηµένα χαρακτηριστικά από το ΛΣ Σελίδα 29

Λειτουργικά Συστήµατα ικτύου Υπάρχουν και άλλοι χρήστες και πόροι συνδεδεµένοι σε δίκτυο Μπορούν να θεωρηθούν προεκτάσεις των κλασικών ΛΣ. Υπάρχουν ΛΣ δύο τύπων: ΛΣ ισότιµων σταθµών εργασίας (peer-to-peer NOSs) ΛΣ αφιερωµένου εξυπηρετητή (dedicated server NOSs) Σελίδα 30

Κατανεµηµένα Λειτουργικά Συστήµατα Κατανοµή των υπολογισµών µεταξύ διαφόρων (όχι απαραίτητα όµοιων) επεξεργαστών χωρίς κοινή µνήµη ή κοινό ρολόι Χαλαρά Συζευγµένα Συστήµατα (Loosely coupled systems) κάθε ΚΜΕ έχει τη δική της τοπική µνήµη και επικοινωνεί µε τις άλλες ΚΜΕ πάνω από δίκτυα (networks) χρησιµοποιώντας ειδικά πρωτόκολλα ανταλλαγής δεδοµένων Πλεονεκτήµατα Κατανεµηµένων Συστηµάτων: ιαµοιρασµός πόρων Επιτάχυνση υπολογισµών καταµερισµός φόρτου-load sharing Αξιοπιστία και διαθεσιµότητα (reliability & availability) Κλιµάκωση (σταδιακή ανάπτυξη ενός ΥΣ) Σελίδα 31

Κατανεµηµένα Λειτουργικά Συστήµατα (συνέχεια) Απαιτείται δικτυακή υποδοµή Τοπικά ίκτυα (Local area networks (LANs)) ή ίκτυα Ευρείας Περιοχής (Wide area networks (WANs)) Μπορεί να είναι αρχιτεκτονικής πελάτη-εξυπηρετητή (client-server) ή ισότιµων ΥΣ (peer-to-peer) Σελίδα 32

οµή Κατανεµηµένου Συστήµατος (πάνω από WAN) Σελίδα 33

οµή Υπολογισµών Πελάτη- Εξυπηρετητή (Client Server) Σελίδα 34

Συστήµατα έσµης (Clustered Systems) ηµιουργία δέσµης συστηµάτων για το διαµοιρασµό χώρου αποθήκευσης Παρέχεται υψηλή αξιοπιστία Ασύµµετρη δέσµη (Asymmetric clustering): ένας εξυπηρετητής τρέχει την εφαρµογή και οι άλλοι βρίσκονται σε αναµονή Συµµετρική δέσµη (Symmetric clustering): και οι Ν σταθµοί εργασίας εκτελούν την εφαρµογή Σελίδα 35

Συστήµατα Χειρός Ψηφιακοί Βοηθοί (Personal Digital Assistants (PDAs)) Κινητά τηλέφωνα Ζητήµατα: Περιορισµένη µνήµη Αργοί επεξεργαστές Μικρές οθόνες απεικόνισης Περιορισµοί στην κατανάλωση ενέργειας (µπαταρίες) Σελίδα 36

Εξέλιξη Εννοιών και Χαρακτηριστικών των ΛΣ Σελίδα 37

οµές Λειτουργικών Συστηµάτων

οµές ΛΣ Μονολιθικά συστήµατα Στρωµατοποιηµένα συστήµατα Συστήµατα µε ελάχιστο πυρήνα Συστήµατα πελάτη-εξυπηρετητή Ιδεατές µηχανές Σελίδα 39

Μονολιθική Προσέγγιση To ΛΣ αποτελείται από ουσιαστικά ένα µεγάλο κοµµάτι κώδικα Πρόσβαση στις λειτουργίες του ΛΣ δίνεται µέσω από µια µοναδική και αρκετά εκτεταµένη διεπαφή προγραµµατισµού (Application Programming Interface - API) Ακόµα και αν υπάρχουν ξεχωριστά τµήµατα κώδικα (που µεταφράζονται ξεχωριστά), υπάρχει αρκετά µεγάλη εξάρτηση ανάµεσα τους (σε επίπεδο δοµών δεδοµένων ή/και αλγορίθµων) Για να αλλάξει µια λειτουργία του ΛΣ πρέπει συνήθως να γίνουν αλλαγές σε πολλά διαφορετικά τµήµατα του κώδικα Σελίδα 40

οµή τουunix UNIX περιορισµένο από τις δυνατότητες του υλικού, αρχικά το ΛΣ UNIX είχε περιορισµένη δόµηση. Το UNIX αποτελείται από δύο διαχωρίσιµα τµήµατα: Προγράµµατα συστήµατος Τον πυρήνα (kernel): Αποτελείται από οτιδήποτε υπάρχει κάτω από τη διεπαφή των κλήσεων συστήµατος και πάνω από το υλικό Παρέχει τις λειτουργίες συστήµατος αρχείων, διαχείρισης µνήµης, χρονοπρογραµµατισµού ΚΜΕ, και άλλες λειτουργίες ενός ΛΣ (µεγάλος αριθµός λειτουργιών για ένα επίπεδο) Σελίδα 41

οµή τουunix Σελίδα 42

Προσέγγιση σε Επίπεδα (Layered Approach) To ΛΣ χωρίζεται σε έναν αριθµό απόεπίπεδα-στρώµατα (layers ή levels), κάθε ένα από τα οποία χτίζεται πάνω από υπάρχοντα επίπεδα. Το κάτω επίπεδο (επίπεδο 0), είναι το υλικό, ενώ το υψηλότερο (επίπεδο N) είναι η διεπαφή επικοινωνίας χρήστη-υπολογιστή (user interface) Με την τµηµατοποίηση (modularity), τα επίπεδα επιλέγονταιέτσιώστετοκαθέναναχρησιµοποιεί λειτουργίες και υπηρεσίες µόνο από τα χαµηλότερα επίπεδα Σελίδα 43

Αναπαράσταση Στρώµατος Σελίδα 44

οµή OS/2 Σελίδα 45

Προσέγγιση Microkernel Μετακινεί όσο το δυνατόν περισσότερες λειτουργίες στο χώρο του χρήστη Η επικοινωνία µεταξύ των τµηµάτων των χρηστών γίνεται µε πέρασµα µηνυµάτων Πλεονεκτήµατα: ευκολότερη και πιο ευέλικτη επεκτασιµότητα του ΛΣ ευκολότερη η µεταφορά του ΛΣ σε νέες αρχιτεκτονικές µεγαλύτερη αξιοπιστία και ασφάλεια (λιγότερος κώδικας τρέχει σε kernel mode) Σελίδα 46

Προσέγγιση Client-Server Το ΛΣ αποτελείται από µια οµάδα εξυπηρετητών Κάθε εξυπηρετητής του ΛΣ ανοίγει ένα κανάλι / δίαυλο επικοινωνίας και περιµένει να λάβει αιτήσεις από πελάτες (προγράµµατα) Ένας εξυπηρετητής είναι είτε σειριακός (iterative) όπου επεξεργάζεται µια αίτηση κάθε φορά (οι αιτήσεις των πελατών τοποθετούνται σε ουρές αναµονής), είτε παράλληλος (concurrent) όπου επεξεργάζεται πολλές αιτήσεις ταυτόχρονα Τα προγράµµατα πελάτες επικοινωνούν µε το ΛΣ στέλνοντας αιτήσεις στις διευθύνσεις των αντίστοιχων εξυπηρετητών και λαµβάνοντας τα αποτελέσµατα Σελίδα 47

οµή Πελάτη-Εξυπηρετητή στα Windows NT Σελίδα 48

Ιδεατές Μηχανές (Virtual Machines) Μια ιδεατή µηχανή (virtual machine) αντιµετωπίζει το υλικό και τον πυρήνα του ΛΣ ως να ήταν όλα υλικό Μια ιδεατή µηχανή παρέχει µια προσαρµογή πανοµοιότυπη µε τουφιστάµενο υλικό Το ΛΣ παρέχει την ψευδαίσθηση των πολλαπλών διεργασιών, όπου η κάθε µια εκτελείται στο δικό της επεξεργαστή µε τη δικιά της (ιδεατή) µνήµη Σελίδα 49

Ιδεατές Μηχανές (συνέχεια) Οι πόροι του ΥΣ διαµοιράζονται προκειµένου να δηµιουργήσουν τις ιδεατές µηχανές Ο χρονοπρογραµµατισµός της ΚΜΕ, µπορεί να δώσει την εντύπωση ότι οι χρήστες έχουν δικό τους επεξεργαστή Η παροχέτευση και ένα σύστηµα αρχείωνµπορούν να παρέχουν ιδεατούς αναγνώστες καρτών και ιδεατούς εκτυπωτές Ένα κανονικό τερµατικό χρήστη σε ένα σύστηµα καταµερισµού χρόνου λειτουργεί ως η κονσόλα του χειριστή της ιδεατής µηχανής Σελίδα 50

Μοντέλα Συστηµάτων Σελίδα 51

Πλεονεκτήµατα / Μειονεκτήµατα Ιδεατών Μηχανών Η έννοια της ιδεατής µηχανής παρέχει πλήρη προστασία των πόρων του συστήµατος αφού η κάθε ιδεατή µηχανή είναι πλήρως αποµονωµένη από τις άλλες ιδεατές µηχανές. Αυτή η αποµόνωση πάντως, δεν επιτρέπει άµεσο διαµοιρασµό πόρων Ένα σύστηµα ιδεατήςµηχανής είναι είναι το τέλειο όχηµα για έρευνα και ανάπτυξη στην περιοχή των ΛΣ. Η ανάπτυξη του συστήµατος γίνεται στην ιδεατή µηχανή, αντί για την πραγµατική και έτσι δεν διασπάται η κανονική λειτουργία του συστήµατος Η έννοια των ιδεατών µηχανών είναι δύσκολη στην υλοποίηση λόγω του φόρτου που απαιτείται για την παροχή ενός πιστού αντιγράφουν της υφιστάµενης µηχανής Σελίδα 52

Ιδεατή Μηχανή Java Τα µεταγλωττισµένα προγράµµατα Java είναι bytecodes ανεξάρτητα πλατφόρµας που εκτελούνται από την ιδεατή µηχανή Java (Java Virtual Machine JVM) H JVM αποτελείται από: φορτωτή κλάσεων επαληθευτή (class verifier) διερµηνέας σε χρόνο εκτέλεσης (run-time interpreter) Αύξηση της απόδοσης µε µεταγλωττιστές Just-In-Time (JIT) που παράγουν κώδικα µηχανής όταν µια κλάση φορτώνεται για πρώτη φορά στο σύστηµα Σελίδα 53

Ιδεατή Μηχανή Java Σελίδα 54

οµικά Τµήµατα (Modules) Τα περισσότερα σύγχρονα λειτουργικά συστήµατα υλοποιούν δοµικά τµήµατα πυρήνα (kernel modules) Χρησιµοποιείται η αντικειµενοστραφής προσέγγιση Το κάθε τµήµα είναιξεχωριστό Το κάθε ένα µιλάει στο άλλο µέσα από γνωστές διεπαφές (interfaces) Το κάθε τµήµα µπορεί να φορτωθεί στον πυρήνα µε βάση τις ανάγκες Συνολικά, παρόµοιο µε τα επίπεδα αλλά περισσότερο ευέλικτο Σελίδα 55

οµικά Τµήµατα (συνέχεια) Σελίδα 56

Στόχοι Σχεδιασµού ΛΣ Στόχοι για το Χρήστη το ΛΣ πρέπει να είναι εύκολο στη χρήση, εύκολο στη µάθηση, αξιόπιστο, ασφαλές και γρήγορο Στόχοι για το Σύστηµα το ΛΣ πρέπει να είναι εύκολο στο σχεδιασµό, την υλοποίηση και τη συντήρηση, καθώς επίσης και ευέλικτο, αξιόπιστο, χωρίς λάθη και αποδοτικό Σελίδα 57

Μηχανισµοί και Πολιτικές Οι µηχανισµοί προσδιορίζουν το πως υλοποιούνται συγκεκριµένες λειτουργίες του ΛΣ Οι πολιτικές προσδιορίζουν το τι τακτική θα ακολουθηθεί σε µια συγκεκριµένη λειτουργία του ΛΣ (που υλοποιείται από ένα µηχανισµό) Μέσα από έναν µοναδικό µηχανισµό µπορεί να υποστηριχθούν πολλές διαφορετικές πολιτικές Οδιαχωρισµός της πολιτικής από τους µηχανισµούς είναι πολύ σηµαντική αρχή, επιτρέπει τη µεγαλύτερη δυνατή ευελιξία αν οι αποφάσεις πολιτικής πρόκειται να αλλάξουν αργότερα Σελίδα 58

Υλοποίηση Λειτουργικών Συστηµάτων Αν και παραδοσιακά γράφονταν σε assembly, τα ΛΣ µπορούν πλέον να γράφονται σε γλώσσες προγραµµατισµού υψηλότερου επιπέδου Ο κώδικας που γράφεται σε µια γλώσσα υψηλότερου επιπέδου: µπορεί να γραφτεί γρηγορότερα είναι περισσότερο συµπαγής είναι εύκολος στην κατανόηση είναι πιο εύκολος στην εκσφαλµάτωση (debugging) Ένα ΛΣ είναι ευκολότερα µεταφέρσιµο σε άλλη αρχιτεκτονική (porting) αν είναι γραµµένο σε γλώσσα υψηλού επιπέδου Σελίδα 59

«Γέννηση» ΛΣ (SYSGEN) Τα ΛΣ είναι ρυθµισµένα να λειτουργούν σε οποιοδήποτε από µια κλάση µηχανηµάτων. Το σύστηµα πρέπειναδιαµορφωθεί (configured) για κάθε συγκεκριµένο ΥΣ Το πρόγραµµα SYSGEN συλλέγει πληροφορίες που αφορούν τη συγκεκριµένη συγκρότηση του υλικού Εκκίνηση (Booting) εκκίνηση ενός ΥΣ µε τη φόρτωση του πυρήνα Πρόγραµµα Bootstrap κώδικας που φυλάσσεται στη ROM που είναι σε θέση να εντοπίσει τον κώδικα, να τον φορτώσει στη µνήµη και να αρχίσει την εκτέλεσή του Σελίδα 60