El mode protegit és una mode operacional de les CPU compatibles x86 de la sèrie 80286 i posteriors. El mode protegit té un nombre de noves característiques dissenyades per millorar les multitasques i l'estabilitat del sistema, com protecció de memòria, i maquinari per a memòria virtual i de commutació de tasca. De vegades és abreujat com p-mode i també anomenat Protected Virtual Address Mode (Mode d'adreça virtual protegida) al manual de referència de programador del iAPX 286 d'Intel , (Nota, iAPX 286 és només un altre nom per al Intel 80286). Al 80386 i processadors de 32 bit s posteriors es va afegir un sistema de paginació que és part de la mode protegit.
La majoria dels sistemes operatius x86 moderns corren en mode protegit, incloent Linux, FreeBSD, OpenBSD, NetBSD, i Microsoft Windows 3.0 i posteriors. (Windows 3.0 també corria al mode real per a la compatibilitat amb les aplicacions de Windows 2.x).
L'altre mode operacional principal de l'286 i CPU posteriors és el mode real, una mode de compatibilitat cap enrere que desactiva les característiques pròpies de la mode protegit, dissenyat per permetre al programari vell córrer en els xips més recents. Com una especificació de disseny, tots els CPU x86 comencen en mode real en el moment de càrrega (boot time) per assegurar compatibilitat cap enrere amb els sistemes operatius heretats, excepte el fosc Intel 80376 dissenyat per a aplicacions encastades. Aquests processadors han de ser canviats a mode protegit per un programa abans que estigui disponible qualsevol característica d'aquesta mode. En ordinadors moderns, aquest canvi és generalment una de les primeres tasques realitzades pel sistema operatiu en el temps de càrrega.
Mentre que la multitasca en sistemes corrent en mode real és certament possible mediada per programari, les característiques de protecció de memòria de la mode protegit prevenen que un programa erroni pugui danyar la memòria "pròpia" d'una altra tasca o del nucli del sistema operatiu. El mode protegit també té suport de maquinari per interrompre un programa en execució i canviar el context d'execució a un altre, permetent pre-emptive Multitasking.
El Manual de Referència del Programador del iAPX 286 d'Intel indica que el mode protegit és només una coberta sobre el conjunt d'instruccions del 80186, i de fet, per als programadors d'aplicacions, el mode protegit 80286 no va afegir molt més enllà de tenir accés de fins a 16 MB de memòria física i d'1 GB de memòria virtual (512 MB global, 512 MB local). També era compatible amb el codi de la mode real a nivell binari, així que en teoria, el codi d'aplicació del 8086 i 80.186 podia córrer en mode protegit si seguia les regles, (encara que correria més lent que en la mode real perquè la càrrega de registres de segment és més lenta):
En realitat, gairebé tots els programes d'aplicacions del DOS violar aquestes regles, per la manca de reemplaçament de trucades de DOS o del BIOS, o a causa de l'insuficient nivell d'acompliment d'aquestes trucades. Les violacions més comunes eren aritmètica de segment i l'accés directe del maquinari. També algunes de les interrupcions del BIOS usaven números que van ser reservats per Intel. En altres paraules, el mode protegit era menys compatible amb aplicacions de DOS que amb aplicacions de mode real i per tant hi havia una necessitat del mode 8086 virtual, que va venir amb el 386.
En mode protegit, hi ha quatre nivells de privilegi o anells, numerats de 0 a 3. El codi del nucli (kernel) del sistema operatiu, que necessitareu utilitzar instruccions privilegiades corre en l'anell 0, i les aplicacions de l'usuari corren normalment en l'anell 3.
El sistema operatiu d'assignar anells 1 i 2 a serveis de sistema, com protocols de xarxa o la gerència de finestres, que les aplicacions poden trucar. El fer això, li permet als serveis accedir directament les dades de l'aplicació, mentre que es protegeixen d'aquestes, així com el nucli queda protegit dels serveis. Tanmateix, això requereix, al sistema operatiu, fixar la protecció de memòria a nivell de segment (perquè en el 80386, la protecció de nivell de pàgina no pot distingir entre els anells 0, 1, i 2) i pot ser difícil si el sistema operatiu necessita ser portable a processadors amb suport per només dos anells. En comptes d'això, un sistema operatiu pot arribar a una protecció equivalent o més forta en córrer els serveis en l'anell 3 però en un diferent espai de direcció. Tanmateix, això costa més, al tenir una commutació de context més complexa a l'hora de la trucada, llevat que al servei li sigui donat un Task State Segment (segment d'estat de tasca) separat, el processador primer ha de canviar l'anell 0 per canviar l'espai de direcció, i després tornar a l'anell 3 per executar el servei.
El processador comprova nivells de privilegi en les següents situacions. Si el codi que corre no té prou privilegis, el resultat és generalment una excepció que el sistema operatiu pot gestionar, però també hi ha les instruccions que fan els mateixos controls sense aixecar excepcions.
El RPL en el registre CS (segment de codi) és sempre el nivell actual de privilegi. La lectura d'aquest registre no pot ser atrapada, el que complica la virtualització nativa de sistemes operatius, ja que aquests normalment esperen tenir l'anell 0 per si mateixos. Veure virtualització x86.
Aquestes inclouen:
Algunes d'elles van usar el que estava documentat com bits reservats en l'anterior processador 286 al manual de referència del programador del iAPX 286 d'Intel .