Sistema operacional gerenciamento de memoria
Gerenciamento de Memória
1
Organização da hierarquia da memória A memória divide-se em camadas: ■ Memória principal ● Deve armazenar apenas instruções de programa necessárias no momento e dados ● Relativamente cara ● Capacidade relativamente pequena ● Alto desempenho ■ Armazenamento secundário ● Armazena dados e programas que não são constantemente necessários ● Barato ● Grande capacidade ● Baixo desempenho ■ Memória cache ● Bastante cara ● Sua velocidade é extremamente alta ● Normalmente se localiza no próprio processador ● Os dados mais comumente usados são copiados para o cache para que possam ser acessados mais rapidamente ● Uma pequena quantidade de cache é suficiente para melhorar o desempenho ■ Tipos de memória: ■ Memória física ● Memória do hardware (RAM). ■ Memória lógica ● Espaço de endereçamento de um processo (geralmente na memória virtual). Formas de organização dos programas na memória: ■ Alocação contígua ● O programa deve estar em um bloco único de endereços contíguos. ● Às vezes é impossível encontrar um bloco grande o suficiente. ● Sua sobrecarga é baixa. ■ Alocação não contígua ● O programa é dividido em porções denominadas segmentos. ● Os segmentos podem ser posicionados em partes diferentes da memória. ● É fácil encontrar “lacunas” nas quais o segmento possa se encaixar. ● Pelo fato de poder haver mais processos simultâneos na memória, isso compensa a sobrecarga própria dessa técnica.
■
Sistemas Operacionais
Gerenciamento de Memória
2
Alocação de memória contígua em sistema monousuário O sistema operacional não deve ser prejudicado pelos programas ■ O sistema não conseguirá funcionar se o sistema operacional for sobregravado. ■ Registrador de fronteira ● Contém o endereço da memória física em que o programa inicia. ● Todo acesso à memória, fora dessa fronteira, é negado. ● Só pode ser definido por comandos privilegiados. ● As aplicações podem acessar a memória do sistema operacional para executar