
Applikasiya binar interfeysi (ing. application binary interface, ABI) — kompüter proqram təminatında iki binar proqram modulu arasındakı interfeys. Çox vaxt bu modullardan biri kitabxana və ya əməliyyat sistemi obyekti, digəri isə istifadəçi tərəfindən idarə olunan proqramdır.
ABI aşağı səviyyəli, aparatdan asılı format olan maşın kodunda məlumat strukturlarına və ya hesablama prosedurlarına necə daxil olunduğunu müəyyən edir. Bunun əksinə olaraq, tətbiq proqramlaşdırma interfeysi (API) bu girişi mənbə kodunda müəyyən edir. Bu, nisbətən yüksək səviyyəli, aparatdan müstəqil, çox vaxt formatdır. ABI-nin ümumi cəhəti məlumatların hesablama prosedurlarına giriş kimi təqdim edilməsini və ya çıxış kimi oxunmasını müəyyən edən . Buna misal olaraq göstərmək olar.
ABI-yə riayət etmək (rəsmi olaraq standartlaşdırıla və ya standartlaşdırılmaya bilər) adətən kompilyator, əməliyyat sistemi və ya kitabxana müəllifinin işidir. Bununla belə, tətbiqi proqramçı proqramlaşdırma dillərinin qarışığında proqram yazan zaman hətta eyni dildə yazılmış proqramı müxtəlif kompilyatorlarla tərtib edərkən birbaşa ABI ilə işləməli ola bilər.
ABI əsas aparat arxitekturası qədər vacibdir. Proqram bu ikisinin hər hansı məhdudiyyətini pozarsa, eyni dərəcədə uğursuz olacaq.
Təsviri
| ]ABI-nin əhatə etdiyi təfərrüatlara aşağıdakılar daxildir:
- Reyestr faylı strukturu, yığının təşkili, yaddaşa giriş növləri və s. kimi təfərrüatları olan prosessor təlimat dəsti
- Prosessorun birbaşa daxil ola biləcəyi əsas verilənlər tiplərinin ölçüləri, tərtibatları və
- Funksiyaların arqumentlərinin necə ötürüldüyünə və geri qaytarılan dəyərlərə nəzarət edən ; məsələn, aşağıdakılara nəzarət edir:
- İstər bütün parametrlərin yığına ötürülməsi, istərsə də bəzilərinin reyestrlərə ötürülməsi
- Hansı reyestrlərin hansı funksiya parametrləri üçün istifadə olunması
- Yığına ötürülən ilk funksiya parametrinin birinci və ya sonuncu itələnməsi
- Çağırışçının və ya çağırılananın funksiya çağırışından sonra yığının təmizlənməsinə cavabdeh olub-olmaması
- Tətbiq əməliyyat sisteminə sistem çağırışlarını necə etməli olduğu, həmçinin, əgər ABI sistem zəngləri prosedur çağırışlarını yox, birbaşa sistem çağırışlarını təyin edirsə, sistem çağırış nömrələri
- Tam əməliyyat sistemi ABI vəziyyətində, binar formatı, proqram kitabxanaları və s.
Tam ABI
| ]"" (iBCS) kimi tam ABI onu dəstəkləyən bir əməliyyat sistemindən olan proqrama lazımi paylaşılan kitabxanaların mövcud olması və oxşar ilkin şərtlərin yerinə yetirilməsi şərti ilə hər hansı digər belə sistemdə dəyişiklik etmədən işləməyə imkan verir.
ABI-lər həmçinin , yayılması və eyni platformada kompilyatorlar arasında çağırış konvensiyası kimi təfərrüatları standartlaşdıra bilər. Bu, platformalar arası uyğunluq tələb etmir.
Daxili ABI
| ]Daxili proqram binar interfeysi (EABI) ilə istifadə üçün , verilənlər növləri, reyestrdən istifadə, təşkili və quraşdırılmış proqram təminatının funksiya parametrlərinin ötürülməsi üçün standart konvensiyaları müəyyən edir.
EABI-lər quraşdırılmış sistemin məhdud resursları daxilində performansı optimallaşdırmaq üçün nəzərdə tutulmuşdur. Buna görə də EABI-lər mürəkkəb əməliyyat sistemlərində nüvə və istifadəçi kodu arasında edilən əksər abstraksiyaları buraxır. Məsələn, daha kiçik icra olunanlara və daha sürətli yüklənməyə imkan vermək üçün qaçınmaq olar, sabit reyestrdən istifadə daha yığcam yığınlara və kernel çağırışlarına imkan verir, proqramın imtiyazlı rejimdə işlədilməsi cihaz sürücüsünə zəng etmədən birbaşa giriş imkanı yaradır. EABI seçimi performansa təsir edə bilər.
Geniş istifadə olunan EABI-lərə "", "" EABI və "" EABI daxildir. C kitabxanası kimi xüsusi proqram təminatı tətbiqləri daha konkret ABI formalaşdırmaq üçün əlavə məhdudiyyətlər tətbiq edə bilər. Məsələn, ARM EABI-nin alt çoxluqları olan ARM üçün GNU OABI və EABI-dır.
Həmçinin bax
| ]İstinadlar
| ]- "Intel Binary Compatibility Standard (iBCS)". 27 may 2012 tarixində arxivləşdirilib. İstifadə tarixi: 12 dekabr 2023.
- "Itanium C++ ABI". 31 iyul 2023 tarixində arxivləşdirilib. İstifadə tarixi: 12 dekabr 2023. (compatible with multiple architectures)
- "Itanium C++ ABI: Exception Handling". 27 noyabr 2023 tarixində arxivləşdirilib. İstifadə tarixi: 12 dekabr 2023. (compatible with multiple architectures)
- EABI Summary // PowerPC Embedded Application Binary Interface: 32-Bit Implementation (PDF) (Version 1.0). Freescale Semiconductor, Inc. 1 oktyabr 1995. 28–30. 31 iyul 2023 tarixində arxivləşdirilib (PDF). İstifadə tarixi: 12 dekabr 2023.
- "Debian ARM accelerates via EABI port". Linuxdevices.com. 16 oktyabr 2016. 21 yanvar 2007 tarixində orijinalından arxivləşdirilib. İstifadə tarixi: 11 oktyabr 2007.
- Andrés Calderón and Nelson Castillo. "Why ARM's EABI matters". Linuxdevices.com. 14 mart 2007. 31 mart 2007 tarixində orijinalından arxivləşdirilib. İstifadə tarixi: 11 oktyabr 2007.
- "ABI for the Arm Architecture". Developer.arm.com. 4 fevral 2020 tarixində arxivləşdirilib. İstifadə tarixi: 4 fevral 2020.
- Eric Christopher. "mips eabi documentation". binutils@sources.redhat.com (Poçt siyahısı). 11 iyun 2003. 7 may 2020 tarixində arxivləşdirilib. İstifadə tarixi: 19 iyun 2020.
- "ArmEabiPort". Debian Wiki. 27 sentyabr 2013 tarixində arxivləşdirilib. İstifadə tarixi: 12 dekabr 2023.
Strictly speaking, both the old and new ARM ABIs are subsets of the ARM EABI specification, but in everyday usage the term "EABI" is used to mean the new one described here and "OABI" or "old-ABI" to mean the old one.
Xarici keçidlər
| ]- Policies/Binary Compatibility Issues With C++ – a compendium of development rules of thumb for not breaking binary compatibility between library releases
- OS X ABI Function Call Guide
- Debian ARM EABI port
- μClib: Motorola 8/16-bit embedded ABI
- AMD64 (x86-64) Application Binary Interface at the Wayback Machine (archived 2008-05-28)
- Application Binary Interface (ABI) for the ARM Architecture
- MIPS EABI documentation
- Sun Studio 10 Compilers and the AMD64 ABI at the Wayback Machine (archived 2015-01-14) – a summary and comparison of some popular ABIs
- M•CORE Applications Binary Interface Standards Manual for the Freescale M·CORE processors
wikipedia, oxu, kitab, kitabxana, axtar, tap, meqaleler, kitablar, oyrenmek, wiki, bilgi, tarix, tarixi, endir, indir, yukle, izlə, izle, mobil, telefon ucun, azeri, azəri, azerbaycanca, azərbaycanca, sayt, yüklə, pulsuz, pulsuz yüklə, haqqında, haqqinda, məlumat, melumat, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, şəkil, muisiqi, mahnı, kino, film, kitab, oyun, oyunlar, android, ios, apple, samsung, iphone, pc, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, web, computer, komputer
Vikipediya azad ensiklopediya Kerneldaxili ve kernelden istifadeci fezasina API ve ABI lerin yuksek seviyyeli muqayisesi Applikasiya binar interfeysi ing application binary interface ABI komputer proqram teminatinda iki binar proqram modulu arasindaki interfeys Cox vaxt bu modullardan biri kitabxana ve ya emeliyyat sistemi obyekti digeri ise istifadeci terefinden idare olunan proqramdir ABI asagi seviyyeli aparatdan asili format olan masin kodunda melumat strukturlarina ve ya hesablama prosedurlarina nece daxil olundugunu mueyyen edir Bunun eksine olaraq tetbiq proqramlasdirma interfeysi API bu girisi menbe kodunda mueyyen edir Bu nisbeten yuksek seviyyeli aparatdan musteqil cox vaxt formatdir ABI nin umumi ceheti melumatlarin hesablama prosedurlarina giris kimi teqdim edilmesini ve ya cixis kimi oxunmasini mueyyen eden Buna misal olaraq gostermek olar ABI ye riayet etmek resmi olaraq standartlasdirila ve ya standartlasdirilmaya biler adeten kompilyator emeliyyat sistemi ve ya kitabxana muellifinin isidir Bununla bele tetbiqi proqramci proqramlasdirma dillerinin qarisiginda proqram yazan zaman hetta eyni dilde yazilmis proqrami muxtelif kompilyatorlarla tertib ederken birbasa ABI ile islemeli ola biler ABI esas aparat arxitekturasi qeder vacibdir Proqram bu ikisinin her hansi mehdudiyyetini pozarsa eyni derecede ugursuz olacaq Tesviri span ABI nin ehate etdiyi teferruatlara asagidakilar daxildir Reyestr fayli strukturu yiginin teskili yaddasa giris novleri ve s kimi teferruatlari olan prosessor telimat desti Prosessorun birbasa daxil ola bileceyi esas verilenler tiplerinin olculeri tertibatlari ve Funksiyalarin arqumentlerinin nece oturulduyune ve geri qaytarilan deyerlere nezaret eden meselen asagidakilara nezaret edir Ister butun parametrlerin yigina oturulmesi isterse de bezilerinin reyestrlere oturulmesi Hansi reyestrlerin hansi funksiya parametrleri ucun istifade olunmasi Yigina oturulen ilk funksiya parametrinin birinci ve ya sonuncu itelenmesi Cagiriscinin ve ya cagirilananin funksiya cagirisindan sonra yiginin temizlenmesine cavabdeh olub olmamasi Tetbiq emeliyyat sistemine sistem cagirislarini nece etmeli oldugu hemcinin eger ABI sistem zengleri prosedur cagirislarini yox birbasa sistem cagirislarini teyin edirse sistem cagiris nomreleri Tam emeliyyat sistemi ABI veziyyetinde binar formati proqram kitabxanalari ve s Tam ABI span iBCS kimi tam ABI onu destekleyen bir emeliyyat sisteminden olan proqrama lazimi paylasilan kitabxanalarin movcud olmasi ve oxsar ilkin sertlerin yerine yetirilmesi serti ile her hansi diger bele sistemde deyisiklik etmeden islemeye imkan verir ABI ler hemcinin yayilmasi ve eyni platformada kompilyatorlar arasinda cagiris konvensiyasi kimi teferruatlari standartlasdira biler Bu platformalar arasi uygunluq teleb etmir Daxili ABI span Daxili proqram binar interfeysi EABI ile istifade ucun verilenler novleri reyestrden istifade teskili ve qurasdirilmis proqram teminatinin funksiya parametrlerinin oturulmesi ucun standart konvensiyalari mueyyen edir EABI ler qurasdirilmis sistemin mehdud resurslari daxilinde performansi optimallasdirmaq ucun nezerde tutulmusdur Buna gore de EABI ler murekkeb emeliyyat sistemlerinde nuve ve istifadeci kodu arasinda edilen ekser abstraksiyalari buraxir Meselen daha kicik icra olunanlara ve daha suretli yuklenmeye imkan vermek ucun qacinmaq olar sabit reyestrden istifade daha yigcam yiginlara ve kernel cagirislarina imkan verir proqramin imtiyazli rejimde isledilmesi cihaz surucusune zeng etmeden birbasa giris imkani yaradir EABI secimi performansa tesir ede biler Genis istifade olunan EABI lere EABI ve EABI daxildir C kitabxanasi kimi xususi proqram teminati tetbiqleri daha konkret ABI formalasdirmaq ucun elave mehdudiyyetler tetbiq ede biler Meselen ARM EABI nin alt coxluqlari olan ARM ucun GNU OABI ve EABI dir Hemcinin bax span Simvollar cedveliIstinadlar span Intel Binary Compatibility Standard iBCS 27 may 2012 tarixinde arxivlesdirilib Istifade tarixi 12 dekabr 2023 Itanium C ABI 31 iyul 2023 tarixinde arxivlesdirilib Istifade tarixi 12 dekabr 2023 compatible with multiple architectures Itanium C ABI Exception Handling 27 noyabr 2023 tarixinde arxivlesdirilib Istifade tarixi 12 dekabr 2023 compatible with multiple architectures EABI Summary PowerPC Embedded Application Binary Interface 32 Bit Implementation PDF Version 1 0 Freescale Semiconductor Inc 1 oktyabr 1995 28 30 31 iyul 2023 tarixinde arxivlesdirilib PDF Istifade tarixi 12 dekabr 2023 Debian ARM accelerates via EABI port Linuxdevices com 16 oktyabr 2016 21 yanvar 2007 tarixinde orijinalindan arxivlesdirilib Istifade tarixi 11 oktyabr 2007 Andres Calderon and Nelson Castillo Why ARM s EABI matters Linuxdevices com 14 mart 2007 31 mart 2007 tarixinde orijinalindan arxivlesdirilib Istifade tarixi 11 oktyabr 2007 ABI for the Arm Architecture Developer arm com 4 fevral 2020 tarixinde arxivlesdirilib Istifade tarixi 4 fevral 2020 Eric Christopher mips eabi documentation binutils sources redhat com Poct siyahisi 11 iyun 2003 7 may 2020 tarixinde arxivlesdirilib Istifade tarixi 19 iyun 2020 ArmEabiPort Debian Wiki 27 sentyabr 2013 tarixinde arxivlesdirilib Istifade tarixi 12 dekabr 2023 Strictly speaking both the old and new ARM ABIs are subsets of the ARM EABI specification but in everyday usage the term EABI is used to mean the new one described here and OABI or old ABI to mean the old one Xarici kecidler span Policies Binary Compatibility Issues With C a compendium of development rules of thumb for not breaking binary compatibility between library releases OS X ABI Function Call Guide Debian ARM EABI port mClib Motorola 8 16 bit embedded ABI AMD64 x86 64 Application Binary Interface at the Wayback Machine archived 2008 05 28 Application Binary Interface ABI for the ARM Architecture MIPS EABI documentation Sun Studio 10 Compilers and the AMD64 ABI at the Wayback Machine archived 2015 01 14 a summary and comparison of some popular ABIs M CORE Applications Binary Interface Standards Manual for the Freescale M CORE processors Kateqoriya Emeliyyat sistemi texnologiyalari