<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.linuxformat.ru/wiki/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://wiki.linuxformat.ru/wiki/index.php?action=history&amp;feed=atom&amp;title=LXF130%3ADrBrown3</id>
		<title>LXF130:DrBrown3 - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.linuxformat.ru/wiki/index.php?action=history&amp;feed=atom&amp;title=LXF130%3ADrBrown3"/>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/index.php?title=LXF130:DrBrown3&amp;action=history"/>
		<updated>2026-05-13T03:53:16Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.19.20+dfsg-0+deb7u3</generator>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/index.php?title=LXF130:DrBrown3&amp;diff=11878&amp;oldid=prev</id>
		<title>Crazy Rebel: викификация, оформление, иллюстрация</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/index.php?title=LXF130:DrBrown3&amp;diff=11878&amp;oldid=prev"/>
				<updated>2011-04-21T06:24:14Z</updated>
		
		<summary type="html">&lt;p&gt;викификация, оформление, иллюстрация&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Мини-Linux==&lt;br /&gt;
&lt;br /&gt;
: Без Minix, наверное, не было бы и Linux. Рассмотрим же его.&lt;br /&gt;
&lt;br /&gt;
{{Врезка|Содержание=[[Изображение:LXF130_53_1.jpg|300px]] Микроядро, как в Minix, выносит как можно большую функциональность в пространство пользователя и дает более компактное ядро. Объем его кода в Minix всего 4000 строк.|Ширина=300px}}&lt;br /&gt;
&lt;br /&gt;
Линус Торвальдс писал исходное ядро Linux под впечатлением от другой Unix­подобной системы, Minix, созданной Эндрю Таненбаумом [Andrew Tanenbaum]. Торвальдсу был знаком Minix, поскольку он первоначально пользовался им как платформой для разработки ядра Linux. И, несомненно, на него повлияла книга Таненбаума «Операционные системы: разработка и реализация»: Торвальдс называл ее «книгой, которая подняла меня на новые высоты». Нельзя сказать, что архитектура Minix нравилась ему на 100 % – вообще­то он относился к ней довольно критически. Почитайте, например, книгу Линуса Торвальдса и Дэвида Даймонда [David Diamond] «Just for FUN. Рассказ нечаянного революционера» или споры Торвальдса и Таненбаума по адресу http://www.dina.dk/~abraham/Linus_vs_Tanenbaum.html. Minix создавался в основном как средство для обучения. Еще в 1987 году Таненбаум (профессор факультета вычислительной техники университета Врейе в Амстердаме) хотел создать операционную систему, которая бы иллюстрировала принципы его книги и которой мог­ли бы пользоваться его студенты.&lt;br /&gt;
&lt;br /&gt;
Довольно долго я имел об этом слабое понятие, пока случайный поиск в Google не привел меня на http://www.minix3.org. Я и не подозревал, что Minix все еще в активной разработке. Оказывается, в 2008 году Таненбаум получил грант в 2,5 млн евро на продолжение развития Minix, и последний релиз вышел в ноябре 2009 года. Minix 3 продолжает играть роль ОС, которую студенты могут расчленить на составляющие, но у него есть и другие цели. Цитирую сайт: «Он примерно основан на предыдущих версиях Minix, но отличается по многим ключевым вопросам. Minix 1 и Minix 2 создавались как средства для обучения, Minix 3 намерен стать полноценной системой для компьютеров с ограниченными ресурсами и встраиваемых, а также для приложений, требующих высокой надежности».&lt;br /&gt;
&lt;br /&gt;
Где­то в другом месте Таненбаум написал: «Minix 3 – это не Minix вашего дедушки. Minix 1 создавался как средство для обучения и все еще широко используется в университетах как таковое. Minix 3 – то же самое плюс отправная точка построения высоконадежной самовосстанавливающейся нераздутой ОС, наверное, подходящей для таких проектов, как стодолларовый ноутбук в помощь детям стран третьего мира или встраиваемая система. Minix 1 и Minix 3 объединяет то же, что и Windows 3.1 и Windows XP – первое слово в названии».&lt;br /&gt;
&lt;br /&gt;
Кто хочет сам поиграть с Minix, загрузите сжатый ISO­-образ с сайта http://www.minix3.org/download. Он распространяется по BSD­-подобной лицензии. CD работает в режиме Live, и вы получите определенное представление о легкости Minix, когда увидите, что командная строка загрузится менее чем за три секунды. После старта системы нетрудно установить ее на жесткий диск.&lt;br /&gt;
&lt;br /&gt;
===Низкие требования===&lt;br /&gt;
&lt;br /&gt;
Требования к аппаратной части минимальны: стандартная система работает на 16 МБ ОЗУ, а на 1 ГБ дискового пространства умещается весь дистрибутив, включая исходные коды. Поддерживается несколько сетевых карт, но на данный момент нет поддержки Wi­Fi, USB и FireWire. Я установил ее на виртуальную машину ''VMWare'', и она прекрасно работала.&lt;br /&gt;
&lt;br /&gt;
Загрузка Minix – возвращение в более спокойные, простые и в общем более интересные времена начала эпохи Linux и Unix, когда вся схема легко укладывалась в голове. А может, моя голова тогда была больше. Пользователям Linux Minix покажется довольно знакомым, по крайней мере в командной строке: это POSIX­-совместимая ОС, и в нее были портированы многие классические утилиты – ''ls, Cron, GCC, Perl, SSH, file, find, sort, mount, Vi, grep'' и прочие. В '''/usr/bin''' в общей сложности 338 команд, и многие вы узнаете (сравните с 2048 в моем Ubuntu). Архитектура файловой системы Minix тоже покажется вам весьма знакомой.&lt;br /&gt;
&lt;br /&gt;
А под капотом между Minix и Linux имеются заметные отличия. Например, в Minix единственный дисковый раздел делится на «слайсы», и им даются имена по схеме, похожей на принятую в Solaris. Например, первый диск на первом контроллере будет '''/dev/c0d0''', а первый раздел на этом диске – '''/dev/c0d0p0'''. В терминах Linux это были бы '''/dev/sda''' и '''/dev/sda1''' соответственно. Сласы именуются как '''/dev/c0d0p0s1'''. В Linux нет концепции слайсов, применяемой в Minix.&lt;br /&gt;
&lt;br /&gt;
Более существенное различие между Minix и Linux в том, что архитектура первой построена на основе микроядра. Само ядро предоставляет обработчики прерываний, способ запуска и остановки процессов, планировщик, основы межпроцессной коммуникации, но ничего более. Большая часть функционала, который в Linux находится в ядре, реализована в Minix в пространстве пользователя. Это драйверы устройств, файловая система, стек протоколов TCP/IP и даже высокоуровневое управление памятью. В пространстве пользователя вы увидите процессы для ''VFS'' (виртуальной файловой системы), TTY (драйвера терминала) и DS (сервера хранилища данных). Это фундаментальное различие в архитектуре, и здесь взгляды Торвальдса и Таненбаума определенно не сходятся (см. «Типы ядра» и «Что входит в ядро?»). Чтобы вы представили себе масштаб этого различия, скажу, что в ядре Minix 3 около 4000 строк кода, а в ядре Linux 2.6.32 – около 12 млн. Пока вы не начали возмущаться, соглашусь, что это не совсем корректное сравнение размера двух ОС. Но оно иллюстрирует компактность ядра Minix.&lt;br /&gt;
&lt;br /&gt;
===Упакуйте это===&lt;br /&gt;
&lt;br /&gt;
{{Врезка|Содержание=[[Изображение:LXF130_53_2.jpg|300px]] Minix с оконным менеджером ''Twm, Xterm'', программой для оповещения о новых письмах и Xeyes. По-вашему, он выглядит примитивно? Зато работает на 8 МБ ОЗУ.|Ширина=300px}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В Minix есть примитивный менеджер пакетов ''Packman''. Это сценарий оболочки, и его пользовательский интерфейс довольно громоздок. Зависимостей у него нет, и устанавливается пакет простым копированием архива с CD (или с сайта Minix http://www.minix3.org/packages/i386) и его распаковкой. Архивы с исходным кодом также доступны по адресу http://www.minix3.org/software, и ''Packman'' спрашивает, хотите ли вы их установить.&lt;br /&gt;
&lt;br /&gt;
Также есть работающий ''X''­-сервер и два оконных менедже­ра. Первый из них, ''Twm'', сокращение от Tab Window Manager, появился в 1987 году и по сегодняшним меркам довольно примитивен, но в свое время был прорывом. Второй, ''Ede'' (Equinox Desktop Environment), выглядит чуть современнее, но все так же легок и быстр. Не ждите от Minix последних новшеств – если вы гони­тесь за этим, вы попали не туда. Minix далеко до всеохватности и элегантности Linux, но он и не пытается таким быть. &lt;br /&gt;
&lt;br /&gt;
Итак, здесь меньше утилит, система управления пакетами примитивна, рабочий стол – древний; в чем же привлекательность Minix? Ну, для разработчика он гораздо проще и доступнее Linux. Например, для повторной сборки и установки опера­ционной системы и всех утилит достаточно двух команд:&lt;br /&gt;
&lt;br /&gt;
 #cd /usr/src&lt;br /&gt;
 #make world&lt;br /&gt;
&lt;br /&gt;
В нашей тестовой системе это заняло минуты три. Не представляю, сколько тут ушло бы времени в Linux, но подозреваю, что займись этим Моцарт, он бы без труда написал пару симфоний, дожидаясь завершения.&lt;br /&gt;
&lt;br /&gt;
Но шутки в сторону: Minix допускает анализ исходного кода реальной операционной системы без вывихивания мозгов. И если вас по­настоящему вдохновили его возможности, взгляните на несколько проектов на http://wiki.minix3.org/en/StudentProjects и прикиньте, как будет смотреться ваша фамилия с приставкой «к.т.н.» или «д­р».&lt;br /&gt;
&lt;br /&gt;
Загружая Minix, я довольно внезапно ощутил беспомощность, сообразив, что не понимаю, как сделать многие простые вещи. Я не знал, как изменить IP-­адрес моего сетевого интерфейса или как назначить сервисы, стартующие во время загрузки. Это напомнило мне неуверенность, которую я испытывал в первые дни работы с Linux, и послужило уместным уроком того, что к новичкам в Linux нужно относиться с огромным терпением и уважением.&lt;br /&gt;
&lt;br /&gt;
===Что входит в ядро?===&lt;br /&gt;
&lt;br /&gt;
Коды, выполняемые «в привилегированном режиме» (ядро) и «в пространстве пользователя», серьезно различаются. Но что относится к ядру, и что – к пространству пользователя? Есть определенный минимум вещей, которые должны выполняться в привилегированном режиме: низкоуровневое управление памятью, обработка прерыва­ний, планирование процессов и некое минимальное межпроцессное взаимодействие [IPC]. На другом конце шкалы, по общему мнению, находятся пользовательские приложения типа ''Bash'' и ''Firefox'' – они принадлежат к пространству пользователя. Однако между ними есть «серые зоны». Как насчет библиотеки математических функций, сервера ''NFS'', стека TCP/IP, кода управления доступом, драйверов устройств или файловой системы ext3?&lt;br /&gt;
&lt;br /&gt;
В истории разработки Linux вы найдете примеры, когда те или иные вещи пересекали границу между пространством пользователя и пространством ядра. ''NFS'' изначально была демоном в пространстве пользователя, а потом переместилась в ядро. С другой стороны, относительно новая технология ''Fuse'' позволяет реализовать в пространстве пользователя файловые системы, обычно принадлежащие ядру. &lt;br /&gt;
&lt;br /&gt;
Архитектуре микроядра посвящен большой объем исследовательской литературы, который вы вряд ли захотите осваивать, если только не пишете главу об истории архитектуры операционной системы в своей диссертации. Тогда загляните на сайт http://en.wikipedia.org/wiki/Microkernel.&lt;br /&gt;
&lt;br /&gt;
===Типы ядра===&lt;br /&gt;
&lt;br /&gt;
Термин «монолитное ядро» означает две разные вещи, и по этому поводу у меня однажды была запальчивая дискуссия с сертифицированным архитектором Red Hat. В контексте сравнения Minix с Linux монолитное ядро означает, что вся операционная система выполняется в ядре, в отличие от микроядра. Но в последние годы в мире Linux термин «монолитное ядро» начал означать, что весь код ядра статически скомпонован в один исполняемый образ. Такая схема отличается от модульного ядра, многие возможности которого реализованы в динамических модулях, подгружаемых по требованию. В этом смысле слова ранние версии ядра Linux были монолитными, а все последние версии – модульные. Динамическая загрузка модуля, реализующего файловую систему в пространстве ядра (как в Linux), отличается от ее реализации в виде сервиса в пространстве пользователя в Minix.&lt;/div&gt;</summary>
		<author><name>Crazy Rebel</name></author>	</entry>

	</feed>