WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте
Minix
Разработчик Эндрю Таненбаум
Семейство ОС UNIX-подобная операционная система
Первый выпуск 1987[1]
Последняя версия 3.4.0rc6[2] (9 мая 2017 года)
Поддерживаемые языки английский
Поддерживаемые платформы x86 и ARM
Тип ядра Микроядро
Лицензия BSD[3]
Состояние Актуальное
Репозиторий исходного кода git.minix3.org/?p=minix.…
Веб-сайт minix3.org (англ.)
 Minix на Викискладе

Minix — свободная Unix-подобная микроядерная операционная система, распространяемая по лицензии BSD[4][5]. Эндрю Таненбаум создал первую версию Minix в 1987 в качестве «иллюстрации» учебника «Операционные системы: Разработка и реализация». Среди студентов, изучающих теорию операционных систем по исходникам Minix, наибольшей известности достиг Линус Торвальдс, разработчик Linux[6]. Изначально, целью Minix являлось обучение студентов строению компьютеров и основ операционных систем. Исходные коды Minix совершенно отличны от кодов ОС Linux, но как и Linux, Minix является Unix-подобной операционной системой с аналогичным набором команд.

Исходный код MINIX 3 с переведёнными на русский язык комментариями можно получить на CD вместе с книгой «Операционные системы: разработка и реализация» (Таненбаум Э. С., Вудхалл А. С., 3-е издание опубликовано в России в 2007 году), в которой детально расписано строение ОС на примере Minix.

1 ноября 2008 года Эндрю Таненбаум получил грант в 2,5 млн евро от Европейского исследовательского совета для работы над проектом: «Исследование действительно надёжного и безопасного системного программного обеспечения». Грант позволит продолжить работы по дальнейшему развитию ОС MINIX 3 в течение не менее пяти лет (до ноября 2013 года)[7].

История

Minix 1

Эндрю Таненбаум создал Minix в Амстердамском свободном университете для наглядной демонстрации принципов, описываемых в его книге «Operating Systems: Design and Implementation» (1987). ISBN 0-13-637406-9. Сокращённые 12000 строк исходного кода ядра, подсистемы управления памятью и файловой системы Minix были напечатаны в книге. Minix написан преимущественно на языке программирования C.

В 1987 году Таненбаум относился к Minix только как к учебному пособию. Чтобы оставить код ОС доступным для изучения в течение семестра, Эндрю Таненбаум отвергал предложения усовершенствовать Minix или принять патчи, которые поступали от читателей его учебника. Роль проекта, в котором читатели Таненбаума воплотили своё стремление разрабатывать операционные системы, взял на себя Linux.

Изначально Таненбаум разработал Minix для компьютеров IBM PC и IBM PC/AT, доступных в то время. Minix версии 1.5 был портирован на Motorola 68000, что обеспечило совместимость с популярными платформами Amiga, Atari ST, Apple Macintosh. Кроме того, были сделаны версии для SPARC, National Semiconductor NS32032 и транспьютеров.

Minix 1.5

Minix 1.5 вышел в 1991 году. Включал в себя поддержку для систем MicroChannel IBM PS/2, которые были также портированы для архитектур Motorola 68000 и SPARC, при этом также поддерживая Atari ST, Amiga, Macintosh[8], и SPARCstation[9][10].

Minix 2

Minix 2.0 снова поддерживал только архитектуру x86, и был реализован в 1997 году. Он прилагался ко второй редакции книги Таненбаума, написанной им в соавторстве с Альбертом Вудхаллом (Albert Woodhull). Minix 1 и 2 были средствами обучения[11][12].

Minix 3

Minix версии 3 был анонсирован 24 октября 2005 года Эндрю Таненбаумом во время его речи на конференции по принципам операционных систем, организованном Association for Computing Machinery (ACM Symposium on Operating Systems Principles). Несмотря на то, что Minix всё ещё служит в качестве учебного примера в новой редакции книги Таненбаума и Вудхалла, он был переработан и доведён до годности к использованию в качестве надёжной операционной системы для микроконтроллеров и других встраиваемых систем. Он доступен на LiveCD, с которым можно работать без необходимости установки системы на жёсткий диск, а также в виде, совместимом со многими эмуляторами, такими, как Bochs, QEMU, VMware, VirtualBox и Virtual PC[13].

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

Начиная с версии 3.1.4, Minix поддерживает виртуальную память.

Анонс изменений в релизе 3.1.5[14]:

  • улучшена производительность,
  • добавлена поддержка разделяемой памяти (Shared memory),
  • добавлена функция setitimer,
  • улучшен код обработки сигналов,
  • добавлены порты PostgreSQL, QEMU и Sudo.

Анонс изменений в релизе 3.1.6:

  • Добавлены новые драйверы: Atheros L2, Intel E1000, Realtek 8169, DEC Tulip;
  • Поддержка VirtualPC Network (DEC Tulip);
  • Поддержка PipeFS;
  • Поддержка HGFS — монтирование каталогов VMware как файловой системы;
  • Поддержка FPU;
  • Поддержка System Event Framework (SEF);
  • Экспериментальная поддержка APIC (по умолчанию отключена);
  • Добавлены порты:
    • набор базовых системных утилит из OpenBSD — bsd-utils;
    • интерпретатор Lua 5.1.4;
    • файловый менеджер Midnight Commander;
    • эмулятор QEMU 0.12.2;
    • средства для измерения производительности aim9, lmbench3;
    • tcpdump.

Анонс изменений в релизе 3.1.7:

  • Планирование ресурсов на пользовательском уровне (Userspace scheduling) и поддержка серверов-планировщиков;
  • Корректная поддержка одновременной работы с несколькими Ethernet-картами одного типа;
  • Исправлены ошибки, мешающие запуску Minix под управлением системы виртуализации KVM;
  • Загрузчик теперь может работать с образами, размер которых превышает 16 Мб;
  • Размер корневого раздела увеличен до 64 Мб, скрипт установки изменен с целью корректной работы с корневыми разделами нестандартного размера;
  • В системе сборки появилась поддержка сборки MINIX с использованием GCC (ранее использовался набор компиляторов ACK), ведётся работа по обеспечению поддержки icc, clang и llvm-gcc;
  • Проведена реорганизация и чистка дерева исходных текстов;
  • Добавлены новые порты: Git и GCC 4.4.3;
  • Реализован вторичный уровень кеширования ФС в VM, использующий всю доступную память для минимизации задержки при вводе-выводе;
  • Поддержка кодировок CP-1251 и KOI8-U.

Анонс изменений в релизе 3.2.0:

Релиз 3.3.0 стал поддерживать ARM.

Minix 3.4.0 стал кандидатом на релиз в январе 2016 года[17].

Minix 3 всё ещё имеет сообщество, которое его разрабатывало, и сообщество было встречено на MINIXCon 2016 с 50 человек, чтобы обсудить будущее Minix[18].

Все чипсеты Intel после 2015 года выполняются в MINIX 3 как программный компонент Intel Management Engine[19].

Отношения с Linux

Раннее влияние

Торвальдс использовал и оценил MINIX[20], но дизайн значительно отклонял архитектуру MINIX, в первую очередь, благодаря использованию монолитного ядра вместо микроядра. Мнение было не одобрено Таненбаумом в споре Таненбаума — Торвальдса. Таненбаум объяснил своё обоснование использования микроядра в мае 2006 года[21].

Ранняя разработка ядра Linux была выполнена на хост-системе MINIX, что привело к тому, что Linux включил в себя различные функции из MINIX, такие как поддержка файловой системы MINIX.

Утверждение Кеннета Брауна

В мае 2004 года, Кеннет Браун из Института Алексиса де Токвиля, сделал обвинение в том, что основные части ядра Linux были скопированы из кодовой базы MINIX, объявив это в своей книге «Самиздат»[22]. Эти обвинения были опровергнуты — в первую очередь, Эндрю Таненбаумом, который сильно критиковал Кеннета Брауна, и опубликовал длинное опровержение на своём личном веб-сайте, также указывая на то, что Браун финансировался Microsoft[23][5].

Литература

  • Таненбаум Э., Вудхалл А. Операционные системы: разработка и реализация. 2-е издание. ISBN 5-469-00148-2
  • Таненбаум Э., Вудхалл А. Операционные системы: разработка и реализация. 3-е издание. 2007 год. ISBN 5-469-01403-7

Примечания

Ссылки


Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии