ПредишенСледващото

Микрокърнъла архитектура е алтернатива на по-горе класически начин за изграждане на операционната система. За разлика от традиционната архитектура, според която операционната система е монолитна ядрото изпълнява основно от функции за управление на хардуера на ресурси и организиране на средата за изпълнение на потребителските процеси микрокърнъла архитектура разпределя OS функции между микрокърнъла, представляващи неразделна част от услугите на OS система, внедрена като обработва връстници с потребителски приложения.

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

Не е включено в функциите на високо равнище микрокърнъла и модули на ядрото са направени под формата на самостоятелни приложения, работещи в потребителски режим. В същото време на разработчика на OS е все още далеч от уникалната задача на вземането на решение кои от модулите ще се проведе в привилегирован режим, и това, което потребителят. Като правило, това решение силно повлияна от спецификата на използването на тази операционна система, както и критериите, които трябва да отговарят. Като цяло, много мениджъри на ресурси, които са неразделна част от OS ядрото с класическата архитектура, остават извън микрокърнъла и работещи в потребителски режим. Фигурата можем да видим големи разлики в изграждането на монолитна ядро ​​на операционна система (вж. Фиг. 5а) и микрокърнъла архитектура (вж. Фиг. 5б).

Фиг. 5. Структурата на операционната система с монолитна ядрото и микрокърнъла архитектура

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

Помислете типичен пример за организиране на приложения за обработка механизъм за функциите на операционната система, предназначени под формата на сървъра (вж. Фиг. 6).

Фигура 6. Прилагането на система за повикване на операционната система с микрокърнъла архитектура

Нека да видим как на практика се прилага концепцията за изграждане на OS микрокърнъла архитектура.

Един от първите представи концепцията на Next микрокърнъла фирма, която използва компютрите им Mach система последния дълъг път на развитие в университета Карнеги Мелън със съдействието на Министерството на отбраната на САЩ. Теоретично, нейната малка привилегирована ядро, обградено от потребителя режим услуги, е да се осигури безпрецедентна гъвкавост и модулност. Но на практика това предимство е малко намален, тъй като на операционната система UNIX BSD 4.3 монолитни сървъри, които работят в потребителското пространство на микрокърнъла Мах. Въпреки това, предвид Mach Следващата възможност за предоставяне на услуги за съобщения, и обектно-ориентирани инструменти, които са доведени до потребителите под формата на елегантен потребителски интерфейс с графичен подкрепа за конфигурацията на мрежата, система за администрация и разработка на софтуер.

По-модерен микрокърнъла архитектура са предложени Novell, СЛС, Фондация Отворено Software, IBM, Apple и др. Един от основните претенденти в NT част на микроядра е микрокърнъла Mach 3.0, което е и IBM, са дошли от OSF и да доведе до търговски вид. Основният конкурент на Мах - Припев 3.0 микрокърнъла компания хор Systems, СЛС избран като основа на техните предложения. Това е микрокърнъла ще бъде използвана в SpringOS на Sun - обектно-ориентиран наследник OS Solaris.

Днес стана ясно, че е налице тенденция за преминаване от монолитни системи към използването на по-малки ядра. Този подход вече е бил използван при QNX Software и Unisys, в продължение на няколко години успешно предоставения OS базиран на микрокърнъла. OS компанията QNX Software QNX служи пазарни системи в реално време, както и технически директори OS компания Unisys е популярен в областта на банковото дело.

А сега да разгледаме основните понятия на строителството на двата най-популярни системи: Windows NT и UNIX-базирани системи, базирани на микрокърнъла Мах.

В много UNIX-подобни системи като основа за изграждането на избрания микрокърнъла Мах. Разработване на прототип на тази структура започва през 1975 г. в университета Карнеги Мелън. Въз основа на микрокърнъла Mach подражава UNIX и други операционни системи. Mach ядрото осигурява управление на паметта, комуникация и входно-изходна функция на процеса. Идеята за изграждане на Mach ядрото е да осигури механизми, необходими за системата, но стратегията на използването на тези механизми, прилагани на равнището на потребителските процеси. Ядрото управлява пет основни абстракции:

Interprocess комуникация в Mach се основава на предаването на съобщения. За да се получи съобщението, процесът на потребител поиска на ядрото да се създаде сигурна пощенска кутия, която се нарича пристанището. Пристанището се съхранява в ядрото и е в състояние да поддържа всички поръчани списъка със съобщения. Опашки имат определена дължина, но за да се контролира потока на всеки порт отделно стойност на прага н съобщения, така че всеки процес се опитва да изпрати друго съобщение по дължина на опашката н в е спряно, за да се даде възможност да се очисти пристанището.

Всеки процес може да осигури възможност за друг процес за изпращане (или получава) съобщения в едно от пристанищата, принадлежащи към него. Тази възможност се реализира под формата на мандат (способност), който включва не само указател към пристанището, но също така и списък с права, които друг процес има по отношение на пристанището (например правото да се направи операция, за да изпратите - Изпращане). Всички комуникативно-му в Mach използва този механизъм. Основната цел, определена от разработчиците на ядрото на средствата за комуникация на Мах, е в подкрепа на различни стилове на комуникация, съчетани с надеждността и гъвкавостта. Съобщение инструменти Mach ядрото поддържа асинхронен съобщения, механизмът за прилагане на разпределени изчисления, байт поток (потоци) и други методи.

Въпреки, че описаните приложения на метод UNIX програмиране и изглежда объркващо, многобройни изследвания са показали, че той работи по-добре в сравнение с традиционните изпълнението на монолитен ядро. В по-нататъшната работа на Мах ще се фокусира върху разделянето на UNIX сървър в множество сървъри с по-специфични функции.

Windows NT операционна система е проектирана от началото на Microsoft разработчиците като се вземат предвид всички изисквания за модерна операционна система. При разработването на своята структура до голяма степен е бил използван микрокърнъла концепция. В съответствие с тази идея, операционната система е разделена на няколко подсистеми, всяка от които изпълнява различен набор от функции за услуги, като например услуги за съхранение, за да се създаде процес или процеси на планиране. Всеки сървър работи в режим на потребителя чрез извършване на проверка цикъл на клиента искане за един от нейните обслужващи функции. Клиентът, който може да бъде всяка друга операционна система, компонент или приложна програма поиска услуга чрез изпращане на съобщение до сървъра. Операционната система микрокърнъла, работещи в привилегирована режим, доставя съобщението до желания сървър, сървърът извършва операцията, а след това на ядрото връща резултата към клиента с различно послание.

В структурно отношение, Windows NT може да се представи под формата на два компонента: от страна на операционната система, работи в режим на потребител, както и част от режима на операционната система на ядрото.

Част от работата в режим на ядрото, която се нарича изпълнителен Windows NT - изпълнителната част. Тя включва редица компоненти, които управляват виртуални обекти памет (ресурси), входно-изходни, файлова система (включително мрежови драйвери) процеси, реагиращи и само част от системата за сигурност. Тези компоненти се свързват един с друг чрез интер-модул връзки. Всеки компонент предизвиква друг с помощта на набор от внимателно определени вътрешни процедури.

Във втората част, работи в режим на потребител, да направи сървъри - защитена подсистема Windows NT. Windows NT сървъри наречените защитени, тъй като всеки един от тях се извършва в отделен процес, чиято памет е отделена от други процеси, виртуална памет на системата NT изпълнителен контрол. Тъй като подсистеми не автоматично да използват обща памет, те комуникират помежду си чрез изпращане на съобщения. Съобщенията се изпращат като между клиент и сървър, както и между двата сървъра. Всички съобщения минават през изпълнителната част на Windows NT.

Подкрепа за сигурни подсистеми предвижда изпълнителната част - Windows NT изпълнителната власт, който работи в пространството на микрокърнъла и никога не се изчерви на диск. Нейните избиратели са:

1) Управителят на обекта, създава, изтрива, и управление обекти NT изпълнителен - абстрактни типове данни, използвани за представянето на ресурсите в системата;

2) монитор за безопасност, за установяване на правила за защита на вашия компютър. Предпазва OS ресурси, осигуряващ защита и регистрация на изпълними;

3) за управление на процес, създаване и прекратяване на спиране и подновяване на процесите, и съхранява информация за тях;

4) виртуална управителя на паметта;

5) IO подсистема, която включва следните компоненти:

- IO мениджъра, които входно-изходни средства, независимо от устройствата;

- файлови системи - NT-шофьори работят файлови ориентирани молби за вход и изход и ги предава на предизвикателствата на конвенционалните устройства;

- мрежовия пренасочване, както и мрежов сървър - файла системни драйвери, отдалечени заявки за предаване на входа и изхода на машината в мрежата и получава искания от тях;

- NT шофьори изпълнителен устройства - водачи на ниско ниво директно контролират устройство;

- Кеш Мениджър, изпълнява кеширане на диска.

Изпълнителният част, от своя страна, се основава на по-ниско ниво на услуги микрокърнъла NT. Хотелът микрокърнъла включват:

- обработка на прекъсвания и изключения;

- синхронизация на процесори за многопроцесорни системи;

- възстановяване при бедствия System.

Микрокърнъла работи в режим на ядрото и никога няма да бъдат изтрити от паметта. Обърнете се към него е възможно само чрез прекъсване. В микрокърнъла разположен над HAL (Hardware абстракция ниво, HAL), който се концентрира в едно място повечето от процедурите за машинно зависими. HAL разположен между NT изпълнителната и хардуер и включва подробности като прекъсват контролери, входно-изходни интерфейси, и механизми между процесорите. Това решение позволява лесно прехвърляне на Windows NT от една платформа на друга, като се замени само HAL слой.

Когато създавате нови тайвански разработчиците ръководят задачи подобряват възможностите на производителността и мрежи, както и изискването за поддържане на определен набор от среди на приложения. Тази цел е постигната умишлено разделение на функциите между модули и други модули микрокърнъла на. Така например, предаването на данни на файловата система и мрежата е по-бързо в пространството микрокърнъла, така че в рамките на микрокърнъла NT да разпределят буфер за дребномащабни (16-32 KB) четат и пишат операции, които са типични за клиент-сървър приложения и разпределени приложения. Местоположението на тези входно-изходни функции в рамките на една микрокърнъла може да развали своя академичен, но в съответствие с целта за създаване на NT.

Сигурни Windows NT подсистеми работят в потребителски режим, и Windows NT са създадени по време на ОС за зареждане. Веднага след като започнете да създавате безкраен кръг на неговото изпълнение, в отговор на съобщенията, изпратени до тях от процесите за кандидатстване и други подсистеми. Сред защитените подсистеми могат да бъдат идентифицирани подклас нарича подсистеми на околната среда. среда подсистема прилагане интерфейси приложение OS (API). Други видове подсистеми, наречени интегрирани подсистеми, изпълняват функциите, необходими за операционната система. Например, повечето от системата за сигурност на Windows NT се прилага като интегриран подсистема, мрежови сървъри също са проектирани като интегрирани подсистеми.

Най-важната подсистема е Win32 среда - система, която осигурява достъп до приложения за 32-битов Windows API. В допълнение, тази система осигурява графичен потребителски интерфейс и контролира данните на потребителя на входно-изходни. Той също така поддържа подсистема POSIX, OS / 2, 16-битова версия на Windows и MS-DOS.

Всяка защитена подсистема работи в режим на потребител, което води до системна услуга NT изпълнителен да изпълнява привилегировани действия в режима на ядрото. Мрежови сървъри могат да бъдат изпълнени в потребителски режим или в режим на ядрото, в зависимост от начина, по който са предназначени.

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

Основното средство за свързване на всички подсистеми на Windows NT в едно цяло, е механизмът на местната процедура повикване (Local Procedure Call, ЗЗК). ЗЗК е оптимизирана версия на по-общите средства - RPC (Remote Procedure Call, RPC), което се използва за комуникация клиенти и сървъри, намиращи се на различни машини в мрежата.

LPC означава, поддържа няколко режима на трансфер на данни между клиенти и сървъри, един обикновено се използва за предаване на кратки съобщения, друг - за дълги съобщения, а третият е специално оптимизирана за използване на подсистемата Win32. Всяка подсистема определя порта - един комуникационен канал, чрез който може да комуникира с други процеси.

Windows NT използва защитен подсистема за:

- осигуряват няколко програмни интерфейси (API), доколкото е възможно без усложняване където базовата код (NT изпълнителен);

- изолиране на база операционната система от изменения или разширения подкрепени от API;

- да се съчетаят част от глобалните данни, изисквани всички API, и в същото време да се разделят данните, използвани от всеки отделен API API от други данни;

- защита на околната среда от всяко приложение API и околната среда на други API, и защита на база операционната система от различни среди;

- позволява на операционната система да се развива в бъдеще в резултат на новия API.

По този начин, изпълнението на части от операционната система, под формата на сървъри, които работят в потребителски режим, е съществена част от проекта Windows NT, има дълбок ефект върху цялата система.

NT микрокърнъла се осъществява главно чрез средствата за подпомагане на основната част от операционната система - набор от потребителски среди. Концентрацията на програми за машината в рамките на микрокърнъла прави NT миграция на различни процесори относително лесно. Но докато някои микрокърнъла (Mach и хор) се очаква да доставят като отделен софтуерен продукт от операционната система на ядрото на Windows NT е малко вероятно да бъде развит, за индивидуална употреба. Това е една от причините, поради които някои експерти не вярват, Windows NT вярно микрокърнъла операционна система, в смисъла, в който те са Mach и Chorus. Същите тези критици отбелязват също така, че NT не изключва, както трябва да бъде, всички спряно услугата от ядрото пространство, както и че в драйверите на NT устройства до минимум взаимодействат с микрокърнъла, предпочитайки да работят директно с основното хардуера слой под HAL.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!