Compatibilitate binară

# Linux HowTo (cum se face)
# Cărți și ghiduri
# Materiale în limba engleză

Dacă realizarea mobilității aplicațiilor este de obicei obiectivul programatorilor de aplicații, uneori realizarea compatibilității binare în executarea programelor de aplicații este sarcina dezvoltatorilor de sisteme de operare. Sub compatibilitatea sistemului de operare binar O2 cu sistemul de operare O1 se înțelege capacitatea de a efectua la mediul O2 fără recompilare (și, poate, fără reconectării) aplicații scrise pentru a rula pe mediul O1. În mod firesc, compatibilitatea binară a celor două medii de operare teoretic realizabile numai atunci când atât sistemul de operare O1 și O2 se bazează pe o platformă hardware comună (de fapt, mai des auzim despre compatibilitatea binară a diferitelor versiuni de UNIX care rulează pe platformele Intel).







Compatibilitatea binară a noului sistem de operare cu o parte din sistemul de operare existent este necesară în cazul în care, în primul rând, este necesar să se dovedească utilizatorilor că noul sistem nu numai că are noi calități, dar, de asemenea, tehnologic, astfel încât să poată rula aplicații existente, fără a fi nevoie de a le recompilati chiar. În al doilea rând, compatibilitatea binară vă permite să efectuați imediat disponibil în mediul de operare nou, întregul acumulat în vechiul bagaj aplicații de mediu (sursele de care nu sunt susceptibile disponibile), care poate fi foarte important pentru potențialii utilizatori finali (utilizatori de aplicații) ale noului sistem.







Desigur, în primul rând necesită o compatibilitate hardware completă a platformelor utilizate (cel puțin la nivelul utilizatorilor). Apoi, există două opțiuni. În prima versiune mai simplă, compatibilitatea binară este furnizată în sensul utilizării în noile medii de operare a fișierelor de obiecte compilate pe baza mediului de operare anterior. Pentru un program care rulează în noul mediu necesită reconfigurarea programului (desigur, acest linker programe executabile ale noului sistem de operare este de a înțelege structura modulelor obiect al sistemului vechi). Această opțiune este similară cu programele de portabilitate abordare la sursă, ca și modulele obiect vechi conțin doar cod personalizat și apeluri la funcții de bibliotecă și, evident, va rula în noul mediu, fără nici o problemă. Tot ce trebuie făcut (dar este o sarcină foarte dificilă) este de a obține o compatibilitate deplină cu vechiul mediu la nivelul bibliotecilor de sisteme de toate nivelurile. Trebuie remarcat faptul că acest tip de compatibilitate binară nu este foarte eficientă și nu este foarte practică, deoarece seturile de fișiere obiect de aplicații nu sunt mult mai ușor de obținut decât textele sursă. De obicei, programe executabile disponibile.

În a doua variantă, fișierele executabile construite în vechiul mediu de operare pot fi executate în noul sistem de operare. Acestea sunt deja programe complet asamblate care conțin, în plus față de comenzile de utilizator obișnuite, numai comenzi speciale pentru a apela funcțiile kernelului sistemului de operare (de obicei, o varietate de comanda trap). Pe de o parte, pentru a se asigura că acest tip de compatibilitate binară nu este necesară pentru a reproduce întregul set de biblioteci în mediul de operare al vechi, dar pe de altă parte, este necesară pentru a reproduce pe deplin interfața cu nucleul sistemului de operare vechi de la cel mai scăzut nivel. Este clar că aceasta este o sarcină tehnică fezabilă, dar dificilă (de vreme ce detaliile acestei interfețe nu sunt de obicei disponibile public).

Despre beneficiile abordării binare de compatibilitate ne-am spus la începutul acestei secțiuni: pentru a atrage dezvoltatorii de aplicații capacitatea de a folosi dumneavoastră programe vechi fără modificări și utilizatorii finali antrenante posibilitatea de a utiliza toate aplicația acumulate.







Articole similare

Trimiteți-le prietenilor: