stringtranslate.com

Миникс

MINIX (от mini- Unix ) — Unix-подобная операционная система , основанная на микроядерной архитектуре . Начиная с версии 2.0 она совместима с POSIX . [10] [11]

Ранние версии MINIX были созданы Эндрю С. Таненбаумом для образовательных целей. Начиная с MINIX 3 , основная цель разработки сместилась с образования на создание высоконадежной и самовосстанавливающейся микроядерной ОС. MINIX 3 разрабатывалась как программное обеспечение с открытым исходным кодом .

MINIX был впервые выпущен в 1987 году, и его полный исходный код был предоставлен университетам для изучения на курсах и исследований. Он стал бесплатным и открытым программным обеспечением с тех пор, как был перелицензирован под лицензией BSD 3-Clause в апреле 2000 года. [6]

Выполнение

МИНИКС 1.0

Эндрю С. Таненбаум создал MINIX в Свободном университете в Амстердаме, чтобы проиллюстрировать принципы, изложенные в его учебнике « Операционные системы: проектирование и реализация» (1987). (Несмотря на общее название, он не имеет никакого отношения к более старой системе MINIX от Digital Systems House, Inc. [12], основанной на коде Unix компании AT&T .)

Сокращенные 12 010 строк исходного кода ядра MINIX 1.0 на языке C , менеджера памяти и файловой системы MINIX 1.0 напечатаны в книге. Prentice-Hall также выпустил исходный код MINIX и двоичные файлы на дискете со справочным руководством. MINIX 1 был совместим по системным вызовам с седьмым изданием Unix . [13]

Первоначально Таненбаум разработал MINIX для совместимости с микрокомпьютерами IBM PC и IBM PC/AT 8088 , доступными в то время.

МИНИКС 1.5

MINIX 1.5, выпущенный в 1991 году, включал поддержку систем MicroChannel IBM PS/2 и был также портирован на архитектуры Motorola 68000 и SPARC , поддерживая платформы Atari ST , Amiga , Macintosh , [14] и Sun SPARCstation . Были также неофициальные порты на совместимые с ПК Intel 38632-битном защищенном режиме ), National Semiconductor NS32532 , ARM и транспьютерные процессоры Inmos . Meiko Scientific использовала раннюю версию MINIX в качестве основы для операционной системы MeikOS для своих параллельных компьютеров Computing Surface на основе транспьютера .

МИНИКС 2.0

Запуск системы MINIX 2.0.4 и приглашение к входу в систему
Взаимодействие оболочки MINIX 2.0.4

Однако спрос на 68k-архитектуру пошел на убыль, и MINIX 2.0, выпущенный в 1997 году, был доступен только для архитектур SPARC x86 и Solaris . Это было предметом второго издания учебника Таненбаума, написанного совместно с Альбертом Вудхаллом и распространявшегося на CD-ROM , включенном в книгу. MINIX 2.0 добавил соответствие POSIX .1, поддержку процессоров 386 и более поздних в 32-битном режиме и заменил сетевые протоколы Amoeba , включенные в MINIX 1.5, на стек TCP/IP . Также была доступна версия MINIX, работающая как пользовательский процесс под SunOS и Solaris , симулятор под названием SMX (операционная система) или просто SMX для краткости. [15] [16]

Версия 2.0.3 была выпущена в мае 2001 года. Это была первая версия после того, как MINIX была перелицензирована в соответствии с лицензией BSD-3-Clause , которая имела обратную силу для всех предыдущих версий. [17]

Minix-vmd

Minix-vmd — это вариант MINIX 2.0 для процессоров, совместимых с Intel IA-32 , созданный двумя исследователями из Свободного университета, который добавляет виртуальную память и поддержку X Window System .

МИНИКС 3

MINIX 3.2 запускает команду мониторинга системы " top "
MINIX 3 под управлением X11 с оконным менеджером twm

MINIX 3 был публично анонсирован 24 октября 2005 года Таненбаумом во время его вступительного выступления на симпозиуме Ассоциации вычислительной техники (ACM) по принципам операционных систем (SOSP). Хотя он по-прежнему служит примером для нового издания учебника Таненбаума, соавтором которого является Альберт С. Вудхалл, он был полностью переработан, чтобы быть «пригодным для использования в качестве серьезной системы на компьютерах с ограниченными ресурсами и встроенных компьютерах, а также для приложений, требующих высокой надежности». [18]

В настоящее время MINIX 3 поддерживает системы архитектуры IA-32 и ARM . Он доступен в формате live CD , что позволяет использовать его на компьютере без установки на жесткий диск, а также в версиях, совместимых с системами аппаратной эмуляции и виртуализации, включая Bochs , QEMU , VMware Workstation и Fusion , VirtualBox и Microsoft Virtual PC .

Версия 3.1.2 была выпущена 18 апреля 2006 года. Это была первая версия после того, как MINIX была перелицензирована в соответствии с лицензией BSD-3-Clause с новым четвертым пунктом. [19]

Версия 3.1.5 была выпущена 5 ноября 2009 года. Она содержит X11 , emacs , vi , cc , gcc , perl , python , ash , bash , zsh , ftp , ssh , telnet , pine и более 400 других распространенных служебных программ Unix . С добавлением X11 эта версия знаменует собой переход от текстовой системы. Во многих случаях она может автоматически перезапускать сбойный драйвер, не влияя на работающие процессы. Таким образом, MINIX является самовосстанавливающейся и может использоваться в приложениях, требующих высокой надежности. MINIX 3 также поддерживает управление виртуальной памятью , что делает ее пригодной для использования в настольных ОС. [20] Однако настольные приложения, такие как Firefox и OpenOffice.org, пока не доступны для MINIX 3.

Начиная с версии 3.2.0, пользовательское пространство было в основном заменено пространством NetBSD , и поддержка pkgsrc стала возможной, что увеличило количество доступных программных приложений, которые может использовать MINIX. Clang заменил предыдущий компилятор ( теперь GCC нужно было компилировать вручную), а GDB , отладчик GNU, был перенесен. [21] [22]

MINIX 3.3.0, выпущенный в сентябре 2014 года, обеспечил поддержку ARM.

MINIX 3.4.0RC, релиз-кандидаты стали доступны в январе 2016 года. [23] Однако стабильный релиз MINIX 3.4.0 еще не был анонсирован, а разработка MINIX была приостановлена ​​с 2018 года. [24]

MINIX поддерживает множество языков программирования, включая C , C++ , FORTRAN , Modula-2 , Pascal , Perl , Python и Tcl .

Более 50 человек посетили MINIXCon 2016, конференцию, на которой обсуждалась история и будущее MINIX. [25]

Все чипсеты Intel, выпущенные после 2015 года, используют MINIX 3 как программный компонент Intel Management Engine . [26] [27]

Связь с Linux

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

Линус Торвальдс использовал и ценил MINIX, [28] но его проект значительно отличался от архитектуры MINIX, в частности, за счет использования монолитного ядра вместо микроядра . Это не было одобрено Таненбаумом в дебатах Таненбаума и Торвальдса . Таненбаум снова объяснил свое обоснование использования микроядра в мае 2006 года. [29]

Ранняя разработка ядра Linux велась на хост-системе MINIX, что привело к тому, что Linux унаследовал различные функции от MINIX, такие как файловая система MINIX . Эрик Рэймонд утверждал, что Линус на самом деле не писал Linux с нуля, а скорее повторно использовал исходный код самого MINIX, чтобы иметь рабочую кодовую базу. По мере развития разработки код MINIX постепенно полностью исчезал. [30]

Самиздатпретензии

В мае 2004 года Кеннет Браун из Института Алексиса де Токвиля в книге под названием «Самиздат» выдвинул обвинение в том, что основные части ядра Linux были скопированы из кодовой базы MINIX . [31] Эти обвинения были повсеместно опровергнуты — наиболее заметным из них был Таненбаум, который резко раскритиковал Брауна и опубликовал длинное опровержение на своем личном веб-сайте, также заявив, что Браун финансировался Microsoft . [10] [11]

Лицензирование

Во время первоначальной разработки MINIX ее лицензия была относительно либеральной. Ее лицензионный сбор был очень небольшим ($69) по сравнению с другими операционными системами. Таненбаум хотел, чтобы MINIX был максимально доступен для студентов , но его издатель не хотел предлагать материалы (например, исходный код), которые можно было бы свободно копировать, поэтому в качестве компромисса была применена ограничительная лицензия, требующая номинальной платы (включенной в стоимость книги Таненбаума). Это предотвратило использование MINIX в качестве основы для свободно распространяемой программной системы.

Когда в начале 1990-х годов стали доступны бесплатные и открытые Unix-подобные операционные системы, такие как Linux и 386BSD , многие добровольные разработчики программного обеспечения отказались от MINIX в пользу них. В апреле 2000 года MINIX стал бесплатным и открытым программным обеспечением под лицензией BSD-3-Clause , которая была применена задним числом ко всем предыдущим версиям. [17] [7] Однако к этому времени другие операционные системы превзошли его возможности, и он оставался в первую очередь операционной системой для студентов и любителей . В конце 2005 года MINIX был перелицензирован с добавлением четвертого пункта к лицензии BSD-3-Clause . [4]

Смотрите также

Примечания

  1. ^ BSD 3-пункт с четвертым пунктом

Ссылки

  1. ^ Майкл Ларабель (16 сентября 2014 г.). «Minix 3.3 выпущен с поддержкой Cortex-A8 ARM, совместимостью с NetBSD Userland». Phoronix . Архивировано из оригинала 25 марта 2022 г. . Получено 11 мая 2020 г. .
  2. ^ "MINIX 3.4 RC6 Released - Phoronix". Архивировано из оригинала 18 марта 2022 года . Получено 18 июня 2018 года .
  3. ^ "Intel ME: The Way of Static Analysis". Архивировано из оригинала 1 июля 2017 г. Получено 4 июля 2017 г.
  4. ^ ab "Лицензия MINIX". Архивировано из оригинала 24 ноября 2005 г. Получено 24 ноября 2005 г.
  5. ^ "MINIX license change". Архивировано из оригинала 6 декабря 2022 г. Получено 23 декабря 2023 г.
  6. ^ ab "MINIX теперь доступен по лицензии BSD". Архивировано из оригинала 8 мая 2006 года . Получено 14 июня 2021 года .
  7. ^ ab "Minix". Архивировано из оригинала 13 октября 2006 г. . Получено 15 июня 2021 г. Лицензия Minix изменилась в апреле 2000 г. и имеет обратную силу для всех предыдущих дистрибутивов Minix, хотя они по-прежнему содержат старую, более ограничительную лицензию.
  8. ^ "Лицензия (1.7.0 to 2.0.2)". Архивировано из оригинала 26 июля 1997 года . Получено 14 июня 2021 года .
  9. ^ "Версии Minix и их использование в обучении". Архивировано из оригинала 11 июля 2006 г. Получено 14 июня 2021 г.
  10. ^ ab Tanenbaum, Andrew S. (20 мая 2004 г.). "Некоторые заметки о Kerfuffle "Кто написал Linux", выпуск 1.5". Архивировано из оригинала 18 августа 2010 г. Получено 20 августа 2016 г.
  11. ^ ab Tanenbaum, Andrew S. ; Woodhull, Albert S.; Sambuc, Lionel (11 марта 2015 г.). "MINIX 3 FAQ". Архивировано из оригинала 26 апреля 2019 г. . Получено 20 августа 2016 г. .
  12. ^ "Реклама MINIX". Computerworld . Том 13, № 31. 30 июля 1979 г. стр. 38. Получено 22 марта 2022 г.
  13. ^ Таненбаум, Эндрю С.; Вудхалл, Альберт С. (1997) [1986]. Проектирование и реализация операционных систем (второе издание). Prentice Hall. ISBN 0-13-638677-6. OCLC  35792209 . Получено 2 августа 2011 г. .
  14. ^ "MacMinix". GitHub . Архивировано из оригинала 26 февраля 2021 г. Получено 8 августа 2014 г.
  15. ^ Таненбаум, Эндрю С .; Вудхалл, Альберт С.; Бот, Кис (22 июля 2005 г.). «Добро пожаловать в MINIX» (TXT) . Архивировано из оригинала 17 апреля 2016 г. Получено 2 августа 2011 г.
  16. ^ Flouris, M. "Установка и запуск MINIX для Solaris (SMX)". Архивировано из оригинала 12 мая 2016 года . Получено 2 августа 2011 года .
  17. ^ ab "BSD-3-Clause". Архивировано из оригинала 14 апреля 2000 г. Получено 14 июня 2021 г.
  18. ^ Herder, JN; Bos, H.; Gras, B.; Homburg, P.; Tanenbaum, AS (июль 2006 г.). «MINIX 3: высоконадежная самовосстанавливающаяся операционная система». Обзор операционных систем ACM SIGOPS . 40 (3): 80–89. doi :10.1145/1151374.1151391. S2CID  30216714.
  19. ^ "Лицензия". GitHub . Архивировано из оригинала 15 июня 2021 г. . Получено 15 июня 2021 г. .
  20. ^ Шмидт, Ульрих (10 ноября 2010 г.). "Новое в minix". Архивировано из оригинала 28 мая 2013 г. Получено 2 августа 2011 г.
  21. ^ "MINIX Releases". wiki.minix3.org . Архивировано из оригинала 31 мая 2012 . Получено 29 февраля 2012 .
  22. ^ Vervloesem, Koem (7 марта 2012 г.). "MINIX 3.2: микроядро с приложениями NetBSD". lwn.net . Архивировано из оригинала 17 июня 2018 г. . Получено 17 июня 2018 г. .
  23. ^ "Index of /iso/snapshot/". download.minix3.org . Архивировано из оригинала 25 февраля 2013 г. Получено 14 октября 2016 г.
  24. ^ "git.minix3.org Git - minix.git/summary". git.minix3.org . Архивировано из оригинала 16 января 2016 года . Получено 23 сентября 2022 года .
  25. ^ "MINIXCon 2016". www.minix3.org . Архивировано из оригинала 3 июня 2018 года . Получено 14 октября 2016 года .
  26. ^ "Positive Technologies research". blog.ptsecurity.com . Архивировано из оригинала 28 августа 2017 г. Получено 6 сентября 2017 г.
  27. ^ Vaughan-Nichols, Steven (6 ноября 2017 г.). "MINIX: скрытая внутричиповая операционная система Intel". ZDNET . Архивировано из оригинала 3 августа 2023 г. . Получено 19 апреля 2019 г. .
  28. ^ Moody, Glyn (25 августа 2015 г.). «Как родился Linux, рассказано самим Линусом Торвальдсом». Ars Technica . Архивировано из оригинала 25 августа 2015 г. Получено 25 августа 2015 г.
  29. ^ Таненбаум, Эндрю С. (12 мая 2006 г.). "Дебаты Таненбаума-Торвальдса: Часть II" . Получено 2 августа 2011 г.
  30. ^ Рэймонд, Эрик (1999). Собор и базар . O'Reilly Media . стр. 33. ISBN 1-56592-724-9.
  31. Браун, Кеннет (4 июня 2004 г.). «Критики Самиздата… Браун отвечает». Институт Алексиса де Токвиля. Архивировано из оригинала 22 октября 2004 г. Получено 2 августа 2011 г.{{cite web}}: CS1 maint: неподходящий URL ( ссылка )

Внешние ссылки