пятница, 8 мая 2015 г.

Alternative OS - Part 2: Begin

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

Начало
Помимо развития классических ветвей ОС (как это отмечалось в первой части), существует ещё рад операционных систем которые нельзя отнести ни к одной из ветвей:

  • ОС имеющие смежные архитектуры - Hurd(Mach).
    Этим ос присуща двойственность архитектуры, а также идеалистический поиск истины.
    По сути это набор компромиссов и костылей в погоне за "идеальной ОС". У некоторых из них в частности у Hurd очень интересна история, однако все в текущем состоянии являются незавершёнными проектами. (сам когда состоял в сообществе разработчиков Hurd/Mach - куча ошибок и мало правок: типичное состояние для проекта оставшегося без лидера).
    Однако для этих ОС справедлива одна важная тенденция - все нововведения которые можно увидеть в их коде, рано или поздно становятся реальными для других типов ОС.
  • ОС имеющие микроядерную (настоящую) архитектуру - L4.
    Эти ос относятся к полугибридным, т.к. имеют не смотря на микроядро часть кода которая пребывает в пространстве ядра. А также непроработанную схему загрузки, которая для настоящего времени является не только устаревшей но и неэффективной с любой точки зрения. Однако с точки зрения надёжности, безопасности и переносимости кода, а также расширяемости структуры это самые хорошо развитые ОС.
  • ОС имеющие гибридную архитектуру - Fiasco.OS, Genode, L4Linux.
    В этих ос часто встречается попытка побороть недостатки двух вышеперечисленных архитектур, совместив так сказать "приятное с полезным" универсальное от классических архитектур и специфичное от новых. В основе своей они за частую представлены микроядерной архитектурой, но внешне имеют стандартный для монолитных и модульных систем API. Из всех веток эта является наиболее развивающейся, т.к. позволяет использовать обычное прикладное ПО, а также драйвера из ядра Linux.
Я умышленно не стал включать в этот обзор ту же Menuet OS (и её производные), т.к. написанное ПО на ассемблере не является портируемым и монолитная архитектура ОС не представляет для меня никакого интереса, хотя я эту ОС устанавливал и даже какое-то время использовал в образовательных целях.

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

Дело в том что большинство текущих архитектур как уже ранее отмечалось имеют "историческое наследие" которое местами не только не помогает, а скорее мешает развитию ОС как в каждом направлении так и в целом. Поэтому всё свободное время посвятил поиску новых решений для построения новой системы. Итогом этого поиска по многочисленным просьбам разных людей и явился цикл статей про альтернативные архитектуры, который вы сейчас читаете.

На этой ноте я заканчиваю введение. В следующей части мы рассмотрим старое ядро Hurd/Mach и его недостатки, также пробежимся по основам микроядерных и гибридных систем.