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

Γνώση Υπολογιστών >> Υλικό υπολογιστών >  >> Σταθμοί εργασίας

Πώς λειτουργούν οι διακοπές μέσα σε ένα λειτουργικό σύστημα για τη διαχείριση και την προτεραιότητα σε διάφορες διαδικασίες εργασιών;

Οι διακοπές είναι ζωτικής σημασίας για την ικανότητα του λειτουργικού συστήματος να διαχειρίζεται και να δίνει προτεραιότητα στις εργασίες και τις διαδικασίες. Επιτρέπουν στο λειτουργικό σύστημα να ανταποκρίνεται σε συμβάντα ασύγχρονα, εμποδίζοντας το να είναι δεμένο να περιμένει κάτι να συμβεί. Ακολουθεί μια ανάλυση της λειτουργίας τους:

1. Ενεργοποίηση μιας διακοπής:

Οι διακοπές ενεργοποιούνται από συμβάντα υλικού ή λογισμικού. Παραδείγματα περιλαμβάνουν:

* Διακοπή υλικού: Αυτά προκύπτουν από συσκευές όπως το πληκτρολόγιο (πληκτρολόγιο), το σκληρό δίσκο (έτοιμα δεδομένα), η κάρτα δικτύου (πακέτο που λαμβάνονται), το χρονοδιακόπτη (χρονοδιακόπτης) ή ακόμα και τα εσωτερικά σφάλματα CPU. Κάθε συσκευή διαθέτει μια μοναδική γραμμή αίτησης διακοπής (IRQ) που χρησιμοποιεί για να σηματοδοτήσει την CPU.

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

2. Διακοπή χειρισμού:

Όταν συμβαίνει μια διακοπή:

1. Σήμα διακοπής: Η CPU λαμβάνει το σήμα διακοπής.

2. Εξοικονόμηση περιβάλλοντος διακοπής: Η CPU σώζει αμέσως την τρέχουσα κατάσταση της διαδικασίας τρέχουσας (καταχωρητές, μετρητής προγράμματος κ.λπ.) στη στοίβα. Αυτό είναι κρίσιμο, ώστε η διαδικασία να συνεχιστεί αργότερα από ακριβώς όπου έπαψε. Αυτή η αποθηκευμένη κατάσταση ονομάζεται μερικές φορές το "πλαίσιο διακοπής".

3. Πίνακας διάνυσμα διακοπής: Η CPU συμβουλεύει έναν πίνακα διανυσμάτων διακοπής. Αυτός ο πίνακας χαρτογραφεί το IRQ (ή τον αριθμό διακοπής λογισμικού) κάθε διακόπτη (ή τον αριθμό διακοπής λογισμικού) στη διεύθυνση ενός συγκεκριμένου χειριστή διακοπής (ρουτίνα υπηρεσίας ISR - διακοπής) στη μνήμη.

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

5. Επαναφορά περιβάλλοντος διακοπής: Μόλις ολοκληρωθεί το ISR, η CPU αποκαθιστά το αποθηκευμένο πλαίσιο από τη στοίβα, επιστρέφοντας αποτελεσματικά τον έλεγχο στην προηγούμενη διαδικασία.

3. Διακοπή προτεραιότητα:

Το λειτουργικό σύστημα χρησιμοποιεί διάφορους μηχανισμούς για τη διαχείριση της προτεραιότητας διακοπής:

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

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

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

4. Σχέση με τις διαδικασίες και τη διαχείριση εργασιών:

Οι διακοπές είναι θεμελιώδεις για το multitasking. Επιτρέπουν στο λειτουργικό σύστημα να:

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

* Χειρισμός I/O: Οι διακοπές από τις συσκευές I/O επιτρέπουν στο λειτουργικό σύστημα να διαχειρίζεται τις ασύγχρονες λειτουργίες εισόδου/εξόδου χωρίς να εμποδίζει την CPU. Η διαδικασία που ζητά τη λειτουργία I/O μπορεί να συνεχίσει να λειτουργεί ενώ ο χειριστής διακοπής χειρίζεται τη μεταφορά δεδομένων στο παρασκήνιο.

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

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

Συνοπτικά, οι διακοπές είναι το υπόβαθρο των σύγχρονων λειτουργικών συστημάτων. Η ικανότητά τους να χειρίζονται αποτελεσματικά τα ασύγχρονα γεγονότα και με μια προσέγγιση προτεραιότητας είναι απαραίτητη για τη διαχείριση των διαδικασιών, τον χειρισμό I/O και τη διατήρηση της σταθερότητας και της ανταπόκρισης του συστήματος. Η έξυπνη χρήση του OS του χειρισμού, της ιεράρχησης και της προτεραιότητας του περιβάλλοντος του λειτουργικού συστήματος εξουσιοδοτεί την αποτελεσματική πολλαπλών εργασιών και τη συνολική λειτουργία του συστήματος του υπολογιστή.

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

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