Adressbindning allokerar datorminne till programvara.
Bildkredit: Ryan McVay/Photodisc/Getty Images
Datorminne använder både logiska adresser och fysiska adresser. Adressbindning tilldelar en fysisk minnesplats till en logisk pekare genom att associera en fysisk adress till en logisk adress, som också är känd som en virtuell adress. Adressbindning är en del av datorminneshantering och den utförs av operativsystemet på uppdrag av de applikationer som behöver tillgång till minne.
Minneshantering
Adressbindning relaterar till hur koden för ett program lagras i minnet. Program är skrivna i läsbar text, enligt en serie regler som ställs upp av de strukturella kraven för programmeringsspråket och använda nyckelord som tolkas till handlingar av datorns centrala bearbetning Enhet. Den punkt där den körbara versionen av ett program skapas bestämmer när adressbindning inträffar. Vissa programspråk, som "C" och COBOL måste kompileras, medan andra, främst skript, körs från den ursprungliga programtexten snarare än en maskinkodskompilerad binär version.
Dagens video
Sammanställningstid
Den första typen av adressbindning är kompileringstidsadressbindning. Detta tilldelar ett utrymme i minnet till maskinkoden för en dator när programmet kompileras till en körbar binär fil. Adressbindningen allokerar en logisk adress till startpunkten för segmentet i minnet där objektkoden är lagrad. Minnesallokeringen är långsiktig och kan endast ändras genom att kompilera om programmet.
Laddningstid
Om minnesallokering tilldelas vid den tidpunkt då programmet allokeras, kan inget program någonsin överföra från en dator till en annan i dess kompilerade tillstånd. Detta beror på att den körbara koden kommer att innehålla minnesallokeringar som kanske redan används av andra program på den nya datorn. I det här fallet är programmets logiska adresser inte bundna till fysiska adresser förrän programmet anropas och laddas in i minnet.
Utförandetid
Exekveringstidsadressbindning gäller vanligtvis bara för variabler i program och är den vanligaste formen av bindning för skript, som inte kompileras. I det här scenariot begär programmet minnesutrymme för en variabel i ett program första gången den variabeln påträffas under bearbetningen av instruktioner i skriptet. Minnet kommer att allokera utrymme till den variabeln tills programsekvensen slutar, eller om inte en specifik instruktion i skriptet släpper minnesadressen bunden till en variabel.