Τι είναι το Address Binding;

Επίπεδη οθόνη υπολογιστή και πληκτρολόγιο - πλάγια όψη

Η σύνδεση διεύθυνσης εκχωρεί τη μνήμη του υπολογιστή στο λογισμικό.

Πίστωση εικόνας: Ryan McVay/Photodisc/Getty Images

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

Διαχείριση μνήμης

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

Το βίντεο της ημέρας

Χρόνος μεταγλώττισης

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

Χρόνος φόρτωσης

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

Χρόνος εκτέλεσης

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