Interfață binară a aplicației

Interfața de aplicație binară (binară) ( în engleză  a pplication binary interface , ABI ) este un set de acorduri pentru accesul aplicațiilor la sistemul de operare și la alte servicii de nivel scăzut, concepute pentru portabilitatea codului executabil între mașini care au ABI -uri compatibile [ 1 ] . Spre deosebire de API , care reglementează compatibilitatea la nivelul codului sursă [2] , ABI poate fi gândit ca un set de reguli care permit linkerului să combine module componente compilate fără a recompila întregul cod, definind totuși o interfață binară [3] ] .

Interfața binară a aplicației reglează [2] [3] :

Interfața binară a aplicației descrie funcționalitatea oferită de nucleul sistemului de operare și arhitectura setului de instrucțiuni (fără comenzi privilegiate) [5] . Dacă interfața de programare a aplicațiilor diferitelor platforme este aceeași, codul pentru aceste platforme poate fi compilat fără modificări. Atâta timp cât atât API-ul, cât și ABI sunt aceleași pentru platforme diferite, binarele pot fi portate pe acele platforme fără modificări. Dacă API-urile sau ABI-urile platformelor diferă, codul trebuie schimbat și recompilat. API-ul nu oferă compatibilitate cu timpul de rulare - aceasta este sarcina interfeței binare.

Embedded Application Binary Interface ( eng.  embedded a pplication binary inerface , EABI ) este un set de convenții pentru utilizare în software încorporat care descrie [6] :

Dacă un fișier obiect a fost generat de un compilator care acceptă EABI , devine posibil ca acel fișier obiect să fie legat de orice linker care acceptă același EABI.

Principala diferență dintre EABI și ABI într-un sistem de operare cu scop general este că comenzile privilegiate sunt permise în codul aplicației, iar conectarea dinamică ( linking ) nu este necesară (și uneori complet interzisă) și, de asemenea, pentru a economisi memorie, un se utilizează organizarea compactă a stivei.

Note

  1. Enciclopedia Tehnologiei Informației. - Atlantic Publishers & Distributors (P) Limited, 2007. - P. 4. - ISBN 9788126907526 .
  2. 1 2 Ecker, Müller, Dömer, 2009 .
  3. 12 Vaduva , 2015 .
  4. Marinescu DC Cloud Computing: Teorie și practică. - Elsevier Science, 2013. - P. 134-135. — ISBN 9780124046412 .
  5. Marinescu, DC Cloud Computing: Theory and Practice. - Elsevier Science, 2013. - P. 134. - ISBN 9780124046412 .
  6. Walls, 2012 .

Literatură

Link -uri