Читаем Just for Fun полностью

Раньше большинство операционных систем были монолитными, то есть вся операционная система представляла собой единый исполняемый файл «a.out», работающий в режиме ядра. В этот бинарник входит управление процессами, управление памятью, файловая система и все остальное. Примерами таких систем могут служить UNIX, MS-DOS, VMS, MVS, OS/360, MULTICS и многие другие. Альтернативой является система с микроядром, в которой большая часть операционной системы разбивается на отдельные процессы, находящиеся вне ядра. Они обмениваются между собой сообщениями. В задачи ядра входит управление передачей этих сообщений, обработка прерываний, управление процессами низкого уровня и, возможно, ввод-вывод. Примерами такой архитектуры служат RC4000, Amoeba, Chorus, Mach и еще не выпущенная Windows /NT. Я мог бы многое рассказать о сравнительных преимуществах этих двух подходов, но достаточно сказать, что среди специалистов по разработке операционных систем споры уже закончились. Микроядро победило. Minix – система с микроядром. Файловая система и управление памятью – это отдельные процессы, которые работают вне ядра. Ввод-вывод тоже выполняется отдельно. LINUX – монолитная система. Это большой шаг назад, в 70-е. годы.

2 . ПЕРЕНОСИМОСТЬ

MINIX задумана как переносимая система и была перенесена с машин на базе Intel-процессоров на 680x0 (Atari, Amiga, Macintosh), SPARC и NS32016. LINUX тесно связана с 80x86. Тупиковый путь.

Поймите меня правильно. Я ничего не имею против LINUX. Она снимает с меня заботу о тех, кто хочет превратить MINIX в BSD UNIX. Но я с полной ответственностью заявляю, что те, кому нужна **СОВРЕМЕННАЯ** **бесплатная** ОС, должны искать переносимую ОС на базе микроядра, типа GNU или чего-то в этом роде.

Энди Таненбаум ([email protected])

Я знал, что должен защитить свою честь, поэтому написал ответ.

From: [email protected] (Linus Benedict Torvalds)

Subject: Re: LINUX устарела

Date: 29 Jan 92 23:14:26 GMT

Organization: University of Helsinki

На сообщение с таким заголовком нельзя не ответить. Прошу прощения у пользователей minix, которые уже досыта наслушались о linux. Я хотел бы просто *проигнорировать вызов*, но ... Настало время серьезного спора!

В сообщении <[email protected]> [email protected] (Энди Таненбаум) пишет:

>Я тут на пару недель уезжал в США,поэтому не

>писал особенно о LINUX (не то чтобы я стал

>писать, если бы и был здесь) . Однако теперь я

>хочу сделать несколько замечаний.

>Как большинство из вас знает, для меня MINIX —

>хобби, которым я занимаюсь по вечерам, когда мне

>надоедает писать книжки, а по CNN не показывают

>никаких войн, революций или парламентских

>слушаний. Моя основная работа – преподавание и

>исследования в области операционных систем.

Вы хотите этим оправдать ограниченность minix? Извините, но вы не правы. У меня оправданий гораздо больше, и все-таки linux побеждает minix почти по всем параметрам. Не говоря уж о том, что большая часть хороших кодов для minix, похоже, написана Брюсом Эвансом.

Re 1: Для вас minix хобби – но ведь minix приносит доход, a linux раздается бесплатно. Теперь по поводу хобби. Поместите minix в свободный доступ, и одна из моих главных претензий к ней отпадет. Linux для меня в большой степени хобби (серьезное хобби, самого высшего сорта). Я не беру за нее денег, и она даже не является частью моей учебной работы. Я сделал ее в свободное время на собственной машине.

Re 2: Вы работаете преподавателем и исследователем. Прекрасное объяснение для умственной неполноценности minix. Остается надеяться, что Amoeba не такая фигня, как minix.

>1. МИКРОЯДРО ИЛИ МОНОЛИТ

Да, linux – монолитная система, и я согласен, что микроядро лучше. Если бы у вашего сообщения не был такой спорный заголовок, я бы, вероятно, согласился с большинством ваших высказываний. С теоретической (и эстетической) точки зрения linux проигрывает. Если бы ядро GNU было готово прошлой весной, я бы и не взялся за свою разработку: беда в том, что оно не было готово тогда и не готово до сих пор. Linux выигрывает прежде всего потому, что она уже готова.

>MINIX – система с микроядром [пропущено, но без >потери смысла] . LINUX – монолитная система.

Если бы это было единственным критерием качества ядра, вы были бы правы. Однако вы не пишете о том, что микроядро в minix сделано плохо и возникают проблемы с многозадачностью (в ядре) . Если бы я сделал ОС, у файловой системы которой были бы проблемы с многозадачностью, я бы не стал так поспешно осуждать других: наоборот, я бы из кожи вон лез, чтобы все забыли о моем провале. Да, я знаю, что для minix есть масса заплаток, обеспечивающих многопоточную работу, но это лишь заплатки, и Брюс Эванс говорит, что все равно остается множество проблем синхронизации.

>2 . ПЕРЕНОСИМОСТЬ

«Переносимость нужна людям, которые не умеют писать новые программы» – это я только что придумал. В шутку.

Перейти на страницу:

Похожие книги

Основы программирования в Linux
Основы программирования в Linux

В четвертом издании популярного руководства даны основы программирования в операционной системе Linux. Рассмотрены: использование библиотек C/C++ и стан­дартных средств разработки, организация системных вызовов, файловый ввод/вывод, взаимодействие процессов, программирование средствами командной оболочки, создание графических пользовательских интерфейсов с помощью инструментальных средств GTK+ или Qt, применение сокетов и др. Описана компиляция программ, их компоновка c библиотеками и работа с терминальным вводом/выводом. Даны приемы написания приложений в средах GNOME® и KDE®, хранения данных с использованием СУБД MySQL® и отладки программ. Книга хорошо структурирована, что делает обучение легким и быстрым. Для начинающих Linux-программистов

Нейл Мэтью , Ричард Стоунс , Татьяна Коротяева

ОС и Сети / Программирование / Книги по IT
1001 совет по обустройству компьютера
1001 совет по обустройству компьютера

В книге собраны и обобщены советы по решению различных проблем, которые рано или поздно возникают при эксплуатации как экономичных нетбуков, так и современных настольных моделей. Все приведенные рецепты опробованы на практике и разбиты по темам: аппаратные средства персональных компьютеров, компьютерные сети и подключение к Интернету, установка, настройка и ремонт ОС Windows, работа в Интернете, защита от вирусов. Рассмотрены не только готовые решения внезапно возникающих проблем, но и ответы на многие вопросы, которые возникают еще до покупки компьютера. Приведен необходимый минимум технических сведений, позволяющий принять осознанное решение.Компакт-диск прилагается только к печатному изданию книги.

Юрий Всеволодович Ревич

Программирование, программы, базы данных / Интернет / Компьютерное «железо» / ОС и Сети / Программное обеспечение / Книги по IT
Access 2002: Самоучитель
Access 2002: Самоучитель

В книге рассматривается широкий круг вопросов, связанных с использованием программной среды Access 2002, которая является составной частью пакета Office 2002 и предназначена для создания банка данных в самых различных предметных областях.Подробно описывается методика проектирования объектов базы данных (таблицы, формы, отчеты, страницы доступа к данным, запросы, модули).Детально обсуждаются вопросы создания интегрированной базы данных в единой среде Access 2002: формирование БД с нуля, конвертирование в программную среду баз данных, созданных в ином программном окружении – Clarion, FoxPro.Особое внимание уделяется формированию разнообразных запросов к интегрированной базе данных Access 2002 с использованием языков программирования SQL, VBA и макросов.Приводятся общие сведения о возможностях языка обмена данными между различными компьютерами и приложениями (XML). Описываются возможности использования гиперссылок, связывающих базу данных с другими программными продуктами. Объясняется, как можно работать с базой данных Access 2002 без установки ее на компьютер, используя технологию ODBC (Open Data Base Connectivity). В приложениях приводятся количественные параметры Access 2002 и связанная с этой СУБД терминология.Предлагаемая книга будет полезна специалистам, занимающимся практической разработкой банков данных и приложений на их основе, а также студентам вузов, изучающим информатику.

Павел Юрьевич Дубнов

Программирование, программы, базы данных / ОС и Сети / Книги по IT