Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: XXXVIII Международной научно-практической конференции «Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ» (Россия, г. Новосибирск, 26 января 2016 г.)

Наука: Информационные технологии

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Давыденко Г.Н. ДОСТОИНСТВА И НЕДОСТАТКИ МОНОЛИТНОГО И МИКРОЯДРА // Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ: сб. ст. по мат. XXXVIII междунар. студ. науч.-практ. конф. № 1(37). URL: https://sibac.info/archive/technic/1(37).pdf (дата обращения: 25.11.2024)
Проголосовать за статью
Конференция завершена
Эта статья набрала 0 голосов
Дипломы участников
У данной статьи нет
дипломов

ДОСТОИНСТВА И НЕДОСТАТКИ МОНОЛИТНОГО И МИКРОЯДРА

Давыденко Георгий Николаевич

магистрант 1 курса, кафедра систем управления и компьютерных систем БГТУ «ВОЕНМЕХ» им. Д.Ф. Устинова, г. Санкт-Петербург

E-mail: jorik.gk@yandex.ru

Гущин Артем Николаевич

научный руководитель, канд. технических наук, доцент, доцент кафедры систем управления и компьютерных систем БГТУ «ВОЕНМЕХ» им. Д.Ф. Устинова, г. Санкт-Петербург

 

Для решения задач, связанных с разработкой или внедрением ОС, необходимо рассмотреть принципы построения различных архитектур и понять, какими преимуществами и недостатками обладает та или иная операционная система. Архитектурой аппаратного обеспечения называются внутренние компоненты компьютера, а также устройства ввода и вывода. Внутренние компоненты составляет управляющее и вычислительное устройство. Устройства ввода и вывода необходимы для взаимодействия с внешним миром. В большинстве случаев, архитектура аппаратного обеспечения диктует правила, которым должны удовлетворять работающие на них операционные системы. Под операционной системой понимается комплекс взаимосвязанных программ, управляющий ресурсами вычислительных устройств. С другой стороны, операционная система является некоторой абстракцией, которая скрывает от пользователя работу аппаратного обеспечения. Главной центральной частью операционной системы является ядро. В настоящее время, распространение получили: монолитное и микроядро.

  1. Монолитное ядро. Отличительной особенностью данной схемы операционной системы является то, что все части её ядра – это составные компоненты одной программы, работающие в одном адресном пространстве [4]. К основным преимуществам относят высокую скорость работы и простоту разработки модулей. Основным недостатком является то, что при нарушении работы одного из компонентов ядра, перестает работать вся система. При внесении изменений в аппаратное обеспечение, необходимо произвести полную перекомпиляцию всего ядра.
  2. Микроядро. Данная архитектура предоставляет минимальный набор для взаимодействия с оборудованием и основные функции для работы с процессами. К достоинствам можно отнести высокую степень модульности и возможность устойчивой работы, при возникновении ошибок или сбоев оборудования. Недостатком является то, что передача информации требует больших расходов ресурсов и времени [2].

Рассмотрим причины, из-за которых микроядро имеет меньшую производительность и более высокую степень надежности. Принцип работы микроядерной архитектуры состоит в том, что микроядро защищено от остальных частей ОС и приложений (рисунок 1).

Рисунок 1 – Перенос основного объема функций ядра в пользовательское пространство

 

В состав микроядра входят машинно-зависимые модули и модули, управляющие процессами, прерываниями, виртуальной памятью и т.д. Высокоуровневые функции ядра обычно оформляются в виде отдельных серверов, которые работают в режиме пользователя. Серверы выполняются в отдельных процессах, каждый в своей области памяти. Поэтому при нарушении работы одного сервера, он может быть перезапущен, не нарушив работы других серверов, а так как они все осуществляют работу в режиме пользователя, то повышается надежность работы всей операционной системы. Так же повышение надежности осуществляется благодаря меньшему объему исполняемой программы (меньшему числу машинных команд), так как уменьшается количество совершаемых ошибок. По мимо этого, данному типу архитектуры присуща расширяемость. При появлении необходимости внедрения нового модуля, объем работ существенно снижается. В отличии от монолитного ядра, нам необходимо будет написать модуль и установить связи с остальными компонентами ядра. При этом отсутствует надобность изменять все ядро. Так, например, не прерывая работы, можно загружать и выгружать новые драйвера. Но во всем имеются свои минусы и, к сожалению, такой принцип работы микроядерной архитектуры оказывает существенное влияние на производительность. Если мы работаем с монолитным ядром, выполнение системного вызова сопровождается всего двумя переключениями режимов – с режима пользователя в режим ядра и обратно [1]. Но при работе с микроядром осуществляется 4 переключения (рисунок 2).

Рисунок 2 - Смена режимов при выполнении системного вызова.

 

В связи с существованием множества различных архитектур аппаратного обеспечения и операционных систем, появилась необходимость портирования программ и программного обеспечения с одной архитектуры на другую. Портированием называется процесс адаптации некоторого продукта или его частей, с целью работы в другой среде с максимальным сохранением его свойств. Необходимость портирования чаще всего возникает из-за несоответствия в системе команд процессора. При необходимости переноса операционной системы с одной архитектуры на другую, нужно учитывать различные факторы. Например, специфические свойства процессора, реализацию платформенно-зависимых частей и т.д. Процесс портирования должен осуществляться по принципу – для каждого из модулей реализуется платформенная независимость - и так модуль за модулем [3]. Описанный выше подход уменьшает количество возникающих ошибок и упрощает процесс тестирования. Микроядерная архитектура обладает высокой степенью переносимости, так как весь машинный код находится в микроядре. В связи с тем, что в данном типе архитектуры используется только элементарные функции управления процессами и минимальный набор инструментов для работы с оборудованием, процесс портирования облегчается в разы.

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

 

Список литературы:

  1. Микроядерная архитектура ОС. Реализация системного вызова. Преимущества и недостатки микроядерной архитектуры ОС. [Электронный ресурс]. URL: http://gsmtut.narod.ru/os/16.htm (дата обращения: 18.10.2015)
  2. Операционные системы вычислительных машин [Электронный ресурс].
  3. :  http://bourabai.ru/os/lecture03.htm (дата обращения: 19.10.2015)
  4. Фонин Ю., Грассман С. Архитектура и принципы построения операционной среды “мини-ОС” [Электронный ресурс].
  5. : http://citforum.ru/programming/embedded/mini-os/ (дата обращения: 18.10.2015)
  6. Ядро операционной системы [Электронный ресурс]. URL: http://gruzdoff.ru/wiki/Ядро_операционной_системы (дата обращения: 19.10.2015)
Проголосовать за статью
Конференция завершена
Эта статья набрала 0 голосов
Дипломы участников
У данной статьи нет
дипломов

Оставить комментарий

Форма обратной связи о взаимодействии с сайтом
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.