Loading AI tools
Unix-подобная операционная система Из Википедии, свободной энциклопедии
MINIX — свободная Unix-подобная микро-ядерная операционная система (ОС), популяризированная под лицензии BSD[6][7], написанная на языке Си и ассемблер. Эндрю Таненбаум создал первую версию MINIX в 1987 в качестве «иллюстрации» к своему учебнику «Операционные системы: Разработка и реализация[англ.]». Среди студентов, изучающих теорию операционных систем по исходникам MINIX, наибольшей известности достиг Линус Торвальдс, разработчик ядра Linux[8].
Minix | |
---|---|
Разработчик | Эндрю Таненбаум |
Семейство ОС | Unix-подобная операционная система |
Первый выпуск | 1987[1] |
Последняя версия |
|
Поддерживаемые языки | английский |
Поддерживаемые платформы | X86 и ARM |
Тип ядра | Микроядро |
Лицензия | модифицированная лицензия BSD[вд][4][5][…] |
Репозиторий исходного кода | git.minix3.org |
Веб-сайт | minix3.org (англ.) |
Медиафайлы на Викискладе |
Первоначально целью MINIX было обучение студентов конструированию компьютеров и созданию операционной системы, исходные коды которой MINIX полностью отличаются от кодов операционной системы Linux, но, как и Linux, MINIX представляет собой Unix-подобную операционную систему с аналоговыми командами.
Исходный код MINIX 3 с переведёнными на русский язык комментариями можно было получить на CD вместе с книгой «Операционные системы: разработка и реализация», в которой детально расписано строение ОС на примере MINIX.
1 ноября 2008 года Эндрю Таненбаум получил грант в 2,5 млн евро от Европейского исследовательского совета для работы над проектом «Исследование действительно надёжного и безопасного системного программного обеспечения». Грант позволит продолжить работы по дальнейшему развитию ОС MINIX 3 в течение не менее пяти лет (до ноября 2013 года)[9].
Эндрю Таненбаум создал MINIX в Амстердамском свободном университете для наглядной демонстрации принципов, описываемых в своей книге «Операционные системы: Разработка и реализация» (1987). Сокращённые 12000 строк исходного кода ядра, подсистемы управления памятью и файловой системы MINIX были напечатаны в самой книге.
В 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 вышел в 1991 году. Включал в себя поддержку для систем MicroChannel IBM PS/2, которые были также перенесены для архитектур Motorola 68000 и SPARC, при этом также поддерживая Atari ST, Amiga, Macintosh[10] и SPARCstation[11][12].
MINIX 2.0 снова поддерживал только архитектуру x86 и был реализован в 1997 году. Он прилагался ко второй редакции книги Таненбаума, написанной им в соавторстве с Альбертом Вудхаллом (англ. Albert Woodhull). MINIX 1 и 2 были средствами обучения[13][14].
MINIX версии 3 был анонсирован 24 октября 2005 года Таненбаумом во время его речи на конференции по принципам операционных систем, организованном Association for Computing Machinery (ACM Symposium on Operating Systems Principles). Несмотря на то, что MINIX всё ещё служит в качестве учебного примера в новой редакции книги Таненбаума и Вудхалла, он был переработан и доведён до годности к использованию в качестве надёжной операционной системы для микроконтроллеров и других встраиваемых систем. Он доступен на LiveCD, с которым можно работать без необходимости установки системы на жёсткий диск, а также в виде, совместимом со многими эмуляторами, такими, как Bochs, QEMU, VMware, VirtualBox и Virtual PC[15].
Версия этой операционной системы является компактной. Части, которые работают в пользовательском режиме, разделены на небольшие модули и хорошо изолированы друг от друга. Например, каждый драйвер устройства выполняется как отдельный процесс пользовательского режима, и ошибка в драйвере (безусловно, источник большинства ошибок в любой операционной системе) не может полностью нарушить работу системы в целом. В MINIX, когда драйвер терпит крах, он автоматически перезапускается, не требуя пользовательского вмешательства, перезагрузки, и не затрагивая выполняющихся программ. Перечисленные особенности, микро-ядерная архитектура и другие аспекты значительно повышают надёжность этой операционной системы.
Начиная с версии 3.1.4, MINIX поддерживает виртуальную память.
Анонс изменений в релизе 3.1.5[16]:
Анонс изменений в релизе 3.1.6:
Анонс изменений в релизе 3.1.7:
Анонс изменений в релизе 3.2.0:
Торвальдс использовал и оценил MINIX, а также был знаком с книгой Таненбаума[22], однако при реализации архитектуры ядра Linux решил не использовать архитектуру MINIX, применив архитектуру монолитного ядра вместо архитектуры микроядра. Данное решение Торвальдса было не одобрено Таненбаумом и вылилось в спор Таненбаума — Торвальдса. Таненбаум представил свои аргументы в пользу использования архитектуры микроядра в мае 2006 года[23].
Ранняя разработка ядра Linux была выполнена на хост-системе MINIX, что привело к тому, что Linux включил в себя различные функции из MINIX, такие как поддержка файловой системы MINIX.
В мае 2004 года Кеннет Браун из Института Алексиса де Токвиля[англ.] выдвинул обвинение в том, что основные части ядра Linux были скопированы из кодовой базы MINIX, объявив это в своей книге «Самиздат»[24]. Эти обвинения были опровергнуты — в первую очередь, Эндрю Таненбаумом, который сильно критиковал Кеннета Брауна и опубликовал длинное опровержение на своём личном веб-сайте, также указывая на то, что Браун финансировался Microsoft’ом[25][7].
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.