OSDev
http://osdev.su/

OS Runtime
http://osdev.su/viewtopic.php?f=5&t=1609
Страница 1 из 1

Автор:  uselec [ 02 дек 2017, 16:59 ]
Заголовок сообщения:  OS Runtime

Давно мучает вопрос, почему не разрабатывают ОС (я говорю о тех, для кого разработка операционок это хобби, разумеется) которые концептуально были бы что-то вроде рантайма, который предоставляют например различные ЯП. Сборка мусора, AOT\JIT компиляция кода. Работа в нулевом кольце (безопасность обеспечивалась бы ннепосредственным контролем этого рантайма того, кода который он загружает). Вместо памяти процессов, как таковой - структуры\объекты, управляемые GC. ну и все в таком духе (расписывать подробно все это нет смысла, достаточно взять любой современныя дианамический ЯП работающий поверх VM или jit-engine'а).

Я слышал про исследовательские проекты типа Сингулярити у Майкрософта и все такое. Но мне больше любопытно, почему подобные концепты не пробуют реализовывать те, кто просто увлекается разработкой ОС. А повсеместно идут по одному и тому же пути, начиная с колец защиты.

Я предполагаю, что вопрос в производительности. С другой стороны, такие вещи как JVM, v8, luajit, etc, достачтоно шустро работают и при том, в юзерспейсе. При этом у них большой оверхед ввиду переключений контекста при обращениях к ОС низлежащей. Неужели, если бы ядро этих рантаймов работало непосредственно в нулевом кольце, и само из себя представляло "операционную систему", где роли компонентов\драйверов\етк выполняли бы объекты этого рантайма, все было бы так печально?

Может я неправ конечно, и такие концепты кто-то и пилит. Но сколько я не читаю этот форум (а в режиме ридонли я уж много лет) ни разу не встречал чего-то, что было бы концептуально интересно и "ново". Даже обсуждений этих тем не видел (может ткнете пальцем? было бы интересно почитать\послушать мнения).

Автор:  SII [ 02 дек 2017, 19:07 ]
Заголовок сообщения:  Re: OS Runtime

Ну, вообще-то полноценная ОС -- это целая куча всего и вся, но её первейшая задача, без решения которой всё остальное попросту невозможно -- это управление аппаратурой и обеспечение "общения" прикладных программ с этой самой аппаратурой. И каким боком к этому может относиться сборка мусора и JIT? Не говоря о том, что эти вещи, скажем так, не страдают высокой эффективностью, ну а если у тебя неэффективна самая основа ОС, всё остальное автоматически будет неэффективным, как ты его ни делай.

Ну а все эти JVM отнюдь не шустро работают. Они работают крайне медленно и неэффективно, если сравнивать объём работы, проделываемой прикладной программой (т.е. тем, ради чего, собственно, все эти вещи и существуют -- для решения задач пользователя, а не для самих себя), с производительностью процессоров. Грубо говоря, то, что в 70-х годах решалось парой десятков килобайт кода и процессором, делающим полмиллиона операций в секунду, сейчас требует гигабайтов ОЗУ, а процессоры суммарно выдают десятки миллиардов оп/с. Т.е., попросту говоря, ресурсы выбрасываются на ветер (а вместе с ними и энергия, потребляемая всем этим делом).

Автор:  pavia [ 03 дек 2017, 19:33 ]
Заголовок сообщения:  Re: OS Runtime

Это очень трудная тема. О ней каждый задумывается. Но помимо ОС тут ещё и компилятор нужен.
Взять UNIX он же работает без 0 ядра. И как раз таки основная вещь это моделирование виртуализация аппаратных ресурсов. И ОС эта сильно продвинулась. Только вот почему-то никто не стал её развивать. Хотя трудного ничего нет.

Виртуальные машины они тормознутые.
Мне больше нравится идея QT сигналы и слоты. По сути проблема вытесняющей многозадачности в сохранение контекста. А при вызове сигналов мы можем не беспокоится о контексте. Хотя состояние объекта всё ещё не определено. Решение функциональный подход. Хотя у меня есть ещё и своё секретное решение.

Сборка мусора неэффективна, лучше подсчёт ссылок.

Автор:  D-S [ 04 дек 2017, 09:54 ]
Заголовок сообщения:  Re: OS Runtime

Большинство до этого не доходят. Всё что Вы перечислили - высокоуровневые сервисы на ядре, но полноценное ядро для этого надо ещё создать. В описаниях сингулярити деликатно умолчали, что было уже что-то готовое, на что они накручивали сервисы.

Автор:  Himik [ 23 дек 2017, 12:03 ]
Заголовок сообщения:  Re: OS Runtime

uselec писал(а):
Давно мучает вопрос, почему

Потому, что так нельзя. Для рантайма виртуальной машины (ВМ) нужно низкоуровневое ядро, драйверная система, и собственно драйвера аппаратуры. Рантайм ВМ не может собой заменить ядро. Но смысл запуска ВМ на уровне ядра есть - меньше переходов между кольцами защиты. Но опять же, надо посчитать выигрыш эффективности. Речь идёт в лучшем случае об 1 - 5% ускорения, виртуальщики этого и не заметят.

Автор:  Лихомант [ 04 апр 2018, 04:57 ]
Заголовок сообщения:  Re: OS Runtime

uselec писал(а):
Давно мучает вопрос, почему не разрабатывают ОС (я говорю о тех, для кого разработка операционок это хобби, разумеется) которые концептуально были бы что-то вроде рантайма, который предоставляют например различные ЯП

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

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/