Υλικό υπολογιστών

Γνώση Υπολογιστών >> Υλικό υπολογιστών >  >> Επεξεργαστές (CPU)

Πώς χειρίζονται τα λειτουργικά συστήματα πολλαπλών πυρήνων CPU;

Τα λειτουργικά συστήματα χειρίζονται CPU πολλαπλών πυρήνων μέσω ενός συνδυασμού τεχνικών που αποσκοπούν στη μεγιστοποίηση του παραλληλισμού και της χρήσης των πόρων. Εδώ είναι μια κατανομή:

1. Πολλαπλασιασμός: Η θεμελιώδης προσέγγιση είναι multiprocessing , επιτρέποντας στο λειτουργικό σύστημα να εκτελεί πολλαπλές διαδικασίες ταυτόχρονα. Αυτό δεν είναι μόνο ένα θέμα πολλαπλών πυρήνων. Εφαρμόζεται επίσης σε συστήματα μονού πυρήνα που χρησιμοποιούν χρονική διακόσμηση. Ωστόσο, οι CPU πολλαπλών πυρήνων ενισχύουν δραματικά αυτήν την ικανότητα.

2. MultithReading: Μέσα σε κάθε διαδικασία, το λειτουργικό σύστημα υποστηρίζει multithreading , επιτρέποντας σε μια ενιαία διαδικασία να έχει πολλαπλά νήματα εκτέλεσης. Αυτό επιτρέπει τον λεπτότερο παραλληλισμό σε μια ενιαία εφαρμογή. Κάθε νήμα μπορεί ενδεχομένως να τρέξει σε διαφορετικό πυρήνα.

3. Προγραμματισμός: Ο προγραμματιστής του λειτουργικού συστήματος παίζει κρίσιμο ρόλο:

* Προγραμματισμός διαδικασιών: Ο προγραμματιστής αποφασίζει ποιες διαδικασίες λαμβάνουν χρόνο CPU και στον οποίο τρέχουν ο πυρήνας. Οι αλγόριθμοι όπως ο στρογγυλός-robin, ο προγραμματισμός που βασίζεται σε προτεραιότητα και άλλοι χρησιμοποιούνται, συχνά εξετάζοντας τη συγγένεια του πυρήνα (προτιμήσεις για μια διαδικασία που τρέχει σε έναν συγκεκριμένο πυρήνα για τη βελτιστοποίηση της προσωρινής μνήμης).

* Προγραμματισμός νημάτων: Παρόμοιοι αλγόριθμοι προγραμματισμού χρησιμοποιούνται για νήματα, συχνά στο πλαίσιο μιας διαδικασίας. Αυτό μπορεί να γίνει από τον πυρήνα του OS απευθείας ή μέσω ενός περιβάλλοντος χρόνου εκτέλεσης που παρέχεται από τη γλώσσα προγραμματισμού (π.χ. JVM της Java).

4. Υποστήριξη υλικού: Οι σύγχρονες CPU παρέχουν χαρακτηριστικά υλικού που διευκολύνουν σημαντικά το βάρος του λειτουργικού συστήματος:

* Συμμετρική πολυπροσυοροποίηση (SMP): Αυτή η αρχιτεκτονική επιτρέπει σε όλους τους πυρήνες να έχουν ίση πρόσβαση στη μνήμη του συστήματος και στα περιφερειακά. Το λειτουργικό σύστημα μπορεί εύκολα να διανείμει εργασίες μεταξύ των πυρήνων.

* Συνοτική προσωρινή μνήμη: Πολλοί πυρήνες έχουν τις δικές τους κρυφές μνήμες. Τα πρωτόκολλα συνοχής της προσωρινής μνήμης εξασφαλίζουν ότι η συνέπεια των δεδομένων διατηρείται σε όλες τις κρυφές μνήμες, εμποδίζοντας τις συγκρούσεις και τη διαφθορά των δεδομένων όταν έχουν πρόσβαση σε πολλαπλοί πυρήνες στα ίδια δεδομένα.

5. Επικοινωνία μεταξύ επεξεργασίας (IPC): Όταν οι πολλαπλές διαδικασίες ή τα νήματα πρέπει να συνεργαστούν, το λειτουργικό σύστημα παρέχει μηχανισμούς για IPC:

* Κοινή μνήμη: Οι διαδικασίες μπορούν να μοιραστούν ένα τμήμα μνήμης, επιτρέποντας την ταχεία ανταλλαγή δεδομένων. Το OS χειρίζεται τον συγχρονισμό για να αποτρέψει τις συνθήκες της φυλής.

* Μεταφορά μηνύματος: Οι διαδικασίες επικοινωνούν με την αποστολή και λήψη μηνυμάτων, συχνά μέσω ουρών ή σωλήνων που παρέχονται από το OS.

6. Παραλληλισμός εναντίον της συνάθροισης: Το λειτουργικό σύστημα διακρίνει τον παραλληλισμό (στην πραγματικότητα τρέχει πολλαπλές εργασίες ταυτόχρονα σε διαφορετικούς πυρήνες) και ταυτόχρονα (διαχείριση πολλαπλών εργασιών φαινομενικά ταυτόχρονα, ενδεχομένως εναλλαγή μεταξύ τους σε έναν μόνο πυρήνα). Οι CPU πολλαπλών πυρήνων επιτρέπουν τον πραγματικό παραλληλισμό, ενώ ακόμη και τα συστήματα ενός πυρήνα μπορούν να διαχειριστούν ταυτόχρονα.

Προκλήσεις στο σχεδιασμό πολλαπλών πυρήνων:

* Διαχείριση προσωρινής μνήμης: Η αποτελεσματική διαχείριση της συνοχής της προσωρινής μνήμης και η ελαχιστοποίηση των μνήμης κρυφής μνήμης είναι ζωτικής σημασίας για την απόδοση.

* συγχρονισμός: Η πρόληψη των συνθηκών της φυλής και των αδιεξόδου όταν οι πολλαπλοί πυρήνες έχουν πρόσβαση οι κοινόχρηστοι πόροι είναι ζωτικής σημασίας.

* Επιμελητικότητα: Το ίδιο το λειτουργικό σύστημα πρέπει να είναι κλιμακωτό για να χειριστεί μεγάλο αριθμό πυρήνων.

* Διαχείριση ενέργειας: Η διαχείριση της κατανάλωσης ενέργειας αποτελεσματικά σε πολλαπλούς πυρήνες είναι σημαντική, ειδικά σε κινητές συσκευές.

Συνοπτικά, τα λειτουργικά συστήματα αξιοποιούν την πολλαπλών επεξεργασίας, την πολυεπίπεδη, τους εξελιγμένους αλγόριθμους προγραμματισμού, την υποστήριξη υλικού όπως η συνοχή SMP και η προσωρινή μνήμη και οι μηχανισμοί IPC για την αποτελεσματική χρήση της ισχύος των CPU πολλαπλών πυρήνων. Η πολυπλοκότητα αυτού του έργου είναι σημαντική και εξακολουθεί να είναι ένας ενεργός τομέας έρευνας και ανάπτυξης, καθώς ο αριθμός των πυρήνων στις CPU εξακολουθεί να αυξάνεται.

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα