O gerenciamento de memória é uma das funções mais críticas de um Sistema Operacional (SO) moderno. Para permitir a multiprogramação, o SO deve garantir que cada processo tenha a ilusão de possuir um espaço de endereçamento privado e contíguo, impedindo que um processo acesse ou modifique dados de outro de forma indevida. Esse isolamento é viabilizado por uma combinação de suporte de hardware e de estruturas de dados mantidas pelo kernel.
Dadas as afirmativas sobre os mecanismos de endereçamento e de isolamento de processos e threads,
I. O uso de Memória Virtual, implementado por meio de tabelas de páginas (Page Tables), permite que o endereço lógico (virtual) gerado pela CPU seja mapeado em um endereço físico na RAM, garantindo que processos distintos possam utilizar o mesmo endereço lógico sem conflitos de memória.
II. A Unidade de Gerenciamento de Memória (MMU) é um componente de software integrado ao escalonador do SO, responsável por verificar, em tempo de execução, se o endereço de memória solicitado por um processo pertence ao seu segmento de dados.
III. Na arquitetura de threads, o Sistema Operacional mantém tabelas de páginas distintas para cada thread de um mesmo processo, garantindo o isolamento completo da pilha (stack) e dos dados globais entre elas.
IV. O fenômeno da fragmentação externa é comum em sistemas que utilizam segmentação pura ou alocação contígua, sendo mitigado em sistemas operacionais modernos por meio da paginação que divide a memória física em quadros (frames) de tamanho fixo.
verifica-se que estão corretas