Asamblare alăturată
Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de
versiunea revizuită pe 16 iunie 2016; verificările necesită
2 modificări .
Side-by-side Assembly (SxS) este o tehnologie de rezolvare a conflictelor între DLL-urile globale din Microsoft Windows .
Motivul creării
Tehnologia SxS a fost o altă încercare de a rezolva problema iadului DLL prin înlocuirea căutării bibliotecilor după numele fișierului cu o căutare cu un identificator unic de asamblare
.
Implementare
Din fișierele care conțin resursele scoase pentru uz general de către procese se formează un ansamblu ( ing. asamblare ). În timpul instalării, ansamblul este plasat într-un subdirector al directorului de sistem WinSxS , care are un nume unic garantat și este înregistrat în sistem sub un identificator unic . Un program care dorește să folosească resurse din anumite ansambluri își specifică identificatorii în așa-numitul manifest - un descriptor de proprietate a programului în XML , plasat fie în interiorul fișierului executabil, fie într-un fișier separat cu extensia .manifest.
Ansamblurile sunt de obicei create din biblioteci de linkuri dinamice (DLL) ,
dar orice .
Ansamblurile sunt foarte utilizate în .NET Framework .
La nivel de sistem de operare , tehnologia a fost introdusă pentru prima dată în Windows XP , dar a fost utilizată pe scară largă începând cu Windows Vista .
Avantaje
- Programele au acum capacitatea de a specifica fără ambiguitate resursele partajate de care au nevoie (de exemplu, versiuni specifice ale DLL-urilor de sistem).
- Limbajul XML folosește descrieri într-o formă de text care poate fi citită de om, dar poate fi modificată de orice editor de text (când manifestul este plasat într-un fișier separat).
Dezavantaje
- Pregătirea și instalarea unui ansamblu este un proces mai complex și mai consumator de timp în comparație cu crearea unui DLL și plasarea în mod tradițional în directorul de sistem System32 .
- Un ansamblu care conține chiar și un singur DLL ocupă mai mult spațiu pe disc decât DLL-ul real și necesită spațiu pentru a fi înregistrat în registrul de sistem .
- Pe sistemele din Windows Vista , există multe ansambluri care conțin atât versiuni diferite ale DLL-urilor de sistem, cât și alte resurse (de exemplu, informații de control pentru suport multilingv). Toate ansamblurile sunt întotdeauna instalate pe disc, chiar dacă majoritatea nu sunt utilizate. Volumul total al acestor ansambluri ocupă câțiva gigaocteți de spațiu pe disc, ceea ce este puțin mai puțin de jumătate din spațiul total ocupat de sistem după instalare pe disc. Nu există o modalitate cunoscută de a elimina corect ansamblurile neutilizate.
Link -uri