77372

Микроядро RiDE.C

Научная статья

Информатика, кибернетика и программирование

Здесь разумно начать с описания микроядра RiDE. Многие особенности микроядра RiDE.C определяет базовый протокол обмена данными между задачами RiDE.

Русский

2015-02-02

19.5 KB

0 чел.

Микроядро RiDE.C

М.О. Бахтерев

ИММ УрО РАН, Екатеринбург

Ранее была обоснована необходимость разработки распределённой ОС, новизна которой должна заключаться в её интерфейсе для прикладного программирования (API), позволяющим проще и эффективнее задействовать возможности современных распределённых неоднородных вычислительных систем. Основные принципы построения подобной ОС и базовые элементы API уже разработаны,  что позволяет приступить к представлению программных компонентов, призванных составить ОС. Здесь разумно начать с описания микроядра (RiDE.C), так как его организация отражает основные черты ОС.

Распределённые системы (DS) можно строить в рамках традиционных ОС с монолитным ядром (макроядром). Однако при таком подходе усложняется общая структура системы. Ведь, распределённая ОС должна обеспечивать приложениям доступ к ресурсам способом, не зависящим от взаимного расположения приложений и ресурсов на узлах системы. А для достижения этого в архитектурах с макроядром приходится использовать ресурс через транслирующий сервер. Такой сервер при помощи сетевой службы ядра обеспечивает связность с отдалёнными узлами системы: он принимает запросы к ресурсу извне, транслирует (трансляция TQ) их в вызовы службе ядра, поддерживающий ресурс, транслирует результаты вызовов для формирования ответов вовне (TR), и отправляет эти ответы.

Микроядерная же архитектура предполагает организацию управляющих ресурсами служб в виде серверов на уровне пользователя, доступ к которым осуществляется через механизмы межпроцессного взаимодействия (IPC) и стека работающих над IPC протоколов. Традиционно, на этом основании делается вывод о неэффективности подобных архитектур, так как для выполнения запросов приложения требуется переключать контексты задач. Но работа в DS через транслирующий сервер в макроядерной архитектуре тоже требует переключения контекстов, даже тогда, когда ресурс и работающее с ним приложение находятся на одном узле. А необходимость разрабатывать дополнительный протокол и транслировать его (TR, TQ) делает решение с макроядром для распределённой ОС менее эффективным и более громоздким.

Многие особенности микроядра RiDE.C определяет базовый протокол обмена данными между задачами – RiDE.P. Он описывает взаимодействие через области общей памяти, позволяя прозрачно для приложений транслировать акты взаимодействия по сети при помощи агентов, работающих вне микроядра. От микроядра протокол RiDE.P требует поддержки только лишь простого примитива синхронизации – r-ñåìàôîðà (однонаправленный кольцевой, а не со стековым поведением счётчика, point-to-point семафор), операции над которым RiDE.P также  транслирует через агенты (свойство ST).

Опишем некоторые характеристики микроядра RiDE.C в следующем виде.

1. Все выполняемые RiDE.C функции работают по алгоритмам с временной сложность.ю O(1). Даже подсистема работы со временем, алгоритмы для которой в традиционных ОС имеют сложность O(n*n) или O(n*log(n)), n – число используемых программных таймеров.

2. Архитектура разрабатываемой ОС предполагает вынесение функции балансировки нагрузки в процесс уровня пользователя. В RiDE.С планировщик не решает задачу балансировки, так как решать её качественно можно только с учётом особенностей конкретного приложения.

3. Планировщик микроядра RiDE.C разработан для создания хороших условий исполнения как для коротких интерактивных задач (в DS это задачи, управляющие обменами данными), так и для задач с большим временем счета. Оптимизируя работу первых, планировщик отслеживает группы задач, занимающих процессор на долгое время и понижает их уровень интерактивности. Поддерживая выполнение вторых, планировщик программирует таймер, чтобы обеспечивать вычислительным задачам длинные интервалы непрерывной работы. Во многих традиционных ОС оба типа задач прерываются одинаково часто, а пользователь может получить несправедливо много процессорного времени для своего приложения, так как анализируется только индивидуальное поведение составляющих это приложение задач.

4. Лишь два действия с r-ñåìàôîðàìè являются в API RiDE.C системными вызовами. Доступ к остальной функциональности в API определён через протокол над RiDE.P, что вместе со свойством ST позволяет гибко регулировать доступ к микроядру. Стандартными для разрабатываемой ОС могут быть как задачи, работающие с микроядром на отдалённом узле системы, так и задачи, не имеющие контроля над микроядром, работающим на локальном для них процессоре. Такая возможность – важный элемент в предложенной ранее dataflow модели параллельного программирования для неоднородных DS.

5. API микроядра RiDE.C предписывает управлять размещением и настройкой структур данных для микроядра во внешнем менеджере и начинать их использование в самом микроядре после простой регистрации. Такие функции как ?создать задачу? или ?создать r-ñåìàôîð? отсутствуют, так как они требуют работы с памятью на уровне микроядра, приводя к сложностям в системах с памятью виртуальной. Такой подход не снижает общую безопасность системы (менеджер памяти всегда является доверенным компонентом), но позволяет сделать микроядро проще, и, что более важно для больших вычислений, открывает доступ к состояниям задач и связывающих их r-ñåìàôîðîâ с уровня пользователя. В свою очередь, это ведёт к более простой реализации механизмов ортогональной устойчивости: контрольные точки, миграция задач по узлами DS, а также позволяет запускать специализированные под конкретные приложения балансировщики нагрузки на уровне пользователя.

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


 

А также другие работы, которые могут Вас заинтересовать

33324. Налоги ответы к экзамену 123 KB
  Историю налогообложения условно принято делить на 4 этапа: Древний мир 4 тысячелетие до н. в этот период налоги носили бессистемный характер и взымались по мере необходимости как правило в натуральной форме; Средние века с 5 в н э.по 18 в к концу этапа стали формироваться основные принципы налогообложения к концу 18 в налоги становятся важнейшим источником государственной казны...
33325. Состав и структура сетей электросвязи и назначение её элементов 27.15 KB
  Основными компонентами сети электросвязи являются: сетевые узлы и сетевые станции в которых устанавливается каналообразующая аппаратура и осуществляется переключение каналов или групп каналов и сетевых трактов; линии передачи соединяющие между собой сетевые станции или сетевые узлы и оконечные устройства; узлы центры коммутации УК распределяющие сообщения в соответствии с адресом; УК могут быть транзитными оконечными если к ним подключаются ОП и смешанного типа; оконечные пункты ОП обеспечивающие ввод вывод сообщений абонента....
33326. Типы структур сетей электросвязи, их преимущества и недостатки 26.36 KB
  Структура сетей электросвязи Понятие структуры сети раскрывает схему связей и взаимодействия ее элементов. При рассмотрении структуры сети выделяют следующие аспекты её описания: физический определяющий состав и связи элементов и логический отображающий взаимодействие элементов в процессе функционирования сети. Физическая структура сети это схема связей физических элементов сети: узлов коммутации УК оконечных пунктов ОП станций и линий передачи в их взаимном расположении с характеристиками передачи и распределения сообщений....
33327. Первичная сеть электросвязи 104.88 KB
  8 поясняется технологический принцип организации первичной сети. Сетевые станции являются оконечными устройствами первичной сети и предназначены для подключения потребителей к этой сети. Организационный принцип построения первичной сети ВСС РФ показан на Рис.Структура первичной сети Рис.
33328. Вторичные сети электросвязи. Назначение, структура, назначение элементов 29.22 KB
  Вторичные сети электросвязи Каналы первичной сети служат основой для построения вторичных сетей которые различаются по виду передаваемых сообщений служб и услуг. В состав вторичной сети входят: оконечные абонентские установки абонентские линии узлы коммутации данной вторичной сети каналы выделенные из первичной сети для образования данной вторичной сети В зависимости от видаов передаваемых сообщений и способов предоставления услуг связи различают следующие вторичные сети: телефонную телеграфную передачи данных факсимильную передачи...
33329. Службы электросвязи. Назначение, структура, назначение элементов 12.5 KB
  Служба электросвязи СлЭ представляет собой организационнотехническую структуру на базе сети связи или совокупности сетей электросвязи обеспечивающую обслуживание связью пользователей с целью удовлетворения их в определенном наборе услуг электросвязи. В зависимости от принадлежности сети связи подразделяются на: общего пользования составная часть ЕСЭ РФ открытая для пользования всем физическим и юридическим лицам; ведомственные корпоративные сети электросвязи министерств и иных федеральных органов исполнительной власти...
33330. Телематические службы. Назначение, структура, назначение элементов 18.63 KB
  Первая телематическая служба Телетекст появилась в начале 80х годов. Телефакс факсимильная служба общего пользования предназначенная для передачи сообщений между абонентскими факсимильными аппаратами. Факсимильная служба группы 1 осуществляет аналоговую передачу без сжатия данных и передачу факсимильных сообщений по ОАКТС. Факсимильная служба группы 2 имеет ограниченные возможности сжатия данных страница текста передается по ОАКТС за 3 мин.
33331. Структура взаимоувязанной сети связи РФ. Общедоступные и корпоративные сети связи 64.78 KB
  Общедоступные и корпоративные сети связи. Вместе с тем сети общего пользования Министерства связи не справлялись с требуемыми объемами передачи сообщений требуемых для нормального экономического развития страны и поэтому ряд министерств и ведомств стали создавать свои сети для удовлетворения собственных нужд. В 70х годах было принято решение о создании Единой автоматизированной сети связи ЕАСС Союза ССР.
33332. Способы коммутации и их классификация 19.81 KB
  Методы коммутации в сетях электросвязи Для доставки сообщений в сетях электросвязи могут быть установлены соединения двух видов: долговременные и оперативные. Известны два основных принципа оперативной коммутации: а непосредственное соединение; б соединение с накоплением информации. При непосредственном соединении осуществляется физическое соединение входящих в узел коммутации УК каналов с соответствующими адресу исходящими каналами.