Nykyään ABI:stä on tullut erittäin tärkeä aihe yhteiskunnassa. ABI:n vaikutukset ulottuvat henkilökohtaisesta ja emotionaalisesta poliittiseen ja taloudelliseen osa-alueeseen, koskettaen ihmisten elämän eri puolia. Teknologian ja viestinnän edistymisen myötä ABI on saavuttanut ennennäkemättömän merkityksen, ja se vaikuttaa tapaamme, jolla suhtaudumme, työskentelemme ja kehitymme yhteiskunnana. Tässä artikkelissa tutkimme ABI:n monia ulottuvuuksia ja sen vaikutusta elämäämme sekä sen mahdollisia tulevaisuuden vaikutuksia.
ABI, eli Application Binary Interface on alhaisen tason rajapinta käyttöjärjestelmän ja suoritettavan ohjelman välillä.[1]
ABI määrittelee tietokoneohjelman ja käyttöjärjestelmän, ohjelman ja kirjaston, kahden eri ohjelman tai ohjelman sisäisten osien välisiä toimintamalleja. Siihen kuuluvat kirjaston ja käyttöjärjestelmän aliohjelmien kutsukäytännöt, järjestelmäkutsut, se mitä aliohjelmia on saatavilla sekä ohjelma-, kirjasto- ja objektitiedostojen tiedostomuodot.
ABI:n tekniset yksityiskohdat peitetään ohjelmointirajapintojen alle helpottamaan ohjelmoijien työtä ja ohjelman toteuttamista eri järjestelmissä. Esimerkiksi kaikki Unixit toteuttavat saman ohjelmointirajapinnan (POSIX API), mutta eivät samaa binäärirajapintaa (ABI), joten ohjelmat on käännettävä erikseen joka alustalle ja suoritinarkkitehtuurille. Muun muassa Debian tukee kahta EABI (embedded application binary interface) muotoa ARM-suorittimille tavujärjestyksen mukaan: armel
(pieni-endiaaninen) ja armeb
(iso-endiaaninen).[2][3] ABI:n on määriteltävä myös poikkeuksien käsittely[4], tietorakenteiden tasaus (engl. align) ja muita seikkoja.[5]
ABI voi olla erilainen käytetyn suorittimen, käyttöjärjestelmän, kääntäjän tai kielen mukaan. Tyypillisesti kutsukäytännöt sovitaan käyttöjärjestelmän ja prosessorin mukaan, mutta eri käytäntöjä on ollut.[6][7][8]