Minix — различия между версиями

Материал из SEWiki
Перейти к: навигация, поиск
(Ссылки)
(Сборка ОС Minix)
Строка 27: Строка 27:
 
== Сборка ОС Minix ==
 
== Сборка ОС Minix ==
  
 +
Не смотря на то, что наиболее простой (а по тому рекомендуемый) путь установки Minix это скачивание заранее подготовленного образа с официального сайта (а далее обновить мир и ядро для получения наиболее свежих обновлений), разработчики предоставляют возможность собрать систему самостоятельно, используя для этого различные компиляторы различных систем (Linux, BSD, ...). Для этого разработчиками предоставлен makefile верхнего уровня (т.е. нет необходимости перемещаться по разным папкам и собирать по отдельности различные части - всё делается из корня папки проекта), генерация всех зависимостей на лету (т.е. нет необходимости для указания отдельных целей depends) и даже кросс-инсталляция (пока что в экспериментальном режиме).
 +
 +
Далее подробнейшим образом будет рассмотрен процесс сборки Minix по шагам.
 +
 +
[[Файл:001.png|Консоль Debian Linux]]
 +
Работа производится на Debian (ядро 2.6.32).
 +
[[Файл:002.png|Установка Subversion]]
 +
Для начала, необходимо наличие [[Subversion]] клиента.
 +
Subversion является системой хранения исходного кода, и управления различным версиями этого кода.
 +
[[Файл:003.png|Изменение текущей директории]]
 +
Теперь переходим в папку проекта.
 +
[[Файл:004.png|svn checkout]]
 +
И получаем ревизию, которую можно собирать с использованием gcc:
 +
svn checkout https://gforge.cs.vu.nl/svn/minix/branches/src.r4508.buildsystem --username anonymous
 +
[[Файл:005.png|Анонимная авторизация на SVN сервере]]
 +
Для начала система спросит принимать или не принимать сертификат безопасности. Для однократного принятия нужно нажать t.
 +
Поле пароля можно оставить пустым. И на вопрос о сохранении пароля можно ответить no.
 +
[[Файл:006.png|Check out последней ревизии]]
 +
На момент написания, последняя ревизия 9636
 +
[[Файл:007.png|Установка bison и flex]]
 +
Для дальнейшей работы необходимо установить yacc (для Debian и Ubuntuон входит в пакет bison) и flex.
 +
yacc (Yet Another Compiler Compiler) генерирует парсер на основе аналитической грамматики. Поскольку парсер, генерируемый с помощью yacc, требует использования лексического анализатора, то часто он используется совместно с генератором лексических анализаторов, в данном случае это flex.
 +
apt-get install bison flex – установка bison и flex
 +
[[Файл:008.png|Начало сборки Minix]]
 +
Переходим в папку со свежжевыкаченной ревизией, и командой make all запускаем сборку.
 +
На этом шаге можно было бы использовать возможности кросс- инсталляции командой
 +
CI_HOST=my.minix.machine make cross-install
 +
В этом случае все драйвера, сервисы и загрузочный образ копируется на хост my.minix.machine
 +
[[Файл:009.png|Завершение сборки Minix]]
 +
На выходе получаем файл image.aout
 +
В документации сказано «Copy the resulting image.aout to the /boot/image directory of your Minix installation» и система заработает. Можно на основании этого файла создать iso образ, с которого можно устанавливать систему.
  
 
== Установка ОС Minix ==
 
== Установка ОС Minix ==

Версия 01:26, 2 октября 2011

Операционная система Minix

Логотип Minix3

Minix 3 - является операционной системой с открытыми исходным кодом, основными задачами разработки которой является обеспечение надежности, гибкости и безопасности.

В отличии от предыдущих версий (Minix 1 и Minix 2), которые создавались с целью демонстрации основных принципов построения операционных систем, целью Minix 3 является полноценное функционирование приложений в условиях ограниченности технических ресурсов (микроконтроллеры, встраиваемые системы и прочие компьютеры, поддерживающие x86 архитектуру). Добиться поставленной цели удаётся за счёт снижения размеров самой операционной системы и повышения требований к надёжности: части системы, работающие в пользовательском режиме, поделены на модули и полностью изолированы друг от друга.

Для примера, все драйвера устройства выполняется как отдельный процесс пользовательского режима. Таким образом, ошибка драйвера не приведёт к краху системы, как это часто бывает в различных версиях Windows - в Minix потерпевший крах драйвер будет автоматически перезапущен (без вмешательства пользователя, без перезагрузки, и без затрагивания уже запущенных процессов). Всё это, в совокупности с микроядерной архитектурой (которой особенно гордятся разработчики) действительно ощутимо повышают надёжность этой операционной системы.

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

Тем не менее, Minix продолжает развиваться. Так, на пример, в версии 3.1.4 появилась поддержка виртуальной памяти; в версии 3.1.5 появилась разделяемая память и была портирована СУБД PostgreSQL; в версии 3.1.6 было добавлено множество драйверов (именно отсутствие достаточного количества драйверов является на данный момент основной проблемной Minix) и различных средств измерения производительности, таких как tcpdump...

Основные особенности ОС Minix

  • Полная POSIX совместимость
  • Поддержка TCP/IP
  • Графическая система (Window System, jwm, ede)
  • Компиляторы для различных языков программирования (cc, gcc, g++, perl, python, etc.)
  • Более 650 UNIX программ
  • Полноценная многопользовательская система с многозадачностью
  • Драйвера устройств работают в пользовательском пространстве
  • Низкие требования к аппаратному обеспечению
  • Исходные коды на C

Сборка ОС Minix

Не смотря на то, что наиболее простой (а по тому рекомендуемый) путь установки Minix это скачивание заранее подготовленного образа с официального сайта (а далее обновить мир и ядро для получения наиболее свежих обновлений), разработчики предоставляют возможность собрать систему самостоятельно, используя для этого различные компиляторы различных систем (Linux, BSD, ...). Для этого разработчиками предоставлен makefile верхнего уровня (т.е. нет необходимости перемещаться по разным папкам и собирать по отдельности различные части - всё делается из корня папки проекта), генерация всех зависимостей на лету (т.е. нет необходимости для указания отдельных целей depends) и даже кросс-инсталляция (пока что в экспериментальном режиме).

Далее подробнейшим образом будет рассмотрен процесс сборки Minix по шагам.

Консоль Debian Linux Работа производится на Debian (ядро 2.6.32). Установка Subversion Для начала, необходимо наличие Subversion клиента. Subversion является системой хранения исходного кода, и управления различным версиями этого кода. Изменение текущей директории Теперь переходим в папку проекта. svn checkout И получаем ревизию, которую можно собирать с использованием gcc: svn checkout https://gforge.cs.vu.nl/svn/minix/branches/src.r4508.buildsystem --username anonymous Анонимная авторизация на SVN сервере Для начала система спросит принимать или не принимать сертификат безопасности. Для однократного принятия нужно нажать t. Поле пароля можно оставить пустым. И на вопрос о сохранении пароля можно ответить no. Check out последней ревизии На момент написания, последняя ревизия 9636 Установка bison и flex Для дальнейшей работы необходимо установить yacc (для Debian и Ubuntuон входит в пакет bison) и flex. yacc (Yet Another Compiler Compiler) генерирует парсер на основе аналитической грамматики. Поскольку парсер, генерируемый с помощью yacc, требует использования лексического анализатора, то часто он используется совместно с генератором лексических анализаторов, в данном случае это flex. apt-get install bison flex – установка bison и flex Начало сборки Minix Переходим в папку со свежжевыкаченной ревизией, и командой make all запускаем сборку. На этом шаге можно было бы использовать возможности кросс- инсталляции командой CI_HOST=my.minix.machine make cross-install В этом случае все драйвера, сервисы и загрузочный образ копируется на хост my.minix.machine Завершение сборки Minix На выходе получаем файл image.aout В документации сказано «Copy the resulting image.aout to the /boot/image directory of your Minix installation» и система заработает. Можно на основании этого файла создать iso образ, с которого можно устанавливать систему.

Установка ОС Minix

Ссылки