Довольно часто встречается ситуация, когда необходимо передать управление между уровнями привилегий. Например, такая ситуация возникает при необходимости вызова стандартной подпрограммы операционной системы из прикладной программы. Или позволить прикладной программе прочитать данные из ядра операционной системы. Поскольку защита по привилегиям не разрешает такие действия напрямую, это осуществляется двумя косвенными методами: с использованием сегментов подчиненного кода и шлюзов вызова.