Bytekod

Från Wikipedia
Hoppa till: navigering, sök

Bytekod är ett namn för en slags kompilerad programkod. Till skillnad från maskinkod, som är knuten till en specifik dator, sägs bytekod vara abstrakt eller virtuell eftersom den oftast är obunden till en maskinarkitektur.

Namnet kommer av att instruktionskoderna, inklusive eventuella parametrar, representerades av en eller flera bytes, i ett sammanhang där CPU-instruktioner typiskt använde (ett eller flera) hela 16 eller 32-bitars ord för samma sak. Parameterarna är registernummer, minnesadresser, eller andra konstanter.

Normalt tolkas och exekveras bytekod av en bytekodtolk (ibland kallad virtuell maskin eftersom tolken implementerar en tänkt maskin vars maskinkod är bytekoderna). Fördelen med en tolk i programvara är portabilitet: för att köra ett bytekodprogram på en ny maskin krävs endast en bytekodtolk på den maskinen, saknas denna kan den relativt enkelt skrivas. Bytekod kan även översättas (kompileras) till maskinkod för bättre prestanda.

Bland programspråk som kompileras till olika former av bytekod kan nämnas (kronologiskt):

Forth använder sig av liknande kodstrategier för att uppnå portabilitet.