Τι είναι και πώς λειτουργεί το buffering

Buffering! Αυτή η τεχνική επιτρέπει την αποθήκευση προσωρινά των δεδομένων σε ένα τμήμα της μνήμης (που ονομάζεται buffer), έτσι ώστε να επιταχυνθεί η εκτέλεση κάποιων εργασιών του υπολογιστή.

Στον τομέα της πληροφορικής με τον όρο buffer ή data buffer αναφερόμαστε στην περιοχή της υποστήριξης της μνήμης που χρησιμοποιείται για να κρατήσει προσωρινά δεδομένα που μεταφέρονται μεταξύ ενός “agent” (είτε είναι hardware ή software) και του άλλου υπολογιστή.  Το buffer μπαίνει στο παιχνίδι σε περίπτωση που δύο στοιχεία hardware λειτουργούν σε διαφορετικές ταχύτητες (ο επεξεργαστής και οποιοδήποτε περιφερειακό, για παράδειγμα)  ή όταν δύο λογισμικά με διαφορετικές προτεραιότητες (μία διεργασία του λειτουργικού συστήματος και μία διεργασία ενός προγράμματος «δευτερεύων», για παράδειγμα) πρέπει να επικοινωνήσουν το ένα με το άλλο. Σε περιπτώσεις όπως αυτές, το  buffering  (δηλαδή  η ενέργεια της φόρτωσης δεδομένων στην εσωτερική μνήμη) επιτρέπει τη μείωση του χρόνου της εκτέλεσης της ενέργειας και να αποφευχθεί η απώλεια πολύτιμου χρόνου. Ακριβώς για το λόγο αυτό, συνήθως το buffer φιλοξενείται από τη μνήμη RAM, που εγκειάται γρήγορους χρόνους απόκρισης και ταχύτερη πρόσβαση από εκείνες ενός μαγνητικού σκληρού δίσκου.  Για να αποφευχθεί το “over-rev” το buffering  διαχειρίζεται από αλγορίθμους FIFO (“first in, first out”) που επιτρέπουν να λαμβάνουν διαφορετικά χρονοδιαγράμματα  στιγμής της γραφής και της ανάγνωσης των δεδομένων στη μνήμη.

memory

Buffer hardware και buffer software

Το buffer μπορεί να εφαρμοστεί και να διαχειρίζεται τόσο το hardware (παρέχοντας, εντός του μέσου αποθήκευσης, αφιερωμένα κυκλώματα για να φιλοξενήσουν τα δεδομένα buffering) και το software (το πρόγραμμα να αναγνωρίσει το τμήμα της προσωρινής μνήμης (buffer) και να διαχειρίζεται τη ροή εισόδου και εξόδου των δεδομένων). Παρά το γεγονός ότι στα σύγχρονα συστήματα ηλεκτρονικών υπολογιστών  μπορείτε να επιλέξετε και τις δύο επιλογές, η διαχείριση software είναι μακράν αυτή που χρησιμοποιείται περισσότερο. Εκτός του ότι παρέχει μια ευκολότερη εκτέλεση και διαχείριση, στην πραγματικότητα, παρέχει καλύτερη απόδοση από μια εκτέλεση hardware του buffer.

Εφαρμογές

Η προσωρινή μνήμη (buffer) μπορεί να εφαρμοστεί σε πολλές διαφορετικές λειτουργίες.

Πρώτα απ ‘όλα, αυτή χρησιμοποιείται στην επικοινωνία μεταξύ των εξαρτημάτων του υπολογιστή που λειτουργούν σε διαφορετικές ταχύτητες (απλά σκεφτείτε, για παράδειγμα, η ταχύτητα επεξεργασίας του επεξεργαστή και την ταχύτητα της απόκτησης των πληροφοριών από ένα πληκτρολόγιο ή ένα scanner). Το buffering στην πραγματικότητα, εμποδίζει την ύπαρξη νεκρού χρόνου κατά την εκτέλεση των εντολών και των διεργασιών από τον επεξεργαστή λόγω της βραδύτητας κάποιας συσκευή εισόδου και εξόδου. Η εκτύπωση οποιουδήποτε εγγράφου ή την εγγραφή ενός CD είναι χαρακτηριστικά παραδείγματα της λειτουργίας του buffer. Ο επεξεργαστής επεξεργάζεται τα δεδομένα που θα εκτυπωθούν (ή για αντιγραφή) και τα στοιβάζει στο buffering της μνήμης, επιτρέποντάς τους να συνεχίσουν να εργάζονται σε μια άλλη εργασία, χωρίς να χρειάζεται να ανησυχείτε για τους χρόνους εκκίνησης και τη λειτουργία του εκτυπωτή ή συσκευή εγγραφής. Οι περιφερειακές συσκευές, στην πραγματικότητα, θα αντλούν τα δεδομένα απευθείας από την εσωτερική μνήμη, χωρίς να χρειάζεται να απασχολούν περαιτέρω τον επεξεργαστή.

loading

Στο networking,  ωστόσο, το buffering αντισταθμίζει τον τυπικό χρόνο αναμονής του δικτύου. Στην περίπτωση που δύο κόμβοι του δικτύου πρέπει να ανταλλάξουν ένα μεγάλο αριθμό δεδομένων ενδέχεται να χρειαστεί να κάνουν χρήση του buffer, αυτό επιτρέπει να «συγκρατήσουν» τα δεδομένα, όταν το κανάλι επικοινωνίας δεν είναι ελεύθερο και διαθέσιμο να θέσει σε επικοινωνία τις δύο συσκευές. Αυτό είναι πρωτίστης σημασίας για τους κόμβους του δικτύου: στην περίπτωση στην οποία τα δεδομένα για τη διαχείριση και την αποστολή υπερβαίνουν τη χωρητικότητα του δικτύου ο κόμβος θα έχει πρόσβαση στην προσωρινή μνήμη, που θα χρησιμοποιήσει για να τα διαθέσει βάζοντας τα στην ουρά μόλις το προεπιλεγμένο κανάλι επικοινωνίας θα είναι ελεύθερο. Στην περίπτωση streaming, multimedia δεδομένων, το buffering εκτελεί διαφορετικά καθήκοντα: η web εφαρμογή (όπως ένας client για την αναπαραγωγή ταινιών) θα φορτώσει κάποια δεδομένα πριν αρχίσει η αναπαραγωγή. Με αυτόν τον τρόπο, ακόμα και αν η ροή των δεδομένων διακοπεί για ένα κλάσμα του δευτερολέπτου, η προβολή της ταινίας θα συνεχίσει κανονικά χωρίς κανένα πρόβλημα.

Σχετικά με Φώτης Φωτιάδης

Γράφω μόνο και μόνο γιατί ο Θοδωρής έχει φαγωθεί. Λοιπόν είμαι ο Φώτης και σε ενημερώνω πως αν αγόρασες iPhone/iPad με 64+/- δόσεις έκανες μακακία. Επίσης το ίδιο έκανες αν μεταξύ Wordpress και Joomla επέλεξες το δεύτερο. Επίσης μου τη σπάει το Android.
Δημοσιεύθηκε στην T-Edit και χαρακτηρίσθηκε . Αποθηκεύστε τον μόνιμο σύνδεσμο.

Αφήστε μια απάντηση