CITKIT.ru - свободные мысли о свободном софте
Деловая газета CitCity.ru Библиотека CITForum.ru Форумы Курилка
Каталог софта Движение Open Source Дискуссионный клуб Дистрибутивы Окружение Приложения Заметки Разное
06.04.2020

Последние комментарии

ОСТОРОЖНО: ВИНДОФИЛИЯ! (2250)
24 December, 22:53
Kubuntu Feisty (15)
24 December, 18:42
Один на один с Windows XP (3758)
24 December, 11:46

Каталог софта

Desktop
Internet
Internet-серверы
Безопасность
Бизнес/Офис
Игры
Мультимедиа
Наука
Операционные системы
Программирование
СУБД
Создание веб-сайтов
Утилиты

Статьи

Дискуссионный клуб
Linux в школе
Open Source и деньги
Open Source и жизнь
Windows vs Linux
Копирайт
Кто такие анонимусы
Лицензии
Нетбуки
Нужен ли русский Linux?
Пользователи
Дистрибутивы
Идеология
Выбор дистрибутива
Archlinux & CRUX
Debian
Fedora
Gentoo
LFS
LiveCD
Mandriva
OpenSolaris
Slackware
Zenwalk
Другие линуксы
BSD
MINIX
Движение Open Source
История
Классика жанра
Окружение
shell
Библиотеки UI
Графические среды
Шрифты
Приложения
Безопасность
Управление пакетами
Разное
Linuxformat. Колонки Алексея Федорчука
Заметки
Блогометки
Файловые системы
Заметки о ядре

Дистрибутивы :: MINIX

Введение в MINIX 3

Оригинал

www.minix3.ru

Как часто вы перезагружали ваш телевизор в прошедшем году? Вероятно, гораздо меньше, чем ваш компьютер. Конечно же, для этого есть много «резонов», но всё больше и больше пользователей, далёких от техники, не хотят и слышать о них. Они хотят только, чтобы их компьютер всё время прекрасно работал и никогда не отказывал. MINIX 3 является проектом по разработке операционной системы, надёжной, как телевизор, для встраиваемых систем и критических приложений, как, впрочем, и для будущих 50-долларовых однокристальных портативных компьютеров и настольных систем общего применения. Сегодня эта маленькая, простая и надёжная операционная система уже существует. И прошу заметить: это последняя публикация в дискуссии на тему альтернативных ОС.

Исторический экскурс

MINIX 3 имеет ясное будущее, но несколько затушёванное прошлое. Первая версия, MINIX 1, была создана в 1987 году и была первым клоном UNIX с полностью открытым исходным кодом. Она разрабатывалась быстро и скоро обрела свою собственную группу USENET (comp.os.minix) с 40'000 подписчиков в течение 3 месяцев – это большая цифра для времени, когда Интернет был доступен только исследователям из университетов и студентам. Одним из первых приверженцев MINIX был финский студент по имени Линус Торвальдс, который пошёл и купил ПК специально для того, чтобы запустить MINIX, очень тщательно изучил её и затем, вдохновлённый MINIX, решил написать свою собственную операционную систему. Хотя Линус и знал MINIX очень хорошо, он не заимствовал из неё какой-либо код, как приписывают ему некоторые. Система Линуса выросла в современную операционную систему Linux. Автор MINIX, Эндрю Таненбаум (Andrew Tanenbaum, и Торвальдс провели несколько красивых публичных дискуссий по устройству операционных систем, первую из них в 1992 году, а самую последнюю – в 2006 году (см. перевод - прим. CITKIT.ru).

Возрождение

Хотя MINIX была (и остаётся по-прежнему) широко используемым инструментом для курсов по изучению операционных систем в университетах, она получила новый импульс в 2005 году, когда Таненбаум собрал новую команду разработчиков для полной переделки её в сверхнадёжную систему. Хотя MINIX 3 и имеет общие исторические корни с MINIX 1 и MINIX 2 (реализованной в 1997 году как POSIX-совместимая ОС), но это фактически новая система (ситуация аналогична тому, как соотносятся Windows XP и Windows 3.1).

Различные исследования показывают, что программное обеспечение в общем случае содержит порядка 6÷16 ошибок на 1000 строк кода и что драйверы устройств имеют в 3÷7 раз больше ошибок, чем вся остальная операционная система. Если добавить ещё тот факт, что 70% типовой операционной системы состоит из драйверов устройств, то становится ясно, что драйверы устройств являются самым большим источником ошибок. Для Windows XP, например, 85% сбоев происходят из-за ошибок в драйверах устройств. Очевидно, для того, чтобы сделать ОС надёжной, нужно что-то сделать с этими «вредоносными» драйверами устройств. Построение системы, надёжной, несмотря на неизбежное существование ошибок в драйверах, и было главной причиной появления MINIX 3.

Конструкция

Подход, используемый в MINIX 3 для достижения высокой надёжности, основан на изоляции ошибок. В частности, в отличие от традиционных ОС, где весь код объединён в единую огромную исполняемую программу, работающую в режиме ядра, в MINIX 3 в режиме ядра работает только крошечная часть кода – всего около 4'000 строк кода. Этот код обслуживает прерывания, диспетчеризацию процессов и межпроцессное взаимодействие (interprocess communication - IPC). Оставшаяся часть операционной системы работает как набор процессов в пространстве пользователя, причём каждый из них защищён аппаратно диспетчером памяти (MMU) и ни один из них не имеет привилегий суперпользователя. Один из этих процессов, наречённый сервером реинкарнации, хранит таблицы всех остальных процессов, и когда один из этих процессов начинает работать некорректно или отказывает, сервер реинкарнации автоматически заменяет его новой копией. Поскольку многие ошибки нестабильны и возникают неожиданно, в большинстве случаев перезапуск отказавшего компонента решает проблему и позволяет системе восстановить себя без перезагрузки и без того, чтобы пользователь вообще заметил это. Это свойство называется «самовосстановление» (или «самолечение» - кому что больше нравится – прим. переводчика) и оно отсутствует в традиционных системах.

Структура MINIX 3 показана на Рис. 1. Она спроектирована как многоуровневая конструкция. Внизу находится микроядро, работающее в режиме ядра и состоящее приблизительно из 3'000 строк кода на С и 800 строк кода на ассемблере. Выше него находится уровень драйверов устройств, причём каждый драйвер является отдельным процессом в пространстве пользователя для облегчения его замены в случае, если он откажет. Затем идут серверы, которые составляют ядро операционной системы. Они включают сервер реинкарнации, упомянутый выше, файловый сервер, диспетчер процессов и др., включая Х сервер, хранилище данных (data store) и множество прочих. И, наконец, сверху расположены процессы пользователя. Хотя изнутри MINIX 3 совершенно не похожа на остальные UNIX-образные системы, она поддерживает стандартный POSIX-интерфейс приложений, так что обычное ПО для UNIX может быть довольно легко в неё портировано.


Рис. 1. Архитектура MINIX 3

Компоненты взаимодействуют между собой посылкой сообщений фиксированной длины. Например, процесс пользователя запрашивает файл, посылая сообщение файловому серверу, который в свою очередь, проверяет свой кэш и, если необходимый блок отсутствует, посылает сообщение процессу дискового драйвера начать получение блока. И хотя посылка сообщения добавляет немного дополнительного времени к длительности процесса обмена (около 500 нс на 3 ГГц Pentium 4), система остаётся вполне быстродействующей. Например, полная сборка системы, требующая более 120 компиляций, укладывается в 10 секунд.

Точка зрения пользователя

С пользовательской точки зрения MINIX 3 выглядит, как UNIX, но не такой раздутый. Она содержит X Window System и более 400 стандартных программ UNIX, включая:

  • Командные процессоры (shells): ash, bash, pdksh, rsh

  • Редакторы: emacs, nvi, vim, elvis, elle, mined, sed, ed, ex

  • Языки программирования (language tools): cc, gcc, g++, bison, flex, perl, python, yacc

  • Средства программирования (programming tools): cdiff, make, patch, tar, touch

  • Сетевые средства (networking): ssh, telnet, ftp, lynx, mail, rlogin, wget, pine

  • Файловые утилиты: cat, cp, bzip2, compress, mv, dd, uue, GNU utilities

  • Текстовые утилиты: grep, head, paste, prep, sort, spell, tail

  • Администрирование: adduser, cron, fdisk, mknod, mount, cvs, rcs

  • Игры: dungeon, nethack

В настоящее время пользовательским интерфейсом является только Х, но со временем может быть добавлен и графический пользовательский интерфейс (GUI), если подходящий лёгкий GUI найдётся. По этой ссылке можно посмотреть скриншоты.

Доступность

MINIX 3 является программным обеспечением с открытыми исходными кодами, распространяющимся под лицензией BSD. Она имеет свой собственный Интернет-сайт (http://www.minix3.org), с которого может быть скачан загружаемый образ CD-ROM, содержащий все исходники и исполняемые файлы (всё это читатели могут также найти и на сайте русскоязычной группы разработчиков ОС MINIX 3 - http://www.minix3.ru – прим. переводчика). Для её установки просто загрузите CD-ROM, войдите как root и наберите setup. Установка займёт около 10 минут. После установки системы с CD-ROM или с Интернет-сайта простым набором: packman с последующим выбором может быть загружено большое количество пакетов. В настоящее время MINIX 3 работает на платформе х86, но работа над портами на PowerPC и Xscale уже идёт. Она также прекрасно работает на виртуальных машинах, таких, как VMware и Xen.

С тех пор, как MINIX 3 была публично анонсирована в начале 2005 года, на Интернет-сайт наведалось более 300'000 различных посетителей, а образ CD-ROM был скачан 75'000 раз. В настоящее время на сайт заглядывают более 1'000 посетителей в день. Существует также активная тематическая конференция на Google USENET, comp.os.minix, где люди задают вопросы и получают ответы, сообщают о новом ПО и обсуждают MINIX 3. MINIX 3 является результатом коллективной работы и ваша помощь будет только приветствоваться. Возьмите систему, поэкспериментируйте с ней и шагните в будущее.

сентябрь 2006




Комментарии

Страницы комментариев: предыдущая :: 1 :: 2

аноним, Tue Apr 28 23:11:58 2009:
Зачем вам minix? Debian рулит!!!
аноним, Tue Apr 28 23:11:13 2009:
Народ, а че вы паритесь. Debian в зубы и вперед.
Вы хоть читали его требования к железу?
И сколько софта есть для lenny?
аноним, Tue Dec 25 20:24:43 2007:
Интересно...
Есть старый пень-1 166, надо попробовать. Если получится запустить под этой системой выход в инет, то можно совсем забыть про вирусы...
третий аноним, Tue Apr 3 08:30:25 2007:
для Fiast, если вы по следующей ссылке http://www.minix3.org, то сможете обнаружить что минимальными системными требованиями для minix3, являются:
PC driven by a 386, 486, or Pentium CPU or compatible. The standard configuration requires 16 MB of RAM.
Следовательно ваш Cyrix 200 MHz, должен заработать с системой без проблем.
Fiast, Tue Mar 20 07:33:53 2007:
А на Cyrix 200Мегагерцовом MINIX может работать?
alv, Sat Feb 24 18:47:40 2007:
2 arseny
если Вы внимательно прочитаете соответствующую часть книжки Линуса, то поймете, что он отформатировал винт из-за собственного раздолбайства
Причем здесь стабильность?
arseny, Sat Feb 24 14:50:55 2007:
Торвальдс разработал Linux из=за страшной нестабильности Minix 2, такой, что она при попытке дозвониться до модема Торвальдса отформатировала ему винт. Где гарантии, что третий релиз стабилен?
другой аноним, Tue Feb 6 23:08:31 2007:
Да. Но пробовать еще рановато
аноним, Mon Feb 5 16:50:06 2007:
очень интересно

Страницы комментариев: предыдущая :: 1 :: 2

Комментарии заморожены.

Новости:

Все новости на CitCity.ru

Компании месяца

 
Последние комментарии
Почему школам следует использовать только свободные программы (101)
20 Декабрь, 14:51
ОСТОРОЖНО: ВИНДОФИЛИЯ! (2250)

24 Декабрь, 22:53
Linux в школе: мифы про школу и информатику (334)
24 Декабрь, 22:43
Kubuntu Feisty (15)
24 Декабрь, 18:42
Software is like sex: it's better when it's free.
©Linus Torvalds