Насколько эффективна гипотетическая ОС в едином адресном пространстве?

Предположим, мы хотим реализовать операционную систему в едином адресном пространстве для уменьшения издержек, связанных с системными вызовами. Т.е. системные вызовы не будут отличаться от вызова обычных (виртуальных) функций. Однако переключения контекста при вытесняющем планировании, а также порождённые ими инвалидации кэша никуда не денутся. Вопрос: насколько сильно получится выиграть в производительности по сравнению с конвенциональным подходом?
  • Вопрос задан
  • 164 просмотра
Пригласить эксперта
Ответы на вопрос 2
leahch
@leahch
3D специалист. Dолго, Dорого, Dерьмово.
Да, будут эффективными, но без сохранения контекста и восстановления никуда не деться. Код приложений будет реентерабельный, защита же все равно будет через MMU. А без защиты - любое приложение или ошибка, положит всю систему.
Более того, такие ОС есть. Например OS-9 https://ru.m.wikipedia.org/wiki/OS-9
Чего лишимся? Будет гораздо труднее делать swap, так как у нас не будет транслятора памяти, и нельзя будет сохранить дамп процесса и на это место подгрузить дамп другого процесса.
Ответ написан
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
Однако переключения контекста при вытесняющем планировании, а также порождённые ими инвалидации кэша никуда не денутся.

Но VIPT/PIPT кэш не нужно инвалидировать при переключении контекста, а VIVT, мне кажется, уже давно никто не делает.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы