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

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

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

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

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

Διεργασίες και Νήματα (2/2)

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

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

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

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

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

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

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

ιεργασίες και νήµατα Προγραµµατισµός ΙΙΙ 1 lalis@inf.uth.gr

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

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

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

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

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

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

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

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

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

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

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

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

Κατανεμημένα Συστήματα

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

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

Μάθημα 3 ο ΔΙΕΡΓΑΣΙΕΣ (PROCESSES)

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

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

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

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

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

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

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

Πολυπύρηνοι επεξεργαστές Multicore processors

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

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

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

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

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

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

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

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

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

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

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

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού

Δείγμα σημειώσεων για τα Λειτουργικά Συστήματα για τις εξετάσεις του ΑΣΕΠ Εκπαιδευτικών ΠΕ19-ΠΕ20

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

Εισαγωγή Χαρακτηριστικά του πυρήνα του Linux Ο ρόλος του λειτουργικού συστήματος...7

ΚΕΦΑΛΑΙΟ 2 - ΛΟΓΙΣΜΙΚΟ

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

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

Αμοιβαίος αποκλεισμός

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

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

ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Λειτουργικά Συστήματα Ι. Διδάσκων: Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι

Βασίλειος Κοντογιάννης ΠΕ19

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

Αρχιτεκτονικές κατανεμημένων συστημάτων. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 12

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

TRAVIS TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ

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

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

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

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

Η Υλοποίηση της Επικοινωνίας. Κατανεµηµένα Συστήµατα

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

Κεφάλαιο 2: Λογισμικό (Software) Εφαρμογές Πληροφορικής Κεφ. 2 Καραμαούνας Πολύκαρπος

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

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

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

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

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

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

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

Δίκτυα Υπολογιστών Firewalls. Χάρης Μανιφάβας

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

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

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

Κεφάλαιο 6 ο. Διαχείριση στοιχείων λογισμικού

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

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

Εικονικοποίηση. Αρχιτεκτονική Υπολογιστών 5ο Εξάμηνο,

Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών

HY-486 Αρχές Κατανεμημένου Υπολογισμού

Εικονικοποίηση. Λειτουργικά Συστήματα Υπολογιστών 7ο Εξάμηνο,

Προγραμματισμός Ταυτόχρονος Προγραμματισμός

1 ο ΓΥΜΝΑΣΙΟ ΘΕΡΜΗΣ. Πληροφορική Α' Γυμν. Το Λειτουργικό Σύστημα του Υπολογιστή

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι. Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Επ. Καθ. Κ. Λαμπρινουδάκης

Κεφάλαιο 4 Σύνδεση Μικροεπεξεργαστών και Μικροελεγκτών ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

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

Βασικές Έννοιες Πρ Ταο υγρ τόα χ μ ρ μ ο α ν τισμ ος Π ό ρ ςο ΙΙΙ γραμματισμός 1

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

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

SNMP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

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

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

Transcript:

Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 4 «Αρχιτεκτονικές ΛΣ» Διδάσκων: Δ Λιαροκάπης Διαφάνειες: Π. Χατζηδούκας 1

1. Μονολιθικά συστήματα Αρχιτεκτονικές ΛΣ 2. Στρωματοποιημένη αρχιτεκτονική 3. Αρχιτεκτονική μικροπυρήνα 4. Νήματα (threads) - Πολυνημάτωση (multithreading) 5. Συστήματα πολυεπεξεργασίας 6. Παράλληλα συστήματα 7. Συστήματα πραγματικού χρόνου 8. Κατανεμημένα συστήματα 2

1. Μονολιθικά συστήματα Είναι μια προσέγγιση χωρίς καμιά δομή Το ΛΣ είναι μια συλλογή από διαδικασίες, κάθε μια από τις οποίες μπορεί να καλέσει οποιαδήποτε άλλη, όταν τη χρειαστεί Η επικοινωνία μεταξύ των διαδικασιών γίνεται με παραμέτρους Κάθε διαδικασία είναι ορατή σε οποιαδήποτε άλλη 3

Κλήση συστήματος Υλοποίηση κλήσης συστήματος σε μονολιθικά συστήματα 1. Το πρόγραμμα του χρήστη δημιουργεί μια παγίδα στον πυρήνα (εκτελείται μια ειδική εντολή ή κλήση πυρήνα kernel call) 2. Το ΛΣ προσδιορίζει τον αριθμό εξυπηρέτησης που ζητήθηκε 3. Το ΛΣ εντοπίζει και καλεί τη διαδικασία εξυπηρέτησης 4. Ο έλεγχος επιστρέφεται στο πρόγραμμα του χρήστη 4

Μονολιθική οργάνωση Η μονολιθική οργάνωση προτείνει την εξής βασική δομή για το ΛΣ: Ένα κύριο πρόγραμμα που ζητά την ενεργοποίηση μιας διαδικασίας εξυπηρέτησης Ένα σύνολο διαδικασιών εξυπηρέτησης, οι οποίες υλοποιούν τις κλήσεις συστήματος Ένα σύνολο βοηθητικών προγραμμάτων, τα οποία υποβοηθούν τις διαδικασίες εξυπηρέτησης 5

2. Στρωματοποιημένη αρχιτεκτονική Προσπαθεί να βελτιώσει το σχεδιασμό των μονολιθικών πυρήνων ομαδοποιώντας συστατικά που υλοποιούν παρόμοιες λειτουργίες σε επίπεδα Κάθε επίπεδο επικοινωνεί μόνον με τα γειτονικά του (επάνω και κάτω) Οι απαιτήσεις των διεργασιών διαπερνούν αρκετά επίπεδα πριν ολοκληρωθούν Η ρυθμοαπόδοση (throughput) μπορεί να είναι μικρότερη από τα ΛΣ με τους μονολιθικούς πυρήνες Απαιτούνται επιπλέον μέθοδοι για τη μεταβίβαση και τον έλεγχο των δεδομένων 6

Πολλαπλά Επίπεδα 7

3. Αρχιτεκτονική μικροπυρήνα Ένας μονολιθικός πυρήνας Περιλαμβάνει: δρομολόγηση, σύστημα αρχείων, δικτύωση, οδηγούς συσκευής, διαχείριση μνήμης κ.α. Υλοποιείται ως μια μοναδική διεργασία και όλα τα στοιχεία διαμοιράζονται τον ίδιο χώρο διευθύνσεων. Η αρχιτεκτονική μικροπυρήνα αναθέτει λίγες λειτουργίες στον πυρήνα και τις υπόλοιπες τις αναθέτει σε εξυπηρετητές που εκτελούνται σε κατάσταση χρήστη. Η διεργασία του χρήστη (client process) στέλνει την απαίτηση στη διεργασία εξυπηρετητή (server process) η οποία επιτελεί τη διεργασία και επιστρέφει την απάντηση. Ο μικροπυρήνας διαχειρίζεται την επικοινωνία μεταξύ clients και servers. 8

Λογισμικό και μικροπυρήνας Το σχήμα της τοποθέτησης λογισμικού πάνω από τον πυρήνα ώστε να χειρίζεται τη επικοινωνία μεταξύ πελάτη και εξυπηρετητή δεν είναι απόλυτα ρεαλιστικό Κάποιες λειτουργίες του χρήστη είναι δύσκολο, ακόμη και ακατόρθωτο να πραγματοποιηθούν από το χώρο προγραμμάτων του χρήστη Τρόποι επίλυσης: Οι κρίσιμες διεργασίες του εξυπηρετητή τρέχουν σε κατάσταση πυρήνα με πλήρη πρόσβαση στο υλικό αλλά να συνεχίσουν να επικοινωνούν με τις άλλες διεργασίες Ένας στοιχειώδης μηχανισμός προστίθεται στον πυρήνα αλλά η πολιτική αποφάσεων να παραμείνει στους εξυπηρετητές 9

Αρχιτεκτονική μικροπυρήνα 10

Πλεονεκτήματα αρχιτεκτονικής μικροπυρήνα Επεκτασιμότητα Επιτρέπει την προσθήκη/αφαίρεση υπηρεσιών και χαρακτηριστικών Μεταφερσιμότητα Οι αλλαγές που απαιτούνται για τη μεταφορά του συστήματος σε νέοι επεξεργαστή γίνονται στον μικροπυρήνα και όχι στις άλλες υπηρεσίες Αντικειμενοστραφές σχεδιασμός Τα συστατικά του ΛΣ είναι αντικείμενα με σαφώς καθορισμένες διεπαφές που μπορούν να διασυνδεθούν Αξιοπιστία Αρθρωτός (modular) σχεδιασμός Λόγω του μικρού μεγέθους, ο μικροπυρήνας μπορεί να ελεγχθεί με ακρίβεια 11

4. Νήματα - Πολυνημάτωση (multithreading) Ένα νήμα (thread) είναι μια απλή εκτέλεσης εντολών στον επεξεργαστή του συστήματος Κάθε εφαρμογή διαθέτει ένα ή περισσότερα νήματα Ένας επεξεργαστής μπορεί να διαχειριστεί ένα νήμα κάθε στιγμή, αλλά με καταμερισμό χρόνου παρέχεται η αίσθηση της ταυτόχρονης εκτέλεσης των νημάτων Νήμα: μια μονάδα εργασίας που διεκπεραιώνεται και μπορεί να διακόπτεται. Περιλαμβάνει: το μετρητή προγράμματος το δείκτη στοίβας τη δική της περιοχή δεδομένων 12

Νήματα Ένα νήμα εκτελείται σειριακά και είναι διακοπτόμενο, ώστε ο επεξεργαστής να μπορεί να επιστρέφει σε άλλο νήμα Ένα πρόγραμμα μπορεί να περιέχει αρκετά στοιχεία που διαμοιράζονται δεδομένα και μπορούν να εκτελούνται συγχρόνως. Π.χ. ένας Web browser μπορεί να περιέχει διαφορετικά συστατικά για την ανάγνωση ιστοσελίδων σε μορφή HTML την ανάκτηση των συστατικών τους (εικόνες, video κλπ) και την εμφάνιση των σελίδων στο παράθυρο του browser Αυτά τα συστατικά του προγράμματος που εκτελούνται ανεξάρτητα αλλά υλοποιούνται ως λειτουργίες σε μια κοινή περιοχή μνήμης ονομάζονται νήματα (threads) 13

Νήματα και Διεργασίες Διεργασία: μια συλλογή νημάτων μαζί με συσχετιζόμενους πόρους του συστήματος Η διάσπαση μιας εφαρμογής σε πολλά νήματα έχει ως αποτέλεσμα το χρονισμό των γεγονότων της εφαρμογής Τα νήματα προσφέρουν έναν εναλλακτικό τρόπο λειτουργίας σε σχέση με το μοντέλο της διεργασίας Υπάρχει δυσκολία και πολυπλοκότητα όταν χρησιμοποιείται το μοντέλο διεργασίας, που επιπλέον δεν είναι αρκετά αποτελεσματικό Η πολυνημάτωση (multi-threading) είναι χρήσιμη σε εφαρμογές που εκτελούν πολλές ανεξάρτητες μεταξύ τους εργασίες που δεν χρειάζεται να είναι σε σειρά, π.χ. ένας web server 14

Απλές και πολυνηματικές διεργασίες Διεργασίες Είναι οντότητες που δεσμεύουν οποιονδήποτε πόρο τις αφορά όπως τον χώρο διευθύνσεων, τα δεδομένα, τον κώδικα και τα αρχεία Έχουν μεγάλο κόστος σε σχέση με τη δημιουργία, τον τερματισμό και την εναλλαγή πλαισίου Νήματα Διαμοιράζονται τον χώρο διευθύνσεων, τα δεδομένα, τον κώδικα και τα αρχεία εφόσον ανήκουν στην ίδια διεργασία Έχουν μικρό κόστος σε σχέση με τη δημιουργία, τον τερματισμό και την εναλλαγή πλαισίου 15

Μοντέλα νημάτων Process A Process B User Level Thread Thread Kernel Thread 16

Νήματα χρήστη και πυρήνα Νήματα χρήστη Η διαχείριση των νημάτων γίνεται από τη βιβλιοθήκη των νημάτων χρήστη Παραδείγματα POSIX Pthreads Win32 threads Solaris threads Ο πυρήνας δεν ενδιαφέρεται για το πλήθος των νημάτων χρήστη. Νήματα πυρήνα Υποστηρίζονται από τον πυρήνα Παραδείγματα Linux Windows XP/2000 Solaris lightweight processes 17

Νήματα χρήστη και πυρήνα: σύγκριση Νήματα πυρήνα: Είναι γνωστά στο ΛΣ Η εναλλαγή μεταξύ νημάτων πυρήνα στην ίδια διεργασία δεν είναι δαπανηρή Οι τιμές των καταχωρητών, του PC, και των stack pointers μεταβάλλονται Οι πληροφορίες που αφορούν τη διαχείριση μνήμης δεν αλλάζουν Ο πυρήνας χρησιμοποιεί αλγορίθμους δρομολόγησης διεργασιών για τη διαχείριση των νημάτων Νήματα χρήστη: Το ΛΣ δεν γνωρίζει για τα νήματα χρήστη, είναι ενημερωμένο μόνο για τη διεργασία όπου περιέχονται Το ΛΣ δρομολογεί τις διεργασίες και όχι τα νήματα Ο προγραμματιστής χρησιμοποιεί τη βιβλιοθήκη νημάτων για να τα διαχειριστεί (δημιουργία, διαγραφή, συγχρονισμός και δρομολόγηση) 18

Παραδείγματα νημάτων Posix Pthreads: Πρότυπο IEEE Έχουν καθορισμένη διεπαφή Η υλοποίησή τους εξαρτάται από όσους τα αναπτύσσουν Είναι πιο συνηθισμένα σε συστήματα UNIX (και Windows) Java threads: Υποστηρίζονται από την JVM Η υλοποίηση εξαρτάται από όσους τα αναπτύσσουν 19

Hyper-threading H Intel υλοποιεί την τεχνολογία hyper-threading που μοιάζει με την πολυνημάτωση, υλοποιείται σε συστήματα με έναν πυρήνα και τα κάνει να εμφανίζονται σαν να διαθέτουν πολλαπλούς επεξεργαστές Εκείνο το οποίο επιτυγχάνεται είναι η αύξηση του ρυθμού με τον οποίο το σύστημα μπορεί να εναλλάσσεται μεταξύ πολλών νημάτων. Έτσι ενισχύεται ο πολυδιεργασιακός χαρακτήρας των προσωπικών υπολογιστών 20

Πλεονεκτήματα νημάτων Η δημιουργία μιας νέας διεργασίας μπορεί να είναι περισσότερο δαπανηρή Απαιτεί χρόνο: χρειάζεται κλήση στον πυρήνα του ΛΣ Μπορεί να προκαλέσει επαναδρομολόγηση οπότε θα προκύψει εναλλαγή πλαισίου με αντικατάσταση ολόκληρης της διεργασίας Η επικοινωνία και ο συγχρονισμός κοστίζουν διότι απαιτείται κλήση στον πυρήνα Τα νήματα μπορούν να δημιουργηθούν χωρίς να αντικατασταθεί ολόκληρη η διεργασία Το περισσότερο έργο για τη δημιουργία του νήματος γίνεται στο χώρο διευθύνσεων του χρήστη παρά στον πυρήνα του ΛΣ Τα νήματα συγχρονίζονται με την παρακολούθηση μιας μεταβλητής, σε αντίθεση με τις διεργασίες που απαιτούν κλήση πυρήνα 21

5. Συστήματα πολυπεξεργασίας Πολυεπεξεργασία (multiprocessing) είναι η χρήση πολλαπλών ταυτόχρονων διεργασιών σε ένα σύστημα Τα συστήματα πολυεπεξεργασίας διακρίνονται σε: Συμπαγώς συνδεδεμένα συστήματα περιέχουν πολλαπλές CPUs που συνδέονται σε επίπεδο διαύλου. Έχουν πρόσβαση σε μια κεντρική διαμοιραζόμενη μνήμη ή μπορούν να συμμετέχουν σε μια ιεραρχία μνήμης διαθέτοντας και τοπική και διαμοιραζόμενη μνήμη Χαλαρά συνδεδεμένα συστήματα κάθε επεξεργαστής έχει τη δική του τοπική μνήμη. Οι επεξεργαστές επικοινωνούν μεταξύ τους μέσω γραμμών επικοινωνίας όπως δίαυλοι υψηλής ταχύτητας (gigabit Ethernet) ή τηλεφωνικές γραμμές 22

Παραδείγματα Σύστημα πολυεπεξεργασίας με κοινό δίαυλο Hypercube Grid 23

6. Παράλληλα συστήματα Είναι συστήματα πολυεπεξεργασίας (multiprocessor systems) με περισσότερους από έναν επεξεργαστή που επικοινωνούν μεταξύ τους Ο όρος των παράλληλων συστημάτων καλύπτει μια πληθώρα αρχιτεκτονικών που περιλαμβάνουν: Συμμετρική πολυεπεξεργασία (SMP) Συστοιχίες συστημάτων SMP Μαζικά παράλληλα συστήματα (MPP) Κριτήριο διάκρισης: Είδος διασύνδεσης των επεξεργαστών Είδος διασύνδεσης μεταξύ επεξεργαστών και μνημών 24

Πλεονεκτήματα παράλληλων συστημάτων Υψηλές επιδόσεις Οικονομία Αυξημένη αξιοπιστία Διαθεσιμότητα Επεκτασιμότητα Κλιμάκωση 25

Συμμετρική πολυεπεξεργασία (SMP) Συνηθισμένη προσέγγιση για τη δημιουργία ενός παράλληλου συστήματος Δύο ή περισσότεροι επεξεργαστές εργάζονται μαζί στην ίδια μητρική Συντονίζονται και διαμοιράζονται πληροφορίες διαμέσου του διαύλου συστήματος Ρυθμίζουν μεταξύ τους το υπολογιστικό φορτίο Κάθε επεξεργαστής τρέχει ένα πανομοιότυπο αντίγραφο του ΛΣ Πολλές διεργασίες μπορούν να εκτελούνται ταυτόχρονα χωρίς να υπάρχει χειροτέρευση της απόδοσης Τα περισσότερα σύγχρονα ΛΣ υποστηρίζουν την SMP Οι βασικοί περιορισμοί των SMP σχετίζονται με το λογισμικό και την υποστήριξη εκ μέρους του ΛΣ 26

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

Ασύμμετρη πολυεπεξεργασία Κάθε επεξεργαστής ανατίθεται σε μια ορισμένη διεργασία ενώ ο πρωτεύων επεξεργαστής δρομολογεί και αναθέτει τις διεργασίες στους άλλους (slave) επεξεργαστές Είναι πιο συνηθισμένη σε πολύ μεγάλα συστήματα 28

7. Συστήματα πραγματικού χρόνου Συχνά χρησιμοποιούνται ως μια συσκευή ελέγχου σε μια συγκεκριμένη εφαρμογή όπως ο έλεγχος επιστημονικών πειραμάτων, ο έλεγχος βιομηχανικών συστημάτων, σε συστήματα επεξεργασίας εικόνας ιατρικών εφαρμογών κλπ. Διαθέτουν καλά σχεδιασμένους περιορισμούς χρόνου. Hard real-time system Χαρακτηρίζονται από την περιορισμένη χρήση δευτερεύουσας μνήμης και τα δεδομένα αποθηκεύονται σε μνήμες βραχείας διάρκειας ή σε ROM Soft real-time system Περιορισμένη χρησιμότητα σε βιομηχανικό έλεγχο και σε ρομποτική Χρήσιμα σε εφαρμογές (multimedia, virtual reality) που απαιτούν εξειδικευμένα χαρακτηριστικά ΛΣ 29

8. Κατανεμημένα συστήματα Κατανέμουν τη διαδικασία υπολογισμών σε πολλούς φυσικούς επεξεργαστές υπολογιστές Μια συλλογή από οντότητες (Η/Υ), που η κάθε μια έχει τη δική της κύρια, δευτερεύουσα μνήμη και άλλα στοιχεία Ι/Ο Παρέχουν την ψευδαίσθηση ενός μοναδικού χώρου για την κύρια μνήμη Τα κατανεμημένα συστήματα αποκρύπτουν: τον τρόπο πρόσβασης σε έναν πόρο το χώρο όπου βρίσκεται κάποιος πόρος τη διαμοίραση πόρων από πολλούς χρήστες που ανταγωνίζονται για τη χρήση τους τη μετακίνηση ενός πόρου σε άλλο μέρος ενώ είναι σε χρήση τις διαφορές στην αναπαράσταση δεδομένων 30

Πλεονεκτήματα Χαρακτηριστικά των ΚΣ Διαμοίραση πόρων Αύξηση της ταχύτητας υπολογισμού Αξιοπιστία Δυνατότητες επικοινωνίας Μειονεκτήματα Ασφάλεια και προστασία 31