АкушерствоАнатомияАнестезиологияВакцинопрофилактикаВалеологияВетеринарияГигиенаЗаболеванияИммунологияКардиологияНеврологияНефрологияОнкологияОториноларингологияОфтальмологияПаразитологияПедиатрияПервая помощьПсихиатрияПульмонологияРеанимацияРевматологияСтоматологияТерапияТоксикологияТравматологияУрологияФармакологияФармацевтикаФизиотерапияФтизиатрияХирургияЭндокринологияЭпидемиология

Микроядерные операционные системы

Прочитайте:
  1. I. Противоположные философские системы
  2. II. Клетки иммунной системы
  3. IV. Анатомия органов сердечно-сосудистой системы
  4. IV. Реакция эндокринной системы на гипогликемию
  5. V. Органы лимфатической системы, иммунной системы
  6. VI. Анатомия центральной нервной системы
  7. VII. Анатомия периферической нервной системы
  8. А) при повышении тонуса симпатической нервной системы
  9. А. Оценка состояния гипоталамо-гипофизарно-надпочечниковой системы
  10. Автоматизированные системы управления лечебно - профилактическим учреждением

Микроядро — это минимальная стержневая часть операционной системы, слу­жащая основой модульных и переносимых расширений. Существует мнение, что большинство операционных систем следующих поколений будут обладать мик­роядрами. Однако имеется масса разных мнений по поводу того, как следует организовывать службы операционной системы по отношению к микроядру: как проектировать драйверы устройств, чтобы добиться наибольшей эффективности, но сохранить функции драйверов максимально независимыми от аппаратуры; сле­дует ли выполнять операции, не относящиеся к ядру, в пространстве ядра или в пространстве пользователя; стоит ли сохранять программы имеющихся под­систем (например, UNIX) или лучше отбросить все и начать с нуля.

Основная идея, заложенная в технологию микроядра, будь то собственно ОС или ее графический интерфейс, заключается в том, чтобы конструировать необходи­мую среду верхнего уровня, из которой можно легко получить доступ ко всем функциональным возможностям уровня аппаратного обеспечения. При такой структуре ядро служит стартовой точкой для создания системы. Искусство раз­работки микроядра заключается в выборе базовых примитивов, которые должны в нем находиться для обеспечения необходимого и достаточного сервиса. В мик­роядре содержится и исполняется минимальное количество кода, необходимое для реализации основных системных вызовов. В число этих вызовов входят пе­редача сообщений и организация другого общения между внешними по отно­шению к микроядру процессами, поддержка управления прерываниями, а также ряд некоторых других функций. Остальные функции, характерные для «обыч­ных» (не микроядерных) ОС, обеспечиваются как модульные дополнения-про­цессы, взаимодействующие главным образом между собой и осуществляющие взаимодействие посредством передачи сообщений.

Микроядро является маленьким, передающим сообщения модулем системного программного обеспечения, работающим в наиболее приоритетном состоянии компьютера и поддерживающим остальную часть операционной системы, рас­сматриваемую как набор серверных приложений. Интерес к микроядрам возрастал по мере того, как системные разработчики реагировали на сложность современ­ных реализаций операционных систем, и поддержан тем, что исследовательское сообщество успешно продемонстрировало реализуемость концепции микроядра.

Созданная в университете Карнеги Меллон технология микроядра Mach служит основой для многих ОС.

Исполняемые микроядром функции ограничены в целях сокращения его разме­ров и максимизации количества кода, работающего как прикладная программа.


Микроядро включает только те функции, которые требуются для определения набора абстрактных сред обработки для прикладных программ и для организа­ции совместной работы приложений в обеспечении ^сервисов и в действии кли­ентами и серверами. В результате микроядро обеспечивает только пять различ­ных типов сервисов:

Q управление виртуальной памятью;

Q задания и потоки; '.--*•.-•

Q межпроцессные коммуникации (IPC1); •

Q управление поддержкой ввода/вывода и прерываниями;

Q сервисы набора хостами процессора.

Другие г^одсистемы и функции операционной системы, такие как системы управ­ления, файлами, поддержка внешних устройств и традиционные программные интерфейсы, размещаются гв рдном или более системных сервисах либо в задаче операционной системы. Эти программы работаю^ как приложения микроядра. Следуя концепции множественных потоков на одно задание, микроядро созда­ет прикладную.среду, обеспечивающую использование мультипроцессоров без требования, -чтобы какая-то конкретная мащина была мультипроцессорной: на однопроцессорной различные потоки.просто выполняются в разные времена. Вся поддержка, требуемая для мультипроцессорных машин, сконцентрирована В сравнительно малом и простом микроядре.

Благодаря своим размерам и способности поддерживать стандартные сервисы программирования и характеристики в виде прикладных программ сами микро­ядра проще, чем ядра монолитных или модульных операционных систем. С мик­роядром функция операционной системы разбивается на модульные части, ко­торые могут быть сконфигурированы целым рядом способов, позволяя строить большие системы добавлением частей к меньшим. Например, каждый аппарат-но-независимый нейтральный сервис логически отделен и может быть сконфи­гурирован в широком диапазоне способов. Микроядра также облегчают под­держку мультипроцессоров созданием стандартной программной среды, которая может использовать множественные процессоры в случае их наличия, однако не требует их, если их нет. Специализированный код для^ мультипроцессоров ограничен самим микроядром. Более того, сети из общающихся между собой микроядер могут быть использованы для обеспечения операционной системной додаёржки возникающего класса массивно параллельных машин. В некоторых случаях определенной сложностью использования микроядерного подхода на лрактике является замедление скорости выполнения системных вызовов при пе­редаче сообщений через микроядро по сравнению с классическим подходом. С другой стороны, можно констатировать и обратное. Поскольку микроядра малы и имеют сравнительно мало требуемого к исполнению кода уровня ядра, они обеспечивают удобный способ поддержки характеристик реального време-

IPC (inter-process communication) — межпроцессные коммуникации.

Host — главный компьютер. Сейчас этим термином обозначают любой Компьютер, имею­щий IP-адрес.


ни, требующихся для мультимедиа, управления* устройствами и высокоскорост­
ных коммуникаций, Наконец, хорошо структурированные микроядра обеспе­
чивают изолирующий слой для аппаратных различий, которые не маскируются
применением5 языков программирования высокого уровня. Таким образом, они
упрощают перенесение кода и увеличивают уровень его повторного, использова­
ния.,, \, -•-.-., _-,.-.
Наиболее ярким представителем микроядерных ОС является ОС реального вре­
мени QNX. Микроядро QNX поддерживает только планирование к диспетчери­
зацию процессов, взаимодействие процессов, обработку прерываний и сетевые
службы нижнего уровня (более подробно об ОС QNX см. в главе 8). Микроядро
обеспечивает всего лишь пару десятков системных вызовов, но благодаря этому
оно может быть целиком размещено во внутреннем кэше даже таких процессо­
ров, как Intel 486. Как известно, разные версии этой ОС имели и различные объ­
емы ядер—от 8, до 46 Кбайт..;,

Чтобы построить минимальную систему QNX, требуется добавить к микроядру менеджер процессов, который создает процессы; управляет процессами и памя­тью процессов. Чтобы ОС QNX была применима не только во встроенных и без­дисковых системах, нужно добавить файловую систему и менеджер устройств. Эти менеджеры исполняются вне пространства ядра, так что ядро остается не­большим.


Дата добавления: 2015-01-18 | Просмотры: 1019 | Нарушение авторских прав



1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |



При использовании материала ссылка на сайт medlec.org обязательна! (0.004 сек.)