Pull to refresh

Comments 16

Человека видимо автор минусует? А статья действительно за 95й год.
Автор только глаза продрал, благо живет в более другом часом поясе.
Ну да, за 95 год. И что?
Ну, например, то, что за 16 с лишним лет экзо-, нано- и микроядра не завоевали мир — что-то да значит.

Сама по себе статья — мягко говоря, странная — содержит массу напыщенных слов типа «абстракция», «гибкость», «эффективность» и т.д. — но на практике, если заглянуть в оригинал, результат сводится к тому, что «да, мы написали очередную вариацию микроядра, оно вообще, конечно, само по себе тормозное, но для некоторых задач вы можете подключить вот такой-то вот сверхоптимизированный планировщик или менеджер виртуальной памяти и получить мощный рост в несколько раз».

Все современные операционные системы — гибридные. Модульные варианты всевозможных планировщиков, менеджеров, подсистем безопасности и всевозможная перенастройка частей ядра на лету уже давным давно реальность, но в итоге не таким способом, как пророчили в 95-ом году.

Современные IT развиваются не совсем так, как то, на что ориентировались в 95-ом. Сейчас в трендах, например, кластеры — т.е. как таковая аппаратная независимость конкретной вычислительной ноды от всех остальных. Если мы оптимизируемся под конкретное приложение, нам по сути не нужна сверхмодульная ОС по частям, нам вполне достаточно вкомпилировать монолитно один конкретный компонент и использовать это ядро на одной из нод кластера. Сейчас в трендах виртуализация — опять же, де факто отдельное выполнение отдельно настроенного ядра.

Мейнфреймы и прочие гигантские системы, где одна по сути железка с одним ядром обслуживает всех пользователей на все случаи жизни, плавно умирают уже десятки лет.
Ну, например, то, что за 16 с лишним лет экзо-, нано- и микроядра не завоевали мир — что-то да значит.
В общем случае — ничего не значит, ленивые вычисления, языки, предназначенные для многопроцессорных систем и компиляция в байт-код тоже очень долго пылились на полках.
Для начала, таки да, многие идеи, разработанные относительно давно, начинают применяться только сейчас. Та же самая виртуализация — первая ОС, работающая именно монитором виртуальных машин (то есть основная ОС просто выделяла ресурсы виртуальным машинам, на которых уже работали пользователи), была разработана в дремучем 1979 году (VM/370, А. Танненбаум, «Современные операционный системы»).
По поводу напыщенности и абстрактности — это перевод только части статьи, о чем я сказал в самом начале. Собственно, только аннотация и введение.
Прошу прощения за некую резкость, но я в целом всю эту статью представляю, и действительно считаю что она в значительной степени устарела. Если проводить аналогии — да, в принципе, сейчас до сих пор можно кое-что узнать об алгоритмах, скажем, компьютерной графики, по книжке 70-80-х годов, но здоровая часть проблематики и алгоритмов, которая там описана, сейчас уже стали неактуальны из-за здорового шага вперед в аппаратной части, а многое из того, о чем только мечтали и что предрекали — вполне стало реальностью.

Если брать конкретно уж теорию про экзоядра — то мне кажется, что не стоит тратить время и переводить именно эту статью. Навскидку — если уж именно переводить — то что-то из более позднего, из района кэмбриджских представлений о Nemesis — там уже по сути отошли от упирания на то, что «экзоядро — это круто, потому что мы дадим каждому процессу свои планировщики/менеджеры — и это очень эффективно». Взамен этого они стали уже упирать на более правильные и честные алгоритмы распределения ресурсов, в том числе построение в районе этого распределения общих для всех типов ресурсов алгоритмов, тем самым автоматически достигая того, что называется «real time OS», автоматически получая виртуальную память, различные алгоритмы вытеснения и т.д. Nemesis предполагалось использовать как сверхсистему для нагруженной работы с multimedia в real-time — т.е. всякие обслуживания эфиров и т.п. С таким подходом мне уже гораздо трудней что-то противопоставить — здесь действительно есть определенное непаханное поле, хотя, с другой стороны, в последние лет 5-10 в этой области рулят GPU и всякие потоково-конвейнерные алгоритмы на них (что по сути тоже разгружает центральный процессор и делает задачу более теоретически красивой балансировки нагрузки на него куда менее актуальной).

Я бы предложил вам перевести, например, краткую презентацию Nemesis — это презентация 1998 года (Nemesis как проект загнулся в 1999). Она хороша тем, что очень простым языком, не вдаваясь в сложные технические подробности, показывает идеологию построения последнего (актуального) поколения экзоядерных систем, их приоритеты, сильные и слабые стороны. Ну и, да, там есть картинки — что тоже полезно :)
«Abstract» переводится как «Аннотация», а не как «Абстракция»…
А драйверы? Как я понял, дрова писать в каждом приложении самим?

Также не понятна область применения подобных ОС.
дрова писать в каждом приложении самим

Это вряд ли. Обычно в системах такого типа драйвер может быть един на всю систему. Просто с точки зрения ядра это такой же процесс внешнего, пользовательского уровня — как и любая другая библиотека или прикладная программа.
Наши исследования показали, что приложения могут сильно выйграть от того
«Выйграть»? Издеваетесь? Нет, в самом деле, откуда эта дрянь попёрла? Ладно ещё в комментариях, но в статье!
Разве только в «выйграть» дело?
«заимодействия», «испольщован», «экзоядро должно защищать фреймбуфферов» (вообще перл). Не говоря уж о менее явных ошибках, типа «Что бы предоставить».
И это при том, что я статью, собственно, не читал. Ибо читать ее невозможно, по качеству перевода она напоминает результат какого-нибудь генератора текста :(
>>«экзоядро должно защищать фреймбуфферов» (вообще перл).
не надо тут на Perl гнать ;)
Only those users with full accounts are able to leave comments. Log in, please.