Gabarito C
Memória virtual é uma técnica que usa a memória secundária como uma cache para armazenamento secundário. Houve duas motivações principais: permitir o compartilhamento seguro e eficiente da memória entre vários programas e remover os transtornos de programação de uma quantidade pequena e limitada na memória principal.
A memória virtual consiste em recursos de hardware e software com três funções básicas:[1][2]
(i) realocação (ou recolocação), para assegurar que cada processo (aplicação) tenha o seu próprio espaço de endereçamento, começando em zero;
(ii) proteção, para impedir que um processo utilize um endereço de memória que não lhe pertença;
(iii) paginação (paging) ou troca (swapping), que possibilita a uma aplicação utilizar mais memória do que a fisicamente existente (essa é a função mais conhecida).
Simplificadamente, um usuário ou programador vê um espaço de endereçamento virtual, que pode ser igual, maior ou menor que a memória física (normalmente chamada memória DRAM - Dynamic Random Access Memory).
A memória virtual deixou os programadores despreocupados com quanto de memória seu programa irá precisar para rodar no computador e se o respectivo programa poderia rodar com outros sem travar, podendo o programador se preocupar mais com a tarefa de programação do que com quanto o programa irá gastar de memória.
"Retroceder Nunca Render-se Jamais !"
Força e Fé !
Fortuna Audaces Sequitur !