A principal diferença entre o modo real e o modo protegido em uma CPU (especificamente, CPUs de arquitetura x86) está na maneira como a CPU gerencia memória e recursos:
Modo real: *
Endereço de memória: Usa um espaço de endereço de 20 bits, limitando a memória endereçável a 1 MB (1.048.576 bytes). Toda a memória é diretamente endereçável por qualquer programa. Não há proteção de memória.
*
Segmentação de memória: A segmentação é usada, mas é simples e amplamente transparente para o programador. Os segmentos são tipicamente 64kb de tamanho e o processador calcula o endereço físico combinando um seletor de segmento e um deslocamento. No entanto, os seletores de segmento oferecem principalmente uma maneira de organizar logicamente a memória, em vez de fornecer proteção.
*
Proteção da memória: Sem proteção de memória. Um programa pode substituir facilmente a memória de outro ou a memória do sistema operacional, levando a falhas e instabilidade do sistema.
*
multitarefa: Não suportado diretamente. Apenas um programa pode ser executado por vez.
* Instruções privilegiadas: Todas as instruções estão disponíveis para todos os programas. Não há distinção entre operações privilegiadas (como acessar portas de E/S) e as não privilegiadas.
*
Interrupções: O manuseio básico de interrupção está presente, mas não possui os recursos sofisticados do modo protegido.
*
Sistemas operacionais: Sistemas operacionais muito básicos e de tarefas únicas, como o MS-DOS, operavam principalmente no modo real.
Modo protegido: *
Endereço de memória: Usa um espaço de endereço de 32 bits (ou 64 bits em modo de 64 bits), permitindo o acesso a uma memória muito mais (4 GB em 32 bits, teoricamente mais em 64 bits). A memória é dividida em segmentos, mas esses segmentos são usados para aplicar a proteção da memória.
*
Segmentação de memória: A segmentação é mais sofisticada. Os segmentos podem ter diferentes direitos de acesso (somente leitura, leitura-gravação, executar somente), e a CPU aplica essas restrições. Isso impede que um programa acidentalmente ou maliciosamente acesse ou modifique a memória de outro programa. A paginação (um mecanismo de memória virtual) é normalmente usada em conjunto com a segmentação para o gerenciamento e proteção de memória aprimorados.
*
Proteção da memória: A forte proteção da memória é um recurso central. Cada programa é executado em seu próprio espaço de memória protegido, impedindo conflitos e falhas.
*
multitarefa: Totalmente suportado. A CPU pode alternar entre vários programas rapidamente, dando a ilusão de execução simultânea.
* Instruções privilegiadas: As instruções são divididas em privilegiadas e sem privilégios. Somente o sistema operacional (em execução no modo kernel) pode executar instruções privilegiadas, fornecendo uma camada de segurança e estabilidade.
*
Interrupções: É fornecido um manuseio sofisticado de interrupção, incluindo portões de interrupção e chamadas de sistema para acesso controlado a operações privilegiadas.
*
Sistemas operacionais: Sistemas operacionais modernos, como Windows, MacOS e Linux, operam exclusivamente no modo protegido (ou em seu equivalente de 64 bits).
em suma: O modo real é um modo herdado, simples, mas inseguro e limitado. O modo protegido é o padrão moderno, fornecendo proteção de memória, multitarefa e um ambiente muito mais estável e seguro para programas de execução. A transição do modo real para o modo protegido é uma etapa fundamental para inicializar um computador moderno.