Архитектура компьютераУровни выполнения программы.

В процессорах Intel семейства i386 и совместимых с ним, если мне память не изменяет, было четыре уровня выполнения программы процесором. С 0-го по 3-й, их ещё "кольцами защиты" называли. Но создатели большинства ОС, использующих такую защиту, использовали только два значения из четырёх возможных, 0-е для ОС и 3-е для пользовательских программ. В результате, когда (для ускорения работы гипервизоров систем виртуализации и для подгрузки патчей микрокода) потребовались уровни выше того, в котором работает ОС, производителям i386-совместимых процессоров пришлось "уходить в минус". Сейчас, как я читал, немного неявно существуют уровни "-1" и "-2".

Но ведь если задуматься, то как красиво ложится эта схема на троичную нумерацию!
Вряд ли придётся патчить микрокод RISC-процессора, значит уровень выполнения "-2" не нужен. А оставшиеся уровни (гипервизора, операционной системы, пользовательского приложения) отлично укладываются в один трит.

kvas,

Мнения

  • 002Бармалейкин

    Судя по гипервизору, вы замахнулись на виртуализацию :)

    • 003kvas

      А куда без неё в более-менее современных ЭВМ?
      1) либо рынок embedded-устройств, которым не то что виртуализация, а даже и консоль ни к чему (ну разве что serial-консоль)
      2) либо аналог персоналки, но тогда виртуализация будет весьма востребована.

      Например в DragonflyBSD интересная концепция есть, когда ещё одно ядро можно запустить как задачу уже работающим ядром. Правда мне кажется более приспособленной к жизни другая концепция виртуализации (где интерфейс BIOS представляет собой псевдо-гипервизор, а любая запускаемая ОС работает только с вызовами [псевдо-]гипервизора, а не с железом), но это уже вопрос не архитектуры, а реализации.

      • 004kvas

        И уж как совсем попавшее в яблочко доказательство жизненности концепции такого [псевдо-]гипервизора, это режим работы любой "Other OS", ну хоть той же Linux, на игровых приставках Sony PS3.

  • 005Alexander ObukhovТринари

    Ещё хорошо бы привести источники/литературу по поводу «колец защиты».
    В чём особенность таких вот уровней.
    Есть ли подобное в других не x86 архитектурах?

    • 006kvas

      Источники - это документация на i386-совместимые процессоры (могу выложить, но в сети и так полно), начиная с него самого и заканчивая теми нынешними, которые 32-х битный режим ещё поддерживают.
      Как реализована защита в процессорах других семейств, увы, я не в курсе, тесно работал только с семейством x86-совместимых ЦП. Но вряд ли отличия принципиальны, ну пусть это не "кольцами защиты" а "режимом работы процессора" называется, не в названии ведь дело.