Доброго времени суток всем.
Такой темы на хабре не нашел, решил восполнить пробел.
Сильно углубляться не буду. Что-то вроде справочника тому захочет вспомнить основные моменты или узнать в двух словах.
Средства защиты микропроцессора делятся на 2 группы:
Защиту при управлении памятью.
Защиту по привилегиям — собственно сабж.
В большинстве современных многопользовательских ОС, не входящих в семейство Unix, с каждым пользователем ассоциирован список привилегий, которыми этот пользователь обладает. В системах семейства Unix все гораздо проще: обычные пользователи не обладают никакими привилегиями. Для выполнения привилегированных функций существует пользователь c численным идентификатором 0 — суперпользователь. По традиции суперпользователь имеет символьное имя root — ``корень''.
Основа механизма защиты – уровни привилегий. Иногда (в частности – в ОС Windows) их называют кольца защиты (Protection Rings). Всего уровней привилегий четыре.

\Ring 3
В ring 3 работают все приложения, запущенные пользователями (в том числе и администраторами). Отсюда мы имеем доступ лишь к стандартным функциям, разрешенным для использования напрямую в программах.
Ring 2
Служебные программы ОС (драйверы, СУБД, специализированные подсистемы программирования и т. д.);
Ring 1
Основная часть программ ОС (утилиты);
Ring 0
Ядро ОС, обеспечивающее инициализацию работы, управление доступом к памяти, защиту и ряд других жизненно важных функций, нарушение которых полностью выводит из строя процессор;
Уровни привилегий 1, 2 и 3 подчиняются условиям, установленным на уровне 0, поэтому функционально эти четыре уровня можно разделить на 2 группы: уровень привилегий системы (0) и уровни пользователя (1, 2 и 3)
Программы и данные ограничены внутри своих уровней привилегий. Например, если программа работает на уровне привилегий 2, то она не сможет передать управление процедуре, работающей на любом другом уровне, не сможет обратиться к данным, определённым для использования на других уровнях привилегий. Процессор не допустит этого и в случае нарушений привилегий при доступе к данным и коду сгенерирует исключение общей защиты (general-protection exception) и передаст управление операционной системе.
Однако четырех уровней оказалось мало.
Режим гипервизора
Гипервизор обычно является небольшим ядром, которое управляет распределением ресурсов между несколькими операционными системами и работает уровнем ниже, чем сами операционные системы. В силу этого в терминологии x86 данный режим как правило называют кольцом −1 (Ring −1).
Режим системного управления (англ.) (System Management Mode)
Самый привилегированный режим выполнения на процессорах архитектуры x86/x86-64[1] (впервые появился в 386SL). Режим SMM («Кольцо -2») более привилегированный, чем «Кольцо 0» и аппаратный гипервизор. В этом режиме приостанавливается нормальное выполнение кода, и начинается выполнение специального кода из системного ОЗУ (SMRAM) недоступного в других режимах. Этот код получает доступ ко всей системной памяти, включая ядро и память гипервизора.
Такой темы на хабре не нашел, решил восполнить пробел.
Сильно углубляться не буду. Что-то вроде справочника тому захочет вспомнить основные моменты или узнать в двух словах.
Средства защиты микропроцессора делятся на 2 группы:
Защиту при управлении памятью.
Защиту по привилегиям — собственно сабж.
В большинстве современных многопользовательских ОС, не входящих в семейство Unix, с каждым пользователем ассоциирован список привилегий, которыми этот пользователь обладает. В системах семейства Unix все гораздо проще: обычные пользователи не обладают никакими привилегиями. Для выполнения привилегированных функций существует пользователь c численным идентификатором 0 — суперпользователь. По традиции суперпользователь имеет символьное имя root — ``корень''.
Основа механизма защиты – уровни привилегий. Иногда (в частности – в ОС Windows) их называют кольца защиты (Protection Rings). Всего уровней привилегий четыре.

\Ring 3
В ring 3 работают все приложения, запущенные пользователями (в том числе и администраторами). Отсюда мы имеем доступ лишь к стандартным функциям, разрешенным для использования напрямую в программах.
Ring 2
Служебные программы ОС (драйверы, СУБД, специализированные подсистемы программирования и т. д.);
Ring 1
Основная часть программ ОС (утилиты);
Ring 0
Ядро ОС, обеспечивающее инициализацию работы, управление доступом к памяти, защиту и ряд других жизненно важных функций, нарушение которых полностью выводит из строя процессор;
Уровни привилегий 1, 2 и 3 подчиняются условиям, установленным на уровне 0, поэтому функционально эти четыре уровня можно разделить на 2 группы: уровень привилегий системы (0) и уровни пользователя (1, 2 и 3)
Программы и данные ограничены внутри своих уровней привилегий. Например, если программа работает на уровне привилегий 2, то она не сможет передать управление процедуре, работающей на любом другом уровне, не сможет обратиться к данным, определённым для использования на других уровнях привилегий. Процессор не допустит этого и в случае нарушений привилегий при доступе к данным и коду сгенерирует исключение общей защиты (general-protection exception) и передаст управление операционной системе.
Однако четырех уровней оказалось мало.
Режим гипервизора
Гипервизор обычно является небольшим ядром, которое управляет распределением ресурсов между несколькими операционными системами и работает уровнем ниже, чем сами операционные системы. В силу этого в терминологии x86 данный режим как правило называют кольцом −1 (Ring −1).
Режим системного управления (англ.) (System Management Mode)
Самый привилегированный режим выполнения на процессорах архитектуры x86/x86-64[1] (впервые появился в 386SL). Режим SMM («Кольцо -2») более привилегированный, чем «Кольцо 0» и аппаратный гипервизор. В этом режиме приостанавливается нормальное выполнение кода, и начинается выполнение специального кода из системного ОЗУ (SMRAM) недоступного в других режимах. Этот код получает доступ ко всей системной памяти, включая ядро и память гипервизора.