Домейн на приложение

от Уикипедия, свободната енциклопедия
Направо към навигацията Направо към търсенето

Домейнът на приложение е механизъм (подобно на процес в ОС), който се използва в CLI (Common Language Infrastructure), за да раздели софтуерни приложения едно от друго, за да не се влияят взаимно. Всеки домейн на приложение има своето собствено виртуално пространство от адреси, което обхваща ресурсите, които се използват.

Свойства[редактиране | редактиране на кода]

CLI домейнът на приложение се съдържа в процес на операционната система. Един процес може да съдържа много домейни на приложение, които имат изолационна функция подобно на тази при процесите в ОС:

  • Множество нишки могат да съществуват в един домейн на приложение.
  • Приложение в даден домейн може да бъде спряно без да се повлиява на състоянието на друг домейн в същото пространство.
  • Грешка или изключение в един домейн не влияе на приложение в друг домейн, нито спира цялостния процес, който съдържа домейните.
  • Конфигурационната информация е част от обхвата, който има един домейн, но не и от този на процеса.
  • На всеки домейн може да се възложи различно ниво на защита за достъп.
  • Код в един домейн не може директно да има достъп до кода в друг домейн.

В този смисъл, CLI е като миниатюрна операционна система. Той изпълнява един процес, който съдържа определена бройка подпроцеси или домейни на приложение.

Предимството на домейните на приложение е, че работата на множество домейни на приложение би изисквала по-малко ресурси, като памет, в сравнение с процесите в ОС. Комуникацията между домейните трябва да се ръководи, за да се осъществява комуникация между много процеси за сметка на комуникацията само с един домейн.

Вътредомейнни комуникации[редактиране | редактиране на кода]

Пряка комуникация не може да бъде осъществена посредством домейни на приложение. Обаче, домейните на приложение могат да „говорят“ помежду си обменяйки обекти чрез системно подреждане по стойност (свободни обекти), подреждане по препратка посредством прокси. Има трети тип обекти наречени контекстуално свободни обекти, които могат да бъдат подреждани по препратки към домейните и също така съществуват в контекста на собствения си домейн на приложение. Поради проверимата сигурност на управляемия код, CLI може да осигури изолация между домейни на много по-ниска цена отколкото ОС може. Статичния вид проверка, който е в употреба за изолация, не изисква същите превключватели на процеса или хардуерни пръстенови преходи, които ОС изисква.

Управляем код[редактиране | редактиране на кода]

Домейните на приложение са концепция на управляемия код. Всеки локално включен код до голяма степен не знае за тях. Статичните променливи се разпределят по домейните, обратната връзка би могла да бъде проблем, и бъгове по паметта в един домейн имат голяма вероятност да се пренесат и към други домейни.

Външни препратки[редактиране | редактиране на кода]

Криейтив Комънс - Признание - Споделяне на споделеното Лиценз за свободна документация на ГНУ Тази страница частично или изцяло представлява превод на страницата „Application domain“ в Уикипедия на английски. Оригиналният текст, както и този превод, са защитени от Лиценза „Криейтив Комънс - Признание - Споделяне на споделеното“, а за съдържание, създадено преди юни 2009 година — от Лиценза за свободна документация на ГНУ. Прегледайте историята на редакциите на оригиналната страница, както и на преводната страница. Вижте източниците на оригиналната статия, състоянието ѝ при превода и списъка на съавторите.