ක්‍රියාත්මක කළ හැකි සහ සම්බන්ධ කළ හැකි ආකෘතිය (ELF)

පරිගණකයේදී,ධාවනය කළ හැකි ලිපිගොනු,වස්තු කේත,හවුල් පුස්තකාලසහහරය බැහැරකිරීම්සඳහාක්‍රියාත්මක කළ හැකි සහ සම්බන්ධ කළ හැකි ආකෘතිය(ELF, කලින් හැඳින්වූයේදිගු කළ හැකි සම්බන්ධක ආකෘතිය) පොදු ලෙස භාවිතා කරනගොනු ආකෘතියකි.යුනික්ස්මෙහෙයුම් පද්ධති අනුවාදයේSystem V Release 4(SVR4) නම් වූ පද්ධතියේයෙදුම් ද්වීමය අතුරුමුහුණත(ABI, Application Binary Interface) සඳහා වූ පිරිවිතරයන් තුළ මෙය මුලින්ම ප්‍රකාශයට පත් කළේය.පසුව මෙවලම් අතුරුමුහුණත් සම්මතයේදීවිවිධයුනික්ස්පද්ධති අලෙවිකරුවන් අතර ඉක්මනින් පිළිගන්නා ලදී. 1999 දී, 86open ව්‍යාපෘතිය මඟින්x86ප්‍රොසෙසර වල  යුනික්ස් සහයුනික්ස්-වැනිපද්ධති සඳහා වූ සම්මත ද්විමය ගොනු ආකෘතිය ලෙස එය තෝරා ගන්නා ලදී.
සැලසුම අනුව, ELF ආකෘතිය නම්‍යශීලී, දිගු කළ හැකි සහහරස් වේදිකාවේ. නිදසුනක් වශයෙන්, එය විවිධඅන්තයන්සහ ලිපිනයන් ප්‍රමාණවලට සහය දක්වන බැවින් එය කිසිදු විශේෂිතමධ්‍ය සැකසුම් ඒකකයක්(CPU) හෝඋපදෙස් මාලා නිර්මාණ ශිල්පයක්බැහැර නොකරයි. මේ නිසාම, විවිධ දෘඩාංගවේදිකාමත පවතිනවිවිධ මෙහෙයුම් පද්ධතිමඟින් එය සම්මත කර ඇත.
සෑම ELF ගොනුවක්ම එක් ELF ශීර්ෂකයකින් සෑදී ඇති අතර පසුව ගොනු දත්ත වලින් සමන්විත වේ. දත්ත ඇතුළත් විය හැකි ආකාරය:
ගොනුවේධාවන කාලක්‍රියාත්මක කිරීම සඳහා අවශ්‍ය තොරතුරු අංශ (segments) වල අඩංගු වන අතර, සම්බන්ධ කිරීම හා නැවත ස්ථානගත කිරීම සඳහා වැදගත් තොරතුරු වගන්ති වල අඩංගු වේ. ගොනුවේ ඇති එක්බයිටයක්, උපරිම ලෙස වගන්ති එකකට හිමිවිය හැකි අතර, අනාත බයිට කිසිදු වගන්තියකටවත් හිමි නොවී භාවිත කළ හැක.
ELF ශීර්ෂකය මඟින් බිට්32හෝ64ලිපිනයන් භාවිතා කළ යුතුද යන්න ප්‍රකාශ කරයි. ශීර්ෂකයෙහි මෙම සැකැස්ම මඟින් බලපාන ක්ෂේත්‍ර තුනක් අඩංගු වන අතර ඒවා අනුගමනය කරන අනෙකුත් ක්ෂේත්‍රයන්හි ආරම්භය තීරනය කරයි. ELF ශීර්ෂකය 32-බිට් සඳහා බයිට් 52 සහ 64-බිට් සඳහා බයිට් 64 ක් දිගයි.
ක්‍රමලේඛ රූප සටහනක් සාදා ගන්නා ආකාරය, ශීර්ෂ වගුව මඟින් පද්ධතියට පවසයි. එය ගොනුවේe_phoffහි දක්නට ලැබේ, සහe_phentsizeප්‍රමාණයෙන් යුත්e_phnumපිවිසුම් වලින් සමන්විත වේ.32-bitELF එදිරිව64-bitELF වල පිරිසැලසුම තරමක් වෙනස් ය, මන්ද පෙළගැස්වීමේ හේතු මතp_flagsවෙනස් ව්‍යුහාත්මක ස්ථානයක ඇත. සෑම ඇතුළත් පිවිසුමක්ම ව්‍යුහගත කර ඇත්තේ:
විවිධ පරිසරයන්හි තිබූ පැරණි ආකෘති වෙනුවට ELF ආකෘතිය ප්‍රතිස්ථාපනය කර ඇත. එයයුනික්ස්-වැනිමෙහෙයුම් පද්ධති වලa.outසහCOFFආකෘතීන් ප්‍රතිස්ථාපනය කර ඇත:
යුනික්ස් නොවන මෙහෙයුම් පද්ධති තුල ද ELF ඇතුලත් කරගැනීම් දක්නට ඇත, ඒවා නම්:
සමහර ක්‍රීඩා කොන්සෝල වල ELF ද භාවිතා කරයි:
ELF භාවිතා කරන,පවර්පීසීහි ක්‍රියාත්මක වන අනෙකුත් (මෙහෙයුම්) පද්ධති:
ජංගම දුරකථන සහ ජංගම උපාංග සඳහා වූ සමහර මෙහෙයුම් පද්ධති ELF භාවිතා කරයි:
සමහර දුරකතන සඳහාස්ථිරාංගයටඇසෙම්බලි කේතයක්දමාපැච්කළ පසු ELF ගොනු භාවිත කල හැක. මෙම ක්‍රමයELFPackලෙස හදුන්වන අතර මෙය භූගත වෙනස් කිරීමේ සංස්කෘතියට අයත්වේ.ඇට්මෙල් AVR(8-bit),AVR32සහටෙක්සාස් උපකරණMSP430වැනි ක්‍ෂුද්‍ර පාලක තුලද ELF ආකෘතිය භාවිත කර ඇත. සමහරවිවෘත ස්ථිරාංගසඳහා වු බද්ධ කිරීම් මගින් ද ELF ගොනු භාවිත කළ හැක, විශේෂයෙන් කැපී පෙනෙන ලෙසඇපල්සමාගම විසින් නිෂ්පාදනය කරන ලදපවර්පීසීයන්ත්‍ර සියල්ලම පාහේ භාවිතා කරන ලදී..
ලිනක්ස් සම්මත පදනම(LSB) එය නිශ්චිතව දක්වා ඇති නිර්මාණ ශිල්ප සමහරක් සඳහා ඉහත සඳහන් පිරිවිතරයන් පරිපූරණය කරයි. උදාහරණයක් ලෙස, System V ABI, AMD64 අතිරේකය සඳහා ද එය සිදු වේ.
86openයනු මෘදුකාංග සංවර්ධකයින්x86නිර්මාණ ශිල්පයට දිරිමත් කරවීම සඳහා එම නිර්මාණ ශිල්පය සහිත පොදු පරිගණක තුලයුනික්ස්සහයුනික්ස්-වැනිමෙහෙයුම් පද්ධතිසඳහා පොදුද්විමය ගොනුවර්ගයක් ඇති කිරීමේ ව්‍යාපෘතියකි. මූලික අදහස වූයේ,තනි යුනික්ස් පිරිවිතරයටපූර්වගාමියා වූ කුඩා උප කුලක ස්පෙක් 1170 මත ප්‍රමිතිකරණය කිරීම සහ GNU C පුස්තකාලය (glibc) මඟින් x86 යුනික්ස්-වැනි මෙහෙයුම් පද්ධති මත නවීකරණය නොකළ ද්විමය ගොනු ක්‍රියාත්මක කිරීම ය. මෙම ව්‍යාපෘතිය මුලින් නම් කරන ලද්දේ "ස්පෙක් 150" යනුවෙනි.
තෝරාගත් ගොනු ආකෘතිය වූයේ ELF, විශේෂයෙන් ලිනක්ස් හි භාවිත ELF. පසුව සියළුම අලෙවිකරුවන්ගේ සහ සියළුම මෙහෙයුම් පද්ධති වල සහය දක්වනද ෆැක්ටොප්‍රමිතියක්බවට පත්වින.
මෙම කණ්ඩායම 1997 දී විද්‍යුත් තැපැල් සාකච්ඡා ආරම්භ කළ අතර ප්‍රථම වරට 1997 අගෝස්තු 22 දිනසැන්ටා කෲස් මෙහෙයුම්කාර්යාලයේදී හමු විය.
මෙහෙයුම් කමිටුව වූයේමාර්ක් එවිං, ඩියොන් ජොන්සන්, ඉවාන් ලෙයිබොවිච්,බෘස් පෙරන්ස්, ඇන්ඩෘ රෝච්,බ්‍රයන් වේන් ස්පාර්ක්ස්සහලිනස් ටොවල්ඩ්ය. ව්‍යාපෘතියේ අනෙකුත් පුද්ගලයින් වූයේකීත් බොස්ටික්, චක් ක්‍රැනෝර්, මයිකල් ඩේවිඩ්සන්, ක්‍රිස් ජී. ඩිමෙට්‍රියෝ, උල්රිච් ඩ්‍රෙපර්, ඩොන් ඩගර්, ස්ටීව් ජින්ස්බර්ග්,ජොන් "මැඩෝග්" හෝල්, රොන් හෝල්ට්,ජෝර්දාන් හබර්ඩ්, ඩේව් ජෙන්සන්, කීන් ජොන්ස්ටන්, ඇන්ඩෘ ජෝසි, රොබර්ට් ලිප්, බෙලා ලුබ්කින්, ටිම් මාර්ස්ලන්ඩ්, ග්‍රෙග් පේජ්, රොනල්ඩ් ජෝ රෙකෝඩ්, ටිම් රකල්, ජොයෙල් සිල්වර්ස්ටයින්, චියා-පි ටියන් සහ එරික් ට්‍රෝන්. මෙහෙයුම් පද්ධති හා නිෂ්පාදන සමාගම් නියෝජනය වූයේBeOS,BSDI,FreeBSD,ඉන්ටෙල්,ලිනක්ස්,NetBSD,SCOසහSunSoftලෙසය.
ව්‍යාපෘතිය ප්‍රගතියක් ලබා දුන්නේ 1998 මැද භාගයේදී SCO විසින්OpenServer,UnixWareසහSolarisමත ලිනක්ස් ද්විමය ධාවනය කළ හැකි විවෘත මූලාශ්‍රඅනුකූලතා ස්ථරයක්වනlxrunසංවර්ධනය කිරීම මගිනි. SCO විසින් 1999 මාර්තු මාසයේදීලිනක්ස් වර්ල්ඩ්හි lxrun සහාය නිල වශයෙන් නිවේදනය කළේය.සන් මයික්‍රොසිස්ටම්විසින් 1999 මුල් භාගයේදී සොලාරිස් සඳහා නිල වශයෙන් lxrun සඳහා සහය වීම ආරම්භ කළ අතර, පසුවලිනක්ස් යෙදුම් සඳහා සොලාරිස් බහාලුම්හරහා ලිනක්ස් ද්විමය ආකෘතියේ ඒකාබද්ධ සහය වෙත මාරු විය.
BSD දිගුකාලීනව ලිනක්ස් ද්විමය සහය (අනුකූලතා තට්ටුවක්හරහා) සහ ප්‍රධාන x86 යුනික්ස් වෙළෙන්දන් ආකෘතියට සහය දැක්වීමත් සමඟම, ව්‍යාපෘතිය මඟින් ලිනක්ස් lxrun යනු කර්මාන්තය විසින් තෝරාගත් ආකෘතිය බව තීරණය කළේය. විසුරුවා හැරීම 1999 ජූලි 25 ප්‍රකාශ කළේය.
FatELF යනු ELF ද්විමය ආකෘති දිගුවක් වන අතර එමඟින්fat ද්විමයහැකියාවන් එකතු වේ. එයලිනක්ස්සහයුනික්ස්-වැනිඅනෙකුත් මෙහෙයුම් පද්ධති සඳහා ඉලක්ක කර ඇත. CPU නිර්මාණ ශිල්පය වියුක්තකරණයට (බයිට් අනුපිළිවෙල,වචන ප්‍රමාණය,සීපීයූඋපදෙස් මාලාවයනාදිය) අතිරේකව, මෘදුකාංග-වේදිකා වියුක්ත කිරීමේ වාසියක් ඇත. උදා, බහුABIකර්නල් අනුවාදයන්ට සහය වන ද්විමය. 2 මාර්තු 2021 වන විටFatELF ප්‍රධාන ලිනක්ස් කර්නලය සමඟ ඒකාබද්ධ කර නොමැත.