«Кольца защиты» и «режимы ЦП» - это одно и то же?
В основном это зависит от того, как разработчик / производитель ЦП захотел определить свою терминологию.
Для 80х86; терминология определяется так, что существует несколько режимов ЦП (реальный режим, защищенный режим, длинный режим и т. д. c), а некоторые из режимов ЦП имеют уровни привилегий, которые не являются режимами ЦП. Однако Intel могла бы определить это больше как «защищенный режим имеет 4 подрежима, по одному на каждый уровень привилегий», если они хотят.
Для других процессоров терминология может быть определена так, что существует «супервизор». режим "и" пользовательский режим "(и, возможно, другие режимы -" режим виртуализации "," режим IRQ "и т. д. c). ARM определяет свою терминологию следующим образом (но они могли бы определить свою терминологию больше как «ЦП имеет только 2 режима (обычный режим и режим гипервизора), а все остальное - что-то еще (уровень привилегий)», если они захотят).
Итак, "Защитные кольца" - это абстракция уровня ОС? В чем разница между «защитными кольцами» и «режимами ЦП»?
В общем, концепция защитных колец (разбиение ОС на слои и наличие слоев с разными разрешениями / привилегиями) намного старше, чем 80x86. (по крайней мере, такой же старый, как и мультиплексные устройства в 1960-х годах, но, возможно, более старый и, вероятно, датируемый системами пакетной обработки в 1950-х годах), а дизайн защищенного режима 80x86 был просто реализацией существовавшей ранее концепции.
Однако ни одна современная ОС (о которой я знаю) не использует эту концепцию (например, «весь код пользователя в одном домене защиты»); и вместо этого они используют значительно большую изоляцию (например, «каждый отдельный процесс в своем изолированном домене защиты»), что делает довольно бессмысленным иметь более 2 уровней привилегий (один для управления изоляцией, а другой для всего, что было изолировано друг от друга) .