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

* Γνώση Υπολογιστών >> Υλικό υπολογιστών >  >> BIOS

Τι είναι το MBX στο BIOS;

Σε πολύ υψηλό επίπεδο, οι υπολογιστές εκτελούν τρία εργασίες: είσοδο, επεξεργασία και έξοδο. Ενσωματωμένο στο υλικό κάθε υπολογιστή είναι ένα μικρό σύνολο οδηγιών που ονομάζεται Basic Input/Output System, ή BIOS. Το BIOS παρέχει λειτουργικότητα χαμηλού επιπέδου για έναν υπολογιστή να δέχεται είσοδο και να παρέχει έξοδο. Ένα πρόγραμμα, όπως ένας driver συσκευής, παρέχει το ενδιάμεσο βήμα επεξεργασίας για τη μετατροπή της εισόδου σε μορφή που θα κατανοηθεί από τη συσκευή προορισμού. Πολλά από αυτά τα προγράμματα συντονίζουν τις διαφορετικές εργασίες που εκτελούνται χρησιμοποιώντας ένα γραμματοκιβώτιο, ή MBX.

MBX Mailbox

Οι λειτουργίες εισόδου/εξόδου διαιρούνται συχνά σε νήματα (threads), ή εργασίες, που εκτελούνται ταυτόχρονα. Για παράδειγμα, η αναπαραγωγή ενός αρχείου ήχου μπορεί να έχει τρία νήματα για ανάγνωση, επεξεργασία και εγγραφή των δεδομένων ήχου. Τα ταυτόχρονα νήματα συχνά χρειάζονται να επικοινωνούν μεταξύ τους και μερικές φορές να μεταβιβάσουν δεδομένα από ένα νήμα στο επόμενο. Πέρα από την παροχή υπηρεσιών εισόδου/εξόδου, το BIOS παρέχει ένα MBX, ή γραμματοκιβώτιο, που μπορεί να χρησιμοποιηθεί από νήματα στην ίδια διαδικασία για να επικοινωνούν μεταξύ τους και να μεταβιβάσουν δεδομένα. Για παράδειγμα, ένα γονικό νήμα μπορεί να δημιουργήσει πολλά παιδιά, καθένα από τα οποία θα ενημερώσει μια σημαία στο MBX όταν ολοκληρωθεί η ανατεθειμένη του εργασία. Το γονικό νήμα θα παρακολουθεί το γραμματοκιβώτιο και θα πράξει είτε όταν όλες οι εργασίες ολοκληρωθούν είτε αν μια εργασία δεν έχει ολοκληρωθεί μέσα σε ένα συγκεκριμένο χρονικό διάστημα.

Bit Flags Γραμματοκιβωτίου

Τα bit flags γραμματοκιβωτίου χρησιμοποιούνται συχνά για να αναπαραστήσουν την κατάσταση πολλαπλών ταυτόχρονων εργασιών. Για παράδειγμα, μια εργασία που επεξεργάζεται δεδομένα ήχου δεν πρέπει να ενεργοποιηθεί εκτός αν υπάρχουν δεδομένα στο input buffer και ελεύθερος χώρος στο output buffer. Για να συντονιστούν αυτές οι δραστηριότητες, το MBX ορίζεται αρχικά σε τρία, ή 11 σε δυαδικό. Το input task χρησιμοποιεί το πρώτο bit για να υποδείξει πλήρες input buffer και το output task χρησιμοποιεί το δεύτερο bit για να υποδείξει κενό output buffer. Όταν το MBX είναι μηδέν, το νήμα επεξεργασίας ενεργοποιείται, επεξεργάζεται τα δεδομένα και επαναφέρει τα bits MBX.

Αντιγραφή Δεδομένων σε Γραμματοκιβώτιο

Τα ταυτόχρονα νήματα δεν περιορίζονται στην χρήση bit flags γραμματοκιβωτίου για να επικοινωνούν μεταξύ τους. Οποιαδήποτε δεδομένα μπορούν να τοποθετηθούν σε ένα γραμματοκιβώτιο, συμπεριλαμβανομένων raw δεδομένων, δεικτών σε μνήμη buffers που περιέχουν δεδομένα και ακόμα και εντολών. Όταν δεδομένα στέλνονται σε ένα γραμματοκιβώτιο, αντιγράφονται στο γραμματοκιβώτιο.

Τα γραμματοκιβώτια είναι μια από τις πολλές μεθόδους επικοινωνίας δεδομένων που μπορεί να χρησιμοποιηθούν για νήματα να επικοινωνούν κατά τη διάρκεια μιας λειτουργίας εισόδου/εξόδου συσκευής. Άλλες μέθοδοι περιλαμβάνουν data pipes (PIP), data streams (SIO) και data queues (QUE). Τα data pipes και τα data streams μοιάζουν με τα γραμματοκιβώτια επειδή τα δεδομένα αντιγράφονται και είναι απεριόριστα. Τα data queues παρέχουν μια μέθοδο επικοινωνίας χωρίς αντιγραφή χρησιμοποιώντας μια διπλά συνδεδεμένη λίστα που λειτουργεί ως ουρά First-In-First-Out.

Σχετικά άρθρα

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