Вышли две новые версии открытых экспериментальных операционных систем, разрабатываемых энтузиастами в обучающих целях:- HelenOS (http://www.helenos.org/) - многоплатформенная операционная система на базе микроядра. Реализована поддержка файловых систем FAT и TMPFS, многозадачности, многопоточности (1:M нити). В настоящее время работает только в режиме командной строки и не имеет поддержки сети. Поддерживаются архитектуры: AMD64/EM64T (x86-64), ARM, IA-32, IA-64 (Itanium), 32-bit MIPS, 32-bit PowerPC и SPARC V9. В будущем на базе ядра HelenOS можно будет запустить полноценное GNU-окружение. Исходные тексты распространяются под лицензией BSD.
- IanOS (http://www.ijack.org.uk/) - экспериментальная ОС, разрабатываемая в целях обучения программированию 64-разрядных операционных систем. Код отлично документирован (http://www.ijack.org.uk/code.html). IanOS создается как наглядное руководство по созданию подсистем ядра и не предназначена для прямого использования, хотя ее можно скомпилировать и запустить в эмуляторе qemu.
URL: http://www.helenos.org/
Новость: http://www.opennet.me/opennews/art.shtml?num=20310
Хорошие примеры того как нужно и как нельзя вести проекты.
И какая из них пример чего?
>И какая из них пример чего?А загляните к ним сами
имхо, оба проекта не имеют смысла.но сайт могли бы оформить нормально.
а не кажется имеют как минимум helenOs хотя бы в том плане что микроядерного ядра у опенсорс вроде как нет, а монолит линукса имеет свои негативные стороны, вот пусть это допилится и тогда можно будет и сравнивать и оценивать оба подхода по разным параметрам. если появится Gnu/HelenOs мне кажется от этого только выиграют все хотя бы полученными знаниями о методах реализации микроядра его приемуществах и недостатках не только по идее но и в количественных оценках производительности.
>а не кажется имеют как минимум helenOs хотя бы в том плане
>что микроядерного ядра у опенсорс вроде как нет, а монолит линукса
>имеет свои негативные стороныкак же нет, а minix?!
>>а не кажется имеют как минимум helenOs хотя бы в том плане
>>что микроядерного ядра у опенсорс вроде как нет, а монолит линукса
>>имеет свои негативные стороны
>
>как же нет, а minix?!некоторые вещи проще переписать чем исправить. я читал как то перепалку между линуксом и тененбаумом (он кажется автор minix честно гря даже в фамилии не уверен помню что там они друг на друга наезжали и сравнивали линукс и миникс)
Микроядер с открытыми исходниками и свободных туча.
http://en.wikipedia.org/wiki/L4_microkernel_familyНестыковки между Торвальдсом и Таненбаумом чисто идеологические. У Таненбаума подход такой: "Вот мое ядро. Вот стабильный и интерфейс для написания модулей. Вот лицензия BSD. Берите что хотите. Можете не возвращать. Я даже сделаю так, что если ваш закрытый драйвер будет глючить - я это отслежу и перезапущу его." В результате получается большая стабильность интерфейсов для модулей, перезапуск глючных модулей. Удобно для закрытых поделок. Не сподвигает к развитию самого проекта Таненбаума - код можно закрыть и не возвращать. Также жесткие ограничения архитектуры микроядра в виде большого количества переключий контекстов (от 4-х на окрытие файла, например) и отвратительного использования кеша процессора (че делать с данными при переключении контекстов?).
У Торвальдса подход другой. Зачем тратить ресурсы процессора на создание сложной архитектуры, если надежности можно достичь написанием качественных драйверов при наличии открытых спецификаций. Стимулирование открытия спецификаций оборудования достигается в том числе отсутствием поддержки устаревших внутренних вызовов ядра. Для закрытых бинарников такой подход полный ужас. Но при открытых спецификациях оборудования все упрощается. Также отсутсвуют издержки CPU на переключение контекстов и кеширование данных при передаче от одной подсистемы ядра в другую. Также не нужно поддерживать старые интерфейсы в ядре, когда уже есть новые.
У этих ОС разные ЦЕЛИ. И в зависимости от критериев оценки лучшей может оказаться одна или другая. Для закрытой коммерческой OS архитектура с микроядром может оказаться более подходящей, для открытой, думаю, лучше монолит.
При этом ни Торвальдс ни Таненбаум не пытаются спорить друг с другом. Сталкивать их любят люди со стороны :) Просто Линус когда-то решил с нуля написать ОС, в которой будет работать шелл. Причем ОС лучшую, чем MINIX. В результате получилось ядро Linux. Возможно эти продукты тоже достигнут не только учебных целей. Удачи авторам.
>Нестыковки между Торвальдсом и Таненбаумом чисто идеологические. У Таненбаума подход такой: "ВотПоследний раз Торвальдс говорил о многократном усложении программирования, если переходить на микроядро. Я с ним не согласен.
>и перезапущу его." В результате получается большая стабильность интерфейсов для модулей,
>перезапуск глючных модулей. Удобно для закрытых поделок.Отказоустойчивость "удобна" для любого случая.
>У Торвальдса подход другой. Зачем тратить ресурсы процессора на создание сложной архитектуры,
>если надежности можно достичь написанием качественных драйверов при наличии открытых спецификаций.Ошибки или сбои в устройствах всё равно будут. Разве приемлемо, когда серверная ОС рушится из-за сбоя драйвера сгоревшего контроллера USB ?
>при открытых спецификациях оборудования все упрощается. Также отсутсвуют издержки CPU на
>переключение контекстов и кеширование данных при передаче от одной подсистемы ядраБольшие издержки переключения контекста это проблема платформы x86. Сменим архитектуру и вдобавок увеличим кол-во ядер до нескольких десятков - и переключений будет мало: процесс сидит на своём ядре и работает.
Микроядро, монолит, сколько об этом можно спорить уже? На мой взгляд пора бы уже другие идеи развивать. А то в последнее время только и видно как вначале появляется нечто, которое затем обрастает posix слоем эмуляции, который потом перерастает в основное api и не важно микроядро там или нет, и на выходе получаем жалкое подобие unix, которому по возможностям до linux очень как далеко, а преимуществ имеет исчезающе мало.
>такой: "Вот
>мое ядро. Вот стабильный и интерфейс для написания модулей. Вот лицензия
>BSD. Берите что хотите. Можете не возвращать. Я даже сделаю так,
>что если ваш закрытый драйвер будет глючить - я это отслежу
>и перезапущу его."Ну а в результате - где там Minix а где Linux... :D.Лично мне просто не нужны падучие драйвера.Особенно - проприетарные, где это хрен исправишь.
>некоторые вещи проще переписать чем исправить. я читал как то перепалку между линуксом и тененбаумом (он кажется автор minix честно гря даже в фамилии не уверен помню что там они друг на друга наезжали и сравнивали линукс и миникс)Вы не только в фамилии, но и в имени явно не уверены.
верно )))) линус, сори)
GUI для сравнения производительности - это круто.
а GNU это GUI?
А как же GNU/Hurd?
а оно ещё живо?
>а оно ещё живо?Да, только его разработчики постарели ;-))
У Haiku вроде микроядро.
Ладно уж вам. Будьте снисходительны. Сколько появилось на свете прекрасных вещей из-за того, что кто-то был не в курсе, что это нельзя.
Отличная штука
это скорей для начинающих Си программистов, есть что почитать, посмотреть, советую
Windows программисты развлекаются
"Text here. " И так в каждом разделе по той ссылке.Это "отличная документация"?
да уж... "Text here" это очень хорошая документация...