Hvad er adressebindende?

Computer fladskærm og tastatur - set fra siden

Adressebinding allokerer computerhukommelse til software.

Billedkredit: Ryan McVay/Photodisc/Getty Images

Computerhukommelse bruger både logiske adresser og fysiske adresser. Adressebinding tildeler en fysisk hukommelsesplacering til en logisk pointer ved at knytte en fysisk adresse til en logisk adresse, som også er kendt som en virtuel adresse. Adressebinding er en del af computerhukommelsesstyring, og den udføres af operativsystemet på vegne af de applikationer, der har brug for adgang til hukommelse.

Hukommelseshåndtering

Adressebinding relaterer sig til, hvordan koden for et program er gemt i hukommelsen. Programmer er skrevet i menneskelæselig tekst, efter en række regler opstillet af de strukturelle krav fra programmeringssproget og bruge nøgleord, der tolkes til handlinger af computerens centralbehandling Enhed. Det tidspunkt, hvor den eksekverbare version af et program oprettes, dikterer, hvornår adressebinding finder sted. Nogle programsprog, såsom "C" og COBOL, skal kompileres, mens andre, hovedsagelig scripts, kører fra den originale programtekst i stedet for en maskinkodekompileret binær version.

Dagens video

Kompileringstid

Den første type adressebinding er kompileringstidsadressebinding. Dette tildeler en plads i hukommelsen til maskinkoden på en computer, når programmet kompileres til en eksekverbar binær fil. Adressebindingen tildeler en logisk adresse til startpunktet for segmentet i hukommelsen, hvor objektkoden er gemt. Hukommelsestildelingen er langsigtet og kan kun ændres ved at genkompilere programmet.

Indlæsningstid

Hvis hukommelsesallokering er udpeget på det tidspunkt, hvor programmet er allokeret, så kan intet program nogensinde overføre fra en computer til en anden i dens kompilerede tilstand. Dette skyldes, at den eksekverbare kode vil indeholde hukommelsestildelinger, som muligvis allerede er i brug af andre programmer på den nye computer. I dette tilfælde er programmets logiske adresser ikke bundet til fysiske adresser, før programmet startes og indlæses i hukommelsen.

Udførelsestid

Eksekveringstidsadressebinding gælder normalt kun for variabler i programmer og er den mest almindelige form for binding for scripts, som ikke bliver kompileret. I dette scenarie anmoder programmet om hukommelsesplads til en variabel i et program, første gang den variabel stødes på under behandlingen af ​​instruktioner i scriptet. Hukommelsen vil allokere plads til den variabel, indtil programsekvensen slutter, eller medmindre en specifik instruktion i scriptet frigiver hukommelsesadressen bundet til en variabel.