Библиотека

Магистр ДонНТУ Морозов Дмитрий Сергеевич

Тема выпускной работы: Система моделирования технологической схемы производства и организации работы с документами

Научный руководитель: доцент кафедры компьютерной инженерии, кандидат технических наук Теплинский Сергей Васильевич



Статья публикации 1

ОСНОВНЫЕ ОСОБЕННОСТИ И ПЕРСПЕКТИВЫ РАЗВИТИЯ КОМПОНЕНТНОЙ ОС НА БАЗЕ УПРАВЛЯЕМОГО КОДА

УДК 004.4

Морозов Д.С., Теплинский С.В., ДонНТУ, Донецк


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

Midori — ответвление от проекта Microsoft Research под названием Singularity, библиотеки и инструменты которой созданы на полностью управляемом коде. Midori разработана, чтобы запускаться как основная ОС (на x86, x64 и ARM процессорах) в гипервизоре Hyper-V или даже как процесс Windows [1].

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

Документация Midori предсказывает появление приложений, которые будут работать в разнообразных топологиях: от топологий клиент-сервер и звезда и до p2p-сетей и cloud-центрах обработки данных. Такие топологии представляют из себя разнородные сети, где одинаковые возможности могут быть использованы в разных местах.

Чтобы эффективно распространять приложения между узлами, в Midori будет представлена модель высокоуровневых приложений, которые абстрагируются от деталей физических компьютеров и даже процессоров. Использование данной модели, известной как Asynchronous Promise Architecture, будет возможно как для распределенных, так и локальных параллельных слоев.

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

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

Программная модель Midori будет плотно связана с управлением состоянием, что является проблемой Windows, благодаря переходу API, приложений и разработчиков на принудительную модель.

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

Программная модель Midori будет особенно полезна для сервисно-ориентированных архитектур, что позволит реализовать разложение приложений на службы, которые могут быть распределены между разными ярусами.

«Это позволит легко переориентировать современные инструменты разработки, то-гда как большая часть сложностей будет спрятана от использующего данный инструмент разработчика. Мы считаем, что декларативное программирование заменит императивное программирование на уровне ОС» [2].

Документация Midori показывает, что предложенная ОС будет иметь неблокируемую объектно-ориентированную структуру API. Это будет основой постоянства объекта после того, как он будет создан.

Приложения для Midori должны будут создаваться на языках семейства .NET, которые будут компилироваться во внутренний код процессора с помощью компилятора Bartok и системы поддержки исполнения программ, которая в данный момент существует как проект Microsoft Search. Компилятор Bartok может проверять соответствия типов кодов машинных программ в поисках ошибок программирования благодаря тому, что он использует промежуточный тип языка программирования. Использование языков семейства .NET в Midori позволит создать новую и более безопасную модель программирования с высокоуровневым обоснованием. Еще одним преимуществом использования языков .NET является перераспределение нагрузок. «Совсем маленький компилятор или среда исполнения смогут переместить расчеты на графический процессор или распределить их между ядрами» [2].

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

Для Midori в Microsoft планируют (в отличие от Windows), использовать компонен-тизацию с самого начала, чтобы достичь большей производительности и безопасности. Midori будет иметь очень серьезную изоляцию границ и принудительные связи между компонентами, чтобы гарантировать, что обслуживание одного компонента не станет причиной сбоя другого.

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

ОС будет иметь один планировщик рабочей среды для всех типов устройств, из-вестный внутри компании как Resource Management Infrastructure (RMI). RMI будет иметь возможности по расчету ресурсов, квот и управлению; ресурсы, мониторинг которых будет проводиться, включают в себя полосу пропусканию IO, память, питание и время отклика.

Планирование как процесс, который позволяет множеству процессов работать в процессоре одновременно, будет является частью Midori на уровне пользовательских при-ложений, причем как для настольных, так и для распределенных cloud-приложений. Рас-пределенное планирование в Midori сможет поддерживать миграцию активной задачи, которую выполняют нынешние гипервизоры.

«В случае такого сценария Midori не является заменой Windows, а представляет со-бой хаб для нового типа распределенной системы, которая будет соединяться с Windows до тех пор, пока она не станет лишним компонентом». [1]


Использованная литература:

  1. Mary-Jo Foley (2008-06-30). "Goodbye, XP. Hello, Midori".
  2. Marius Oiaga (2008-06-30). "Life After Windows - Microsoft Midori Operating System".