Baǵdarlama domeni

**Baǵdarlama domeni** - bul Ulıwma Til Infrastrukturası (CLI) ishinde qollanılatuǵın mexanizm (operaciyalıq sistemadaǵı processke uqsas) bolıp, ol orınlanǵan programma qosımshaların bir-birinen izolyaciyalaw ushın qollanıladı, sonlıqtan olar bir-birine tásir etpeydi. Hárbir baǵdarlama domeniniń óz virtual adres keńisligi bar, ol sol adres keńisligin paydalanıwshı baǵdarlama domeni ushın resurslardı shekleydi.

Bir proceste birneshe baǵdarlama domenin jaratıw .NET Core hám .NET 5+ versiyalarında múmkin emes.

## Qásiyetleri
CLI qollanıw tarawı operaciyalıq sistema procesi ishinde jaylasqan. Bir process kóp baǵdarlama domenlerin óz ishine alıwı múmkin. Baǵdarlama domenleri operaciyalıq sistema processlerine uqsas izolyaciyalaw qásiyetlerine iye:

* Bir baǵdarlama domeninde birneshe potoklar bolıwı múmkin.
* Domen ishindegi qosımshanı, sol procestegi basqa domen jaǵdayına tásir etpesten, toqtatıw múmkin.
* Bir domendegi qáte yaki ózgeshelik basqa domendegi qosımshaǵa tásir etpeydi yamasa domenlerdi xostlaytuǵın pútkil processti buzıwǵa alıp kelmeydi.
* Konfiguraciya informaciyası process kólemi emes, domenniń kólemi bolıp esaplanadı.
* Hárbir domenge hár qıylı qáwipsizlik kiriw dárejeleri tayınlanıwı múmkin.
* Bir domendegi kod basqa domendegi kodqa tikkeley kire almaydı.

Usı mánisinde, CLI kishi operaciyalıq sistemaǵa uqsaydı. Ol birneshe sub-processlerdi, yaǵnıy baǵdarlama domenlerin óz ishine alǵan bir procesti isletedi.

Baǵdarlama domenleriniń artıqmashlıǵı - birneshe qollanıw tarawların isletiw, birneshe operaciyalıq sistema processlerin isletiwge qaraǵanda, yadro sıyaqlı az resurslardı talap etiwi múmkin. Domenler arasındaǵı baylanıs ele de marshallawdı talap etedi, sonlıqtan shıǵınlar bir domen ishinde baylanısıwǵa qaraǵanda birneshe processlerdi qollanıwǵa jaqınıraq bolıwı múmkin.

## Domenler arasındaǵı baylanıs
Baǵdarlama domenleri arasında tuwrıdan-tuwrı baylanıs ornatıw múmkin emes. Biraq, qollanıw tarawları ele de obektlerdi mánisine qaray marshallaw arqalı (baylanıssız obektler), proksi arqalı sіlteme boyınsha marshalling (qollanıw tarawına baylanıslı obektler) arqalı berip, bir-biri menen sóylese aladı. Kontekstke baylanıslı obekt dep atalatuǵın úshinshi tiptegi obekt bar, ol domenler arasında hám óz qollanıw tarawınıń konteksti ishinde sіlteme boyınsha marshalling etiliwi múmkin. Basqarılatuǵın kodtıń tekseriletuǵın tip-qáwipsizligi sebepli, CLI domenler arasında operaciyalıq sistema processine qaraǵanda ádewir tómen shıǵınlar menen qáte izolyaciyalawın támiynley aladı. Izolyaciya ushın qollanılatuǵın statikalıq tip tekseriwi operaciyalıq sistema processi talap etetuǵın birdey process almasıwların yamasa apparatlıq saqıyna ótiwlerin talap etpeydi.

## Basqarılatuǵın kod
Baǵdarlama domenleri tolıǵı menen basqarılatuǵın kod koncepciyası bolıp tabıladı. Kirgizilgen tiykarǵı/basqarılmaytuǵın kod (mısalı, C++) olarǵa tiykarınan xabardar emes. Statikalıq ózgeriwshiler domenler arasında bólisilgendey kórinedi, keri shaqırıwlar mashqala tuwdırıwı múmkin, hám bir domendegi yadronı buzıw qáteleri basqa domenlerdi de buzıwı múmkin.

## Derekler

* [Microsoft Developer Network page on application domains](http://msdn.microsoft.com/en-us/library/2bh4z9hs(VS.71).aspx)
* Unmanaged callbacks across AppDomains Archived 2014-07-09 at the Wayback Machine