Συνιστάται, 2024

Επιλογή Συντάκτη

Διαφορά μεταξύ διακοπής και τηλεπαραλαβής στο λειτουργικό σύστημα

Έχουμε συνδέσει πολλές εξωτερικές συσκευές στην CPU όπως ένα ποντίκι, πληκτρολόγιο, σαρωτή, εκτυπωτή κλπ. Αυτές οι συσκευές χρειάζονται επίσης προσοχή της CPU. Ας υποθέσουμε ότι μια CPU είναι απασχολημένη στην εμφάνιση ενός PDF και κάνετε κλικ στο εικονίδιο του Media Player στην επιφάνεια εργασίας. Αν και η CPU δεν έχει ιδέα όταν θα συμβεί ένα τέτοιο συμβάν, αλλά πρέπει να ανταποκριθεί σε τέτοιες εισροές από τις συσκευές εισόδου / εξόδου. Η διακοπή και η αναζήτηση είναι οι δύο τρόποι χειρισμού των συμβάντων που παράγονται από τις συσκευές που μπορούν να συμβούν οποιαδήποτε στιγμή ενώ η CPU είναι απασχολημένη στην εκτέλεση μιας άλλης διαδικασίας.

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

Συγκριτικό διάγραμμα

Βάση σύγκρισηςΔιακοπήΣφυγμομέτρηση
ΒασικόςΗ συσκευή ειδοποιεί τον επεξεργαστή ότι χρειάζεται προσοχή της CPU.Η CPU ελέγχει συνεχώς την κατάσταση της συσκευής εάν χρειάζεται προσοχή της CPU.
ΜηχανισμόςΜια διακοπή είναι ένας μηχανισμός υλικού.Η ψηφοφορία είναι πρωτόκολλο.
ΣυντήρησηΟ χειριστής διακοπής εξυπηρετεί τη συσκευή.Η CPU εξυπηρετεί τη συσκευή.
ΕνδειξηΗ γραμμή διακοπής-υποβολής υποδεικνύει ότι η συσκευή χρειάζεται συντήρηση.Το έτοιμο κομμάτι δείχνει τη συντήρηση των συσκευών.
ΕΠΕΞΕΡΓΑΣΤΗΣΗ CPU διαταράσσεται μόνο όταν μια συσκευή χρειάζεται συντήρηση, πράγμα που εξοικονομεί κύκλους CPU.Η CPU πρέπει να περιμένει και να ελέγξει αν μια συσκευή χρειάζεται συντήρηση που αποβάλλει πολλούς κύκλους CPU.
ΠεριστατικόΜια διακοπή μπορεί να συμβεί ανά πάσα στιγμή.Η CPU διερευνά τις συσκευές σε τακτά χρονικά διαστήματα.
ΑποδοτικότηταΗ διακοπή γίνεται αναποτελεσματική όταν οι συσκευές εξακολουθούν να διακόπτουν επανειλημμένα την CPU.
Η ερώτηση γίνεται αναποτελεσματική όταν η CPU σπάνια βρίσκει μια συσκευή έτοιμη για σέρβις.
ΠαράδειγμαΑφήστε το κουδούνι να ανοίξει την πόρτα για να ελέγξει ποιος έχει έρθει.Συνεχώς συνεχίζετε να ανοίγετε την πόρτα για να ελέγξετε αν έχει έρθει κάποιος.

Ορισμός διακοπής

Μια διακοπή είναι ένας μηχανισμός υλικού που επιτρέπει στην CPU να ανιχνεύσει ότι μια συσκευή χρειάζεται την προσοχή της. Η CPU έχει μια γραμμή αίτησης διακοπής καλωδίου που ελέγχεται από την CPU μετά την εκτέλεση κάθε εντολής. Όταν η CPU ανιχνεύσει ένα σήμα διακοπής στη γραμμή διακοπής-αιτήματος, η CPU σταματά την τρέχουσα εργασία εκτέλεσης και ανταποκρίνεται στην αποστολή διακοπής από τη συσκευή εισόδου / εξόδου διαβιβάζοντας τον έλεγχο στον διαχειριστή διακοπής . Ο διαχειριστής διακοπής επιλύει τη διακοπή εξυπηρετώντας τη συσκευή.

Παρόλο που η CPU δεν γνωρίζει πότε θα υπάρξει διακοπή καθώς μπορεί να συμβεί ανά πάσα στιγμή, αλλά πρέπει να ανταποκρίνεται στη διακοπή όποτε συμβαίνει.

Όταν ο διαχειριστής διακοπής τερματίσει την εκτέλεση της διακοπής, τότε η CPU συνεχίζει την εκτέλεση της εργασίας που έχει σταματήσει για να ανταποκριθεί στη διακοπή. Το λογισμικό, το υλικό, ο χρήστης, κάποιο σφάλμα στο πρόγραμμα κ.λπ. μπορεί επίσης να προκαλέσει διακοπή. Η διακοπή του χειρισμού της φύσης της CPU οδηγεί σε πολλαπλές εργασίες, δηλαδή ο χρήστης μπορεί να εκτελεί ταυτόχρονα διάφορες εργασίες.

Εάν αποστέλλονται περισσότερες από μία διακοπές στη CPU, ο διαχειριστής διακοπής βοηθά στη διαχείριση των διακοπών που περιμένουν να υποστούν επεξεργασία. Καθώς ο διαχειριστής διακοπής ενεργοποιείται από τη λήψη μιας διακοπής, δίνει προτεραιότητα στις διακοπές που περιμένουν να υποβληθούν σε επεξεργασία από την CPU και τα οργανώνει σε μια ουρά για να εξυπηρετηθούν.

Ορισμός της δημοσκόπησης

Όπως έχουμε δει σε διακοπές, η είσοδος από τη συσκευή εισόδου / εξόδου μπορεί να φτάσει ανά πάσα στιγμή ζητώντας από την CPU να την επεξεργαστεί. Το polling είναι ένα πρωτόκολλο που ειδοποιεί τη CPU ότι μια συσκευή χρειάζεται την προσοχή της. Σε αντίθεση με τη διακοπή, όπου η συσκευή λέει στην CPU ότι χρειάζεται επεξεργαστική μονάδα CPU, η CPU συνεχίζει να ζητάει από τη συσκευή I / O αν χρειάζεται επεξεργαστική μονάδα CPU.

Η CPU ελέγχει συνεχώς κάθε συσκευή που είναι προσαρτημένη σε αυτήν για να εντοπίσει αν οποιαδήποτε συσκευή χρειάζεται CPU προσοχή. Κάθε συσκευή έχει ένα bit έτοιμο για εντολές, το οποίο υποδεικνύει την κατάσταση αυτής της συσκευής, δηλαδή αν έχει κάποια εντολή να εκτελεστεί από την CPU ή όχι. Εάν το bit εντολής έχει οριστεί 1, τότε έχει κάποια εντολή να εκτελεστεί αλλιώς αν το bit είναι 0, τότε δεν έχει εντολές. Η CPU έχει ένα κατειλημμένο bit που υποδεικνύει την κατάσταση της CPU είτε είναι απασχολημένη είτε όχι. Εάν το bit απασχολημένος έχει οριστεί 1, τότε είναι απασχολημένος στην εκτέλεση της εντολής κάποιας συσκευής, αλλιώς είναι 0 .

Αλγόριθμος για δημοσκόπηση

  • Όταν μια συσκευή έχει κάποια εντολή που πρέπει να εκτελεστεί από την CPU ελέγχει συνεχώς το απασχολημένο κομμάτι της CPU μέχρι να καταστεί σαφές (0).
  • Καθώς το απασχολημένο δυφίο γίνεται ξεκάθαρο, η συσκευή ρυθμίζει το bit εγγραφής στο μητρώο εντολών και γράφει ένα byte στο μητρώο δεδομένων.
  • Τώρα η συσκευή ορίζει (1) το κομμάτι έτοιμο για εντολές.
  • Όταν η CPU ελέγχει το bit που είναι έτοιμο για συσκευές και εντοπίσει (1), θέτει (1) το απασχολημένο bit του.
  • Στη συνέχεια, η CPU διαβάζει τον καταχωρητή εντολών της συσκευής και εκτελεί την εντολή της συσκευής.
  • Μετά την εκτέλεση της εντολής, η CPU σβήνει (0) το bit που είναι έτοιμο με εντολή, το bit σφάλματος της συσκευής για να υποδείξει την επιτυχή εκτέλεση της εντολής της συσκευής και επιπλέον καθαρίζει (0) το φορτωμένο bit της, επίσης για να υποδείξει ότι η CPU είναι ελεύθερη να εκτελέσει την εντολή κάποιας άλλης συσκευής.

Βασικές διαφορές μεταξύ διακοπής και τηλεπαραλαβής στο λειτουργικό σύστημα

  1. Κατά τη διακοπή, η συσκευή ειδοποιεί τη CPU ότι χρειάζεται εξυπηρέτηση, ενώ στην CPU ελέγχει επανειλημμένα κατά πόσον μια συσκευή χρειάζεται συντήρηση.
  2. Η διακοπή είναι ένας μηχανισμός υλικού , καθώς η CPU έχει μια γραμμή καλωδίου, διακοπής-αιτήματος που σηματοδοτεί ότι έχει υπάρξει διακοπή. Από τα άλλα χέρια, το Polling είναι ένα πρωτόκολλο που ελέγχει συνεχώς τα bits ελέγχου για να ειδοποιήσει αν μια συσκευή έχει κάτι να εκτελέσει.
  3. Ο διαχειριστής διακοπής χειρίζεται τις διακοπές που δημιουργούνται από τις συσκευές. Από τα άλλα χέρια, κατά τη δημοσκόπηση, η CPU παρέχει τη συσκευή όταν χρειάζεται.
  4. Οι διακοπές διακόπτονται από τη γραμμή διακοπής-αιτήματος . Ωστόσο, το κομμάτι έτοιμο για εντολή υποδεικνύει ότι η συσκευή χρειάζεται συντήρηση.
  5. Σε διακοπές, η CPU διαταράσσεται μόνο όταν οποιαδήποτε συσκευή τη διακόπτει. Από την άλλη πλευρά, κατά την ψηφοφορία, η CPU σπαταλάει πολλούς κύκλους CPU ελέγχοντας επανειλημμένα το κομμάτι έτοιμο για εντολές κάθε συσκευής.
  6. Μια διακοπή μπορεί να συμβεί σε οποιαδήποτε στιγμή του χρόνου, ενώ η CPU κρατάει τη συσκευή σε τακτά χρονικά διαστήματα .
  7. Η ψηφοφορία γίνεται αναποτελεσματική όταν η CPU συνεχίζει να κάνει ψηφοφορία στη συσκευή και σπάνια βρίσκει οποιαδήποτε συσκευή έτοιμη για συντήρηση. Από τα άλλα χέρια, οι διακοπές διακόπτονται όταν οι συσκευές εξακολουθούν να διακόπτουν επανειλημμένα την επεξεργασία της CPU.

Συμπέρασμα:

Η λειτουργία "Polling" και "Διακοπές" είναι αποδοτικά για την παρακολούθηση των συσκευών I / O. Αλλά μπορούν να γίνουν αναποτελεσματικά στην συγκεκριμένη κατάσταση όπως αναφέρθηκε παραπάνω.

Top