После пяти месяцев разработки доступен (http://groups.google.com/group/minix3/msg/32df210191b33f85) стабильный релиз MINIX 3.1.8, в котором кроме исправления ошибок представлены следующие улучшения (http://wiki.minix3.org/en/MinixReleases):- Новая инфраструктура управления пакетами, основанная на использовании системы pkgsrc (http://www.pkgsrc.org), изначально разработанной для NetBSD. Для установки, удаления и обновления бинарных пакетов задействована apt-подобная утилита pkgin (http://imil.net/pkgin/), работающая поверх pkgsrc;
- Поддержка доменных Unix-сокетов (Unix Domain Socket (http://ru.wikipedia.org/wiki/Unix_domain_socket));
- Поддержка файловой системы Ext2;
- Поддержка мультизагрузки;
- Реализация ACPI-драйвера (http://wiki.minix3.org/en/Acpi);
- Полная реализация поддержки APIC (http://ru.wikipedia.org/wiki/APIC) (программируемый контроллер прерываний), включая контроллер ввода вывода (I/O APIC), что дает возможность задействования в Minix более 16 прерыв...URL: http://groups.google.com/group/minix3/msg/32df210191b33f85
Новость: http://www.opennet.me/opennews/art.shtml?num=28170
стоит ли ждать вал портируемых приложений из Linux/BSD в связи с портированием пакетного менеджера?
> стоит ли ждать вал портируемых приложений из Linux/BSD в связи с портированием пакетного менеджера?Нет. Общался с русскоязычными разработчиками Minix - нет поддержки динамических библиотек и потоков. А следовательно никаких Qt, Java, Mono и прочих нет. Но зато есть GTK, что понятно, ведь это просто GUI.
Они разрабатывают какие-то непонятные вещи, и отказываются понимать что динамические библиотеки и потоки это то, без чего их ОС не нужна даже в той области применения для которой они позиционируют Minix...
> Они разрабатывают какие-то непонятные вещи, и отказываются понимать что динамические библиотеки и потоки это то, без чего их ОС не нужна даже в той области применения для которой они позиционируют Minix...Эта OS называется QNX4. Точнее - называлась. Лет десять назад. В смысле - с аналогичными ограничениями. Мир её праху, хороший был пес, верный. Хотя и хитрый.
интересно
а им какие-то принципиальные убеждения мешают это реализовать?
это не согласуется с микроядерностью?
они как-то аргументируют?
> они как-то аргументируют?На самом деле все крайне просто - НЕ ХВАТАЕТ РАЗРАБОТЧИКОВ...
> На самом деле все крайне просто - НЕ ХВАТАЕТ РАЗРАБОТЧИКОВ...им же вроде недавно в европе какая-то коммисия выделила 10 милион евриков на разработку... уж на эти деньги можно было бы нанять пару программистов... а то одни студенты всё не напишут...
"и не девочка а мальчик, и не выиграл а проиграл..." (с)
€2.5M на 5 человек, из которых 3 исследователя и 2 програмиста.
http://www.opennet.me/opennews/art.shtml?num=21489
>> они как-то аргументируют?
> На самом деле все крайне просто - НЕ ХВАТАЕТ РАЗРАБОТЧИКОВ...Все наоборот. Будут разделяемые библиотеки
и нормальный линкер с компилятором, будут и разработчики.Нормальный компилятор несложно сделать из pcc.
Судя по всему он гораздо более живой по сравнению с ack.
Линкер -- по-моему Darwin-овский под BSD лицензией отдают,
если не ошибаюсь. Если fat object files выбросить,
вполне неплохая вещь.
Похоже те же самые, что и разработчикам языка Go. Эти парни во главе с Робом Пайком твёрдо решили всем навредить выпустив такой чудесный язык без поддержки динамической линковки в родном тулките (т.к. это противоречит изначальным основам философии UNIX).
QNX вообще-то жива http://www.qnx.com/
> QNX вообще-то жива http://www.qnx.com/Имелась ввиду конкретно версия QNX4. Она уже мертва лет как с десять. QNX6 же - это можно сказать что совершенно другая система.
Что-то я даже просто GUI без динамических библиотек и нитей представить не могу. Как же туда GTK вкрячили без этого?
> Что-то я даже просто GUI без динамических библиотек и нитей представить не могу. Как же туда GTK вкрячили без этого?Статически линковали... А X11 там есть.
>> Что-то я даже просто GUI без динамических библиотек и нитей представить не могу. Как же туда GTK вкрячили без этого?
> Статически линковали... А X11 там есть.И каждую прогу в 5 байт размером будут статически линковать со всеми либами? Это ж уму не постижимо.
А уж без потоков GUI-софт лет 10 как никто не пишет. Боюсь, что и под GTK такого не найдется.
> А уж без потоков GUI-софт лет 10 как никто не пишет.
> Боюсь, что и под GTK такого не найдется.Просвети, пожалуйста, для чего тебе потоки в гуйне? Чем не устроила асинхронная модель?
> Просвети, пожалуйста, для чего тебе потоки в гуйне? Чем не устроила асинхронная модель?Ну это если окружение позволяет использовать асинхронную модель. А вот есть у нас, допустим, некая 3d party библиотека, вызовы в которую могут занимать непредсказуемое кол-во времени. Например, хочется организовать взаимодействие с MySQL посредством libmysqlclient. Как будем жить? Если предлагаемый API не предполагает наличия обратных вызовов о завершении операции и не желает встраиваться в асинхронную модель приложения. Да и структура приложения в асинхронной модели зачастую заметно сложнее.
> Ну это если окружение позволяет использовать асинхронную модель.Я говорю о GTK, в котором эта модель присутствует.
> А вот есть у нас
> допустимТо есть реальных примеров нет?
> Например, хочется организовать взаимодействие с MySQL посредством libmysqlclient. Как будем жить?
Опять таки, много ли гуевых приложений выполняют длительные блокирующие вызовы? Нет, не много. Большинству достаточно idle_add. Уж поверьте, я использую gtk достаточно долго и потоки нужны были крайне редко. Не отрицаю, необходимость есть, но чтобы возводить потоки в ранг мастхев вещей надо испытывать недостаток опыта и образования.
> Да и структура приложения в асинхронной модели зачастую заметно сложнее.
Наоборот, не надо думать о синхронизации. А это убирает львиную долю наворотов. Не надо думать в контексте какого потока будет выполняться обработчик, не надо думать о порядке вызова обработчиков -- все прозрачно и предсказуемо. C gtk вообще не надо думать -- любая обезьяна способна освоить тулкит в течение дня.
Какой кривой и невзрачный gtk есть на вид и на вкус, но в легкости понимания и освоения ему не откажешь. И огромная заслуга в этом -- отказ от потоков в пользу асинхронной модели.
> Что-то я даже просто GUI без динамических библиотек и нитей представить не
> могу.Говорят, чтение литературы способствует развитию воображения.
Отсутствием потоков и прекрасен GTK, как графический тулкит.
Насколько я знаю - они уже давно пиляют поддержку динамически библиотек - тока все никак.. Но по крайней мере есть на что надеяться - хотя не в ближайшем будущем. Сейчас от версии к версии ломают ABI - так что для плодотворного портирования, разработки дров просто нет условий..
Да, без динамических библиотек действительно очень плохо. А вот для потоков есть GNU Pth.
Хотя загрузку динамических библиотек тоже можно реализовать в юзерспейс, на уровне библиотеки. По типу, как это делает вайн. Так что и динамические библиотеки, и потоки сделать можно отдельно от ядра. Флаг в руки.
> Хотя загрузку динамических библиотек тоже можно реализовать в юзерспейс, на уровне библиотеки. По типу, как это делает вайн. Так что и динамические библиотеки, и потоки сделать можно отдельно от ядра. Флаг в руки.Я наверное открою большой секрет, но в той же линуксе динамические библиотеки и так 'загружаются' сугубо в user space :)
Спасибо, я этого не знал. Тогда зачем разработчикам мозги парить? Самостоятельно наваять библиотеку для динамической загрузки библиотек (прошу прощения за масло масляное).
Они позиционируют (http://www.minix3.org/):
1 Applications where very high reliability is required
2 Single-chip, small-RAM, low-power, $100 laptops for Third-World children
3 Embedded systems (e.g., cameras, DVD recorders, cell phones)
4 Applications where the GPL is too restrictive (MINIX 3 uses a BSD-type license)
5 Education (e.g., operating systems courses at universities)В тоже время (http://wiki.minix3.org/en/UsersGuide/HardwareRequirements):
1. CPU Requirements
MINIX 3 runs on Pentium-class hardware or later.Как-то это сразу противоречит п.2 и п.3 (особенно 3).
Отсутствие потоков и динамических библиотек ставит под большой вопрос п.1. Само ядро-то может и супернадежное, но без потоков и динамических библиотек как-то резко усложняется прикладное ПО (и обновления его), что как бы может влиять на надежность системы в целом.
Остается пункт 5 - образовательные цели, но для этого и GPL как-то не очень ограничивает, то есть п.4 тоже "в пролете".
> 1 Applications where very high reliability is required
> 2 Single-chip, small-RAM, low-power, $100 laptops for Third-World children
> 3 Embedded systems (e.g., cameras, DVD recorders, cell phones)
> 4 Applications where the GPL is too restrictive (MINIX 3 uses a BSD-type license)
> 5 Education (e.g., operating systems courses at universities)Я знаю, я знаю такую,.... - DOS называется.
> Остается пункт 5 - образовательные цели,
Ты забыл 6-ой пункт, ему надо отмыть 2 ляма евро, выделенных Союзом Европейских Капиталистических Стран (СЕКС)
> Остается пункт 5 - образовательные цели, но для этого и GPL как-то
> не очень ограничивает, то есть п.4 тоже "в пролете".Более того - или уж простая система для образования, или уж какая выйдет - для реального юзежа. С костылями и подпорками "по месту" чтобы нормально работало с нормальной скоростью и делало то что надо. Только вот костыли и подпорки портят "интерьер" и система ориентированная на более-менее общее применение и годная для реального юзежа как-то не очень хороша для обучения на ее примере.
> 1. CPU Requirements
> MINIX 3 runs on Pentium-class hardware or later.
> Как-то это сразу противоречит п.2 и п.3 (особенно 3).По всей видимости ребята имеют ввиду десктопню инсталяцию. Что не мешает запихнуть порезанную систему в гораздо более сжатые рамки.
> Отсутствие потоков и динамических библиотек ставит под большой вопрос п.1. Само ядро-то
> может и супернадежное, но без потоков и динамических библиотек как-то резко
> усложняется прикладное ПО (и обновления его), что как бы может влиять
> на надежность системы в целом.Вообще-то, наличие или отсутствие потоков а тем более динамических библиотек никак не влияет на надежность системы. А, зачастую, наоборот, усложняет всю кухню. Живых примеров окружений, которые активно использовались для построения отказоустойчивых систем хватает. Тот же QNX4 или VxWorks. В последнем AFAIR не было динамических библиотек и были какие-то приседания с потоками. В первом не было ни того ни другого. Что не мешало им управлять пресловутыми АЭС.
> Вообще-то, наличие или отсутствие потоков а тем более динамических библиотек никак не
> влияет на надежность системы.Не согалдсен, я подозреваю эти приблуды усложнят ядро и ОС в целом, воответственно затруднят верификацию. А значит, производитель микроядерной ОС не может гарантировать отказоустойчивости и надёжности.
> Не согалдсен, я подозреваю эти приблуды усложнят ядро и ОС в целом, воответственно затруднят верификацию. А значит, производитель микроядерной ОС не может гарантировать отказоустойчивости и надёжности.Потоки, динамические библиотеки и микроядерная архитектура - это как бы вещи ортогональные друг другу и никак друг с другом не связанные. Гарантировать же отказоустойчивость и надежность 'операционной системы', боюсь, не может ни один производитель. Именно гарантировать с соотв. бременем обязательств а не просто указывать в рекламных проспектах. Точно так же, как производитель кухонных ножей не может гарантировать, что его продукция не послужит орудием убийства.
> Потоки, динамические библиотеки и микроядерная архитектура - это как бы вещи
> ортогональные друг другу и никак друг с другом не связанные. Гарантировать же
> отказоустойчивость и надежность 'операционной системы', боюсь, не может ни один
> производитель. Именно гарантировать с соотв. бременем обязательств а не просто
> указывать в рекламных проспектах. Точно так же, как производитель кухонных ножей не
> может гарантировать, что его продукция не послужит орудием убийства.По поводу с аналогией ножа не согласен, если гарантия просто обещаение с обязательствами, то это не гарантия. А если производитель ОС обеспечивает верификацию, т.е. формально доказывает надёжность ОС (или любого другого софта). То это и есть гарантия.
Поэтому для таких случаев - АЭС, имеет значение именно возможность нормальной верификации софта, а не наличия динамических библиотек и потоков. Если я правильно понял разработчика, в Minix3 динамические библиотеки можно будет опционально отключать, чтобы не ухудшать возможности системы по верификации.
> По поводу с аналогией ножа не согласен, если гарантия просто обещаение с обязательствами, то это не гарантия. А если производитель ОС обеспечивает верификацию, т.е. формально доказывает надёжность ОС (или любого другого софта). То это и есть гарантия.Гарантия - это в первую очередь ответственность. Ответственность производителя за поставляемый им продукт. Юридическая, финансовая, уголовная в конце-концов. По полной программе, от и до. На основании чего именно производитель решается предоставлять ту или иную гарантию - это уже вопрос не столь важный. Берет ли он оценку с потолка или же проводит комплекс всестороннего тестирования системы. Но вот почему то производители софта в т.ч. для промышленности не очень охотно берутся что-либо гарантировать. Чтобы так, по-честному. Багнуло - заплатил. На несколько порядков больше, чем было заплачено за лицензии и сапорт. Но - увымс. Желающих давать реальную гарантию и подставлять свою жопу не густо.
> На основании чего именно производитель решается предоставлять ту или иную гарантию -
> это уже вопрос не столь важный. Берет ли он оценку с потолка или же проводит комплекс
> всестороннего тестирования системы.Тогда нет смысла покупать ответсвенный софт у профессионалов. Можно купить ОС у программсита алкаголика, индийца или китайца. Он под всем подпишеться, лишь бы хватило на бутылку.
Производители софта несут совершенно формальную ответсвенность за его качество если они поставщики Боинга, но Боингу не наплевать на чём основана уверенность проиводителя бортового оборудования, поэтому они вполне интересуются методкиой верификации. Боингу нужен летающий самолёт, а не разборки в судах. Есть формальные требования FAA, стандарт DO-178B.
Так что вопрос не в желающих, а в деньгах и требованиях заказчика.
Конечно, Миникс, как ОС обрабатывающие прерывания нельзя будет ставить в систему(как и большинство других ОС, в т.ч. qnx), которая будет влиять на безопасность полёта, но надеюсь у неё будет хорошая перспектива надёжной и устойчивой ОС с минимумом программерских ошибок.
> Что не мешало им управлять пресловутыми АЭС.Мало ли что где и чего было. Мне инетерсно, как они верифицировали ОС, которая обрабатывает аппаратные прерывания? Почему мировые брэнты промышленой автоматики не используют в своих контроллерах аппаратное прерывание? Ответ один: из-за свложности верификации. Так что, опрос в цикле верифицировать проще и практичнее, чем ОС с обработкой аппаратных прерываний.
не вдаваясь в пространственные рассуждения - поставил и припух, а куда софт девался с репов ?
pkg_add сломали!!
pkgin выдает десятка 2 самых минималистических тулзов.
Тот софт что на сайте перечислен в разделе software теперь никаким раком не становится.
До этого у меня миникс даже гуи успешно запускал (версию не припомню), а это чтото уж больно застабилизировали, да так что его сломать не получится - просто нечем !!!!
Ну это так, поиграться ради. Главное, что люди делают, стараются. Хотя по моему даже syllable будет лучше по всем параметрам.
А как данный сабж в сравнении с Plan 9 и Haiku? Что из этого лучше для десктопа и перспективнее?
это самый перспективный, пилится учеными - евросоюз спонсирует, план9 заглох к сожалению, ну а хайка пишется психически не уравновешенными гиками-олдфагами.
> это самый перспективный, пилится ученымиОга, при том пилится оооочень давно. Торвальдс своего пингвина под миниксом сначала разрабатывал. Пингвин уже давно летать научился, а миникс все еще так и пилится. И там все еще отсутствуют базовые сущности типичные для современных ОС.
>> это самый перспективный, пилится учеными
> Ога, при том пилится оооочень давно. Торвальдс своего пингвина под миниксом сначала
> разрабатывал. Пингвин уже давно летать научился, а миникс все еще так
> и пилится. И там все еще отсутствуют базовые сущности типичные для
> современных ОСЧто есть сущности типичные для современных ОС?? Ядро линукса с более 10.000.000 строк кода с сотнями тысячами ошибок а у виндауса подавно, против около 5000 строк кода у миникса.
>Ога, при том пилится оооочень давно. Торвальдс своего пингвина под миниксом сначала
>разрабатывал.Коронный аргумент User294 в треде о Minix. А тот факт, что кодовая база Minix 3 не имеет ничего общего с предыдущими версиями Minix, деликатно так замалчивается.
А вообще, уважаю профессора Таненбаума. Во первых, за толковые книги, во вторых, за то, что так знатно троллит красноглазых приверженцов Единственно Правильной ОС(с). ololo, это надо же было так умело накинуть в 92 году, что линуксоиды до сих пор успокоиться не могут!
Обычно в таких случаях вспоминают начало вброса, а конец стыдливо замалчивают. Напомнить? Дада, предрекался вездесущий SPARC, гибель х86, и, конечно, микроядерность на десктопе с приемлемой производительностью, ну, так планировалось.... Прямо наполеоновские планы
Ничто
Эндрюха уже отмыл 2 мильёона евров?!
Вроде как взял 4х разрабов и собирается за эти деньги очень долго их держать.. =)
это один из немногих случаев, когда лучшего применения деньгам не найти
> это один из немногих случаев, когда лучшего применения деньгам не найтиМожно - лучше бы он пилил другую свою ОС :-).
За редким исключением, куча мечтателей в этом треде. Как правильно сказал один из ораторов, КАТАСТРОФИЧЕСКИ не хватает разработчиков-энтузиастов. Потоков нет, но есть сторонние библиотечки, которые реализуют POSIX threads в userspace. Про динамические библиотеки ничего не могу сказать, не настолько в теме. Из приятного: поддержку ext2fs реализовал наш соотечественник Евгений Иванов (да-да, Горжусь Россией-тред реквест :3). Также если заглянуть в планы, то планируется портирование QT. Ну что, есть желающие поработать или только языком все чесать горазды?
*yaawn*Мы и так работаем, спасибо.
> За редким исключением, куча мечтателей в этом треде. Как правильно сказал один
> из ораторов, КАТАСТРОФИЧЕСКИ не хватает разработчиков-энтузиастов. Потоков нет, но есть
> сторонние библиотечки, которые реализуют POSIX threads в userspace. Про динамические библиотеки
> ничего не могу сказать, не настолько в теме. Из приятного: поддержку
> ext2fs реализовал наш соотечественник Евгений Иванов (да-да, Горжусь Россией-тред реквест
> :3). Также если заглянуть в планы, то планируется портирование QT. Ну
> что, есть желающие поработать или только языком все чесать горазды?Единственное, что действительно нужно сделать -- это
разделяемые библиотеки. Без этого в принципе не может быть никакой серьезной системы.
Это долго и нелегко, но это нужно сделать.
Следующий шаг -- привести систему в соответствие с POSIX,
а не закрывать баги с отговоркой "извините, это не тот POSIX, который мы поддерживаем",
дурость какая.
Этот шаг делается очень просто -- берется почти весь libc и весь, да-да, именно так, ВЕСЬ!!! юзерспейс, не завязанный на ядро, и из *BSD систем.
А потом уже нечего будет делать. Система получит мгновенно все наработки Линупса и BSD,
и MINIX практически сразу станет конкурентноспособен или по крайней мере живым.Портирование pkgsrc на Minix -- это правильный, очень правильный шаг, на 5 лет позже DragonFlyBSD, но лучше поздно чем никогда.
А тем временем, пока пишется линкер и shlibs второй
разработчик продолжает пилить драйвера, тырить их можно опять же из BSD.
Но вряд ли у господина Таненбаума хватит смелости на такой шаг.
> Портирование pkgsrc на Minix -- это правильный, очень правильный шагЯ уж было задумался -- не ты ли их сподвигнул ;-))
Года три назад я поковырялся с Minix-ом чуть-чуть,
и желание портировать туда pkgsrc у меня возникало,
уж больно убогенькая их родная система, но народ
успел это сделать до меня и без меня.Ну а портирование туда приложений (исправление ошибок сборки)
-- процесс бесконечный.
И начинать его для системы, не имеющей разделяемых
библиотек -- пустая трата времени и сил.
При загрузке с LiveCD он просит Login и Pass, что надо писать?
login: root, а пароль не спрашивает он, сразу логинится.
Спасибо за труд
А графическое окружение как? startx не катит...
с диска не загрузится. После логина вылезает сообщение как всё сделать. Нужно поставить систему на винт, потом через packman поставить X, а потом уже можно будет посмотреть.
У меня высветилось только "#". Жаль конечно, что нельзя прямо с диска.