Профессор Амстердамского университета Эндрю Таненбаум продолжает работу над операционной системой Minix, спроектированной с упором на максимальную надёжность и устойчивость работы. Недавно он опубликовал в открытом доступе Minix 3.3.0 (страница скачивания). Первая версия этой ОС вышла в 1987 году как сопроводительный материал для учебника по системному программированию. Исходные коды Minix стали учебным материалом для финского юноши Линуса Торвальдса, который написал своё собственное ядро ОС, используя полученные знания.

Minix — свободная микроядерная операционная система для Unix-компьютеров, распространяемая по лицензии BSD, написана преимущественно на языке программирования C. Автор долгое время относился к проекту исключительно как к учебному, отвергая патчи, присылаемые сторонними разработчиками. Впрочем, вскоре все желающие поучаствовали в параллельном проекте Linux.

В 2008 году Европейский исследовательский совет выделил профессору Таненбауму грант €2,5 млн на разработку надёжной свободной операционной системы. Он и его команда занимаются этим до сих пор. До последнего времени Minix можно было получить только на компакт-диске с книгой Таненбаума, но теперь код полностью опубликован в свободном доступе в версиях для x86 и ARM Cortex A8, вместе с инструментами по сборке и всей необходимой информацией для установки Minix.

002

Версия Minix 3.3.0 стала первой, в которой реализована поддержка ARM. Особенно тщательно проработана поддержка плат Beagle, три модели таких плат можно купить в интернет-магазинах по цене от $45. Это, в каком-то роде, альтернатива Raspberry Pi.

Minix основана на крошечном ядре (12 700 строк), оно обрабатывает прерывания и вызовы и является единственным кодом, работающим в kernel mode. Остальные части ОС запускаются в изолированных, защищённых процессах в user-mode. Каждый драйвер устройства изолирован, так что при неполадках какого-то драйвера вся система не зависнет, а перезагрузит драйвер, продолжая нормально функционировать. То есть остальные процессы даже не заметят зависания драйвера. С ходу можно предложить использовать Minix в беспилотниках, роботах и устройствах, которые должны непрерывно и бесперебойно работать.

В примечаниях к выпуску Minix 3.3.0 упоминается об экспериментальной поддержке USB на платах Beagle, кросскомпиляции сборок x86 и ARM, более полной поддержке пакетов NetBSD, новом драйвере VND (vnode disk), компиляции в LLVM. Инструменты для компиляции лежат здесь.

1 комментарий

  1. 13.05.2015 at 04:21

    Интересная система.

Оставить мнение