Сотрудники высшей технической школой Цюриха (ETH Zurich), совместно с исследователями из Microsoft Research, объявили (http://www.barrelfish.org) о доступности новой версии операционной системы Barrelfish (http://www.barrelfish.org/), разрабатываемой с оглядкой на многопроцессорные системы и системы-на-кристалле, имеющие в своем составе большое количество специализированных процессоров. Это уже второй важный релиз операционной системы, первая экспериментальная версия которой была представлена на Симпозиуме по Принципам Операционных систем (SOSP) в октябре 2009 года.От других операционных систем Barrelfish отличается прежде всего тем, что использует совершенно новый подход к проектированию ОС, получивший имя multikernel (мультиядро). Смысл метода в том, чтобы превратить многопроцессорную/многоядерную машину в некое подобие кластера, каждое отдельное процессорное ядро которого будет управляться собственной операционной системой. Достигается это за счет расщепления ядра ОС на множес...
URL: http://barrelfish.org/
Новость: http://www.opennet.me/opennews/art.shtml?num=31152
У вас еще есть свободные ядра? У нас есть для них операционка!
У вас еще есть свободные ядра? Тогда мы идем к вам. (C) - Юристы Microsoft
MS != MS Research
Но юристы там одни и те же.
Microsoft Research (MSR) — подразделение корпорации Microsoft, созданное в 1991 году для исследования различных вопросов и тем в области информатики.
MS Research, похоже, это типа заказчика т.к. проект, на первый взгляд, не использует инструменты от MS. Все реализовано на свободных инструментах.
> MS != MS ResearchА Стив Баллмер в курсе? А то стоит только взять что-то из их разработок и не дай боже с этого что-то поиметь как их юристы наверняка припрутся устраивать рэкет, как обычно.
Охренеть! Microsoft и MIT. Куда катится этот Мир. :-)
Вы-таки не понимаете - лицензия Mit является наилучшей питательной средой для Microsoft и иже с ними... Как и прочие "ПОЛНОСТЬЮ" свободные лицензии...
не Microsoft, а Microsoft Research. Совершенно разные команды.
Да, это удобно. МС патентует алгоритм, МС Ресерч выпускает СВОБОДНЫЙ код, его реализующий, и все, кто им воспользуется, будут ходить под угрозой иска от МС априори.
Свобода в стиле МС...
Прецеденты были?
Прецедентов сейчас навалом с андроидом, завязывай уже с розовыми очками.
Цель майкрософт - максимум денег для акционеров согласно законодательству.
А при чем тут андроид? Андроид разве использует код, разработанный Microsoft Research? На него же не по этому предлогу наезжают, а из-за невидимых сферических патентов как бы.
> Андроид разве использует код, разработанный Microsoft Research?Вот именно, что наезд идет на независимую разработку. А если использовать их разработки, то шансы подставится еще больше при прочих равных
> А при чем тут андроид?При том что если уж до чужой разработки дое...сь, от уж до своей и подавно до...тся, потому что наверняка запатентовали заранее каждый пук.
Не говоря о том, что защитить в суде свою, альтернативную, реализацию технологии, накрытой патентом, можно и нужно. А вот используя нативную, от патентодержателя, можно даже не трепыхаться.
С тем же Андроидом МС еще доказать надо, что патент в этом случае имеет силу.
Вообще, подозреваю, они и открывают код именно для того, чтобы народ ленился делать альтернативные реализации и не составил им конкуренции. А ежели надумает - см. выше.
"согласно законодательству" - лишнее в этой фразе: многочисленные решения суда тому подтверждение.
Наивное рассуждение. Так делает не только Microsoft. Тот же Google поступает аналогично с Opensource-проектами.
> Наивное рассуждение. Так делает не только Microsoft. Тот же Google поступает аналогично
> с Opensource-проектами.Google одновременно с открытием кода переводит все связанные патенты в Royalty Free.
Ждем хотя бы один прецедент подобного поведения МС.
Хотя мы люди взрослые и можем сказать честно: не ждем...
> не Microsoft, а Microsoft Research. Совершенно разные команды.Да, а принцип зато всегда одинаковый: полноценную версию MS, а объедки - нахаляву, вы там их пилите, а мы потом из них дескать свою полную версию системы - сделаем. А если вы охамеете и вздумаете на этом что-то зарабатывать да еще не дай боже не платя крыше - ну вы же знаете что вам предложат "защиту от проблем" в типичном стиле "гони бабки, а не то..."
> не Microsoft, а Microsoft Research. Совершенно разные команды.И они, конечно же, никаким образом не пересекаются? ;-)
Research делает открытия, а просто M$ их патентует. Чего не понятного? :)
> Research делает открытия, а просто M$ их патентует. Чего не понятного? :)Кто девушку кормит, то её и танцует. Элементарно, Ватсон!
http://www.barrelfish.org/barrelfish.png очень символично - дырявая бочка
> http://www.barrelfish.org/barrelfish.png очень символично - дырявая бочкаи не менее символично: "Content-type: application/octet-stream".
> каждое отдельное процессорное ядро которого будет управляться собственной операционной системойА чем это отличается от подхода, реализованного в Dragonfly BSD?
В dragonflybsd - lightweight kernel threads же. Мне этот принцип многоядерности скорее L4 Fiasco напомнил. Когда ядро(kernel, не cpu) настолько маленькое, что каждое приложение таскает с собой его копию.
> lightweight kernel threads жеДа не в lwkt соль. В драгонфлае по шедулеру (считай, по kernel-у) на каждое cpu-ядро, потоки привязаны к ядрам, между ядрами обмен асинхронными сообщениями. http://www.dragonflybsd.org/goals/
Есть еще одна OS, по принципам похожая на предложенную архитектуру NonStop Kernel (NSK). Историю она ведет из глубины компьютерной истории. Там аналогично, на каждом CPU своя Memory и свой kernel, и общение между ними идет через ServerNet по средствам сообщений. И общение между CPU и устройствами IO так же через ServerNet.
Сейчас этой технологией владеет HP. К сожалению к открытым система не относится.
> что довольно красноречиво подтверждается замерами производительностиОбъявленные замеры ещё не смотрел, но интересно, запустится ли ОС на, скажем, 6-ядерном феноме, и будут ли видны какие-то плюсы в производительности?
Интересно, кто-нить уже собрал (лень самому собирать)?
Да, но лень отвечать
Ну то, что на каждое core или CPU отдельное ядрышко, может, и неплохо. Но то, что эти ядра экзо-... Вирусы, трояны, руткиты будут очень любить экзоядра ;)
>Но то, что эти ядра экзо-... Вирусы, трояны, руткиты будут очень любить экзоядра ;)Как-нибудь можешь это аргументировать?
Можно аргументировать тем, что экзоядро (в его классическом определении), подразумевает libOS, которая находится в пользовательском пространстве, но имеет доступ ко всем ресурсам. Таким образом нет контроля над ресурсами. А значит "очень любить"...
</>Смысл метода в том, чтобы превратить многопроцессорную/многоядерную машину в некое подобие кластера, каждое отдельное процессорное ядро которого будет управляться собственной операционной системой.<\>
Кажется в КЛОСС это уже было.
а где исошки???
amoeba, python etc. А Танненбаум и не знает
А GNU Hurd нельзя ли отнести к такому типу операционок? Или есть принципиальные отличия от DragonFly и обсуждаемой здесь?
Хёрд не поддерживает многопроцессорность. Это ну ОЧЕНЬ принципиальное отличие.
Это некий аналог CORBA, JavaEE или удалённого вызова СОМ объекта?
>...с помощью посылки сообщений другим ядрамПри большом количестве ядер такой интерконнект должен съедать много ресурсов.
в амёбе это вроде не мешало, давало постоянный оверхед и всё. Там больше концептуальные проблемы с безопасностью были.
Основная проблема такой архитектуры, как тут уже было сказано, это безпасность.
В текущей реализации не исключен прирост производительности даже до 60% по отношению к примеру к линуксу, хотя это конечно зависит от конкретно задачи.Суть такая - когда система представляет из себя множество объектов общающихся между собой посредством какого-либо интерфейса, то встает вопрос о проверки сообщений на соответствие спецификации интерфейса, в противном случае безопасность и стабильность работы не гарантируется.
На стадии начальной разработки ни стабильность ни безопасность не являются приоритетными, в особенности для этого проекта, имеющего статус исследовательского.
В реальности если готовить эту ось для промышленного использования, то придется перелопатить массу кода улучшая безопасность, что несомненно приведет к значительному падению производительности.Все преимущества данной реализации на текущих x86* многопроцессорных системах выражается в повышении хит рейта кеша за счет локализации обрабатываемых данных.
Аналогичного результата можно достичь и на линуксе, всего-то навсего переписав шедулер, или локализовав выполнение основных процессов на нужных ядрах при помощи process/irq affinity.Скорее всего данная ОС предназначена для сверх-многопроцессорных >12 систем рынок которых только начинает формироваться, не исключена также возможность использования в качестве фирмваре в видеокартах будущего.
У Амёбы насколько я знаю проблема заключалось в том, что не было проверки прав доступа процесса на объект - зная чужой дескриптор, можно было делать с ним что хочешь. Был алгоритм генерации хэша дескриптора, видимо против опечаток или тупого брутфорса, но безопасности это не помогало. Но это концептуальная ошибка только Амёбы, не думаю что в других системах это так уж сложно сделать. Опять же, смотря на какой рынок это всё ориентируется - если для кластера, как Амёба, на котором всякий люд работает, то нельзя такое ставить, а если для embedded, когда на одну железку (пусть даже с 1024 ядрами, у ibm такие есть) весь пользовательский софт от одного производителя ставится (типа firmware для одной задачи), то может быть даже и пошло бы.
Кстати, вот тут интересно: http://mobius.cs.uiuc.edu/~rcrepal2/barrelfish_lecture.pdf
Забавно.
А общение между ядрами сделать вообще по tcp/ip.
Ядро 192.168.0.2, ядро 192.168.0.3, мастер-ядро 192.168.0.1, типа шлюз.
Чем то мне это напоминает qnx6...
Картинка на сайте хорошая, изначально дает понять что операционка дырявая =)
Я вот сколько не помню рекламных фото MS - на большинстве, индусы.
Зашел по ссылке на сайт ОС - там тоже есть индусы :)
Не подумайте я не росист, или еще что то.
Просто разработчики знают как пишут индусы :)
REQUIRED TOOLS
47
48 The following are required to build Barrelfish and its tools:
49 * GCC 4.x
50 * 4.4.5, and 4.5.2 are known to work
51 * cross-compiling between i386 and x86_64 works
52 (requires libc6-dev-i386 to build 32 bit on 64 bit machine)
53 * for the ARM port, we recommend the EABI tools available from CodeSourcery:
54 http://www.codesourcery.com/sgpp/lite/arm
55 * GNU binutils (2.19 is known to work)
56 * GNU make
57 * GHC v6.10 or v6.12.2 and Parsec 2.1
58 * earlier versions of GHC are unsupported
59 * GHC v6.12.1 has a known bug and is unable to build our toolsМС ресеарч не гнушавится гнутым софтом ;) Ждем Линдовс от корпорации зла.