Gerenciamento de memória
Tese: Gerenciamento de memória. Pesquise 862.000+ trabalhos acadêmicosPor: ubirajarabarros • 6/1/2014 • Tese • 911 Palavras (4 Páginas) • 396 Visualizações
usar como uma memória "RAM" virtual. Mas caso a memória do programa exceda a memória real do seu sistema, apenas as partes mais utilizadas pelo processo atual estarão na memória, enquanto o resto ficará armazenado no disco rígido.
Como o disco rígido é um hardware mais lento do que a memória RAM, essa memória virtual que foi dimensionada não será igual como se estivesse a utilizar uma memória RAM normal no computador.3 A melhoria é significativa quando você usa memória virtual em um computador que não tem a mesma.2
História[editar | editar código-fonte]
Todos os computadores modernos de uso genérico utilizam memória virtual para executar a mais simples das aplicações, tais como processadores de texto, folhas de cálculo, jogos, leitores multimídia, etc. Os sistemas operacionais mais antigos, como o DOS e o Microsoft Windows de 1980,4 ou os mainframes da década de 1960, geralmente não tinham a funcionalidade da memória virtual, com as excepções notáveis do Atlas B5000 e o Apple Lisa.
A memória virtual foi inicialmente criada para possibilitar a um programa ser executado em um computador com uma quantidade de memória principal (física) menor que o tamanho de todo o espaço do utilizado pelo próprio programa.5 Ou seja, o espaço ocupado pelas instruções, dados e pilha de execução de um programa pode ser maior que o espaço em memória principal disponível. Por exemplo, um programa que ocupa um total de 64 MiB pode ser executado em um computador com apenas 32 MiB disponíveis para o programa, bastando que o sistema operacional se encarregue de manter sempre na memória principal as partes adequadas à execução naquele momento.6
A memória virtual foi desenvolvido por volta de 1959-1962, na Universidade de Manchester para o Computador Atlas, terminado em 1962.7 A ideia é atribuída a John Fotheringham,8 no entanto, Fritz-Rudolf Güntsch, um cientista alemão, pioneiro da ciência computacional e, mais tarde, o criador do mainframe Telefunken TR 440, alega ter inventado o conceito em 1957, na sua tese de doutorado Logischer Entwurf eines digitalen Rechengerätes mit mehreren asynchron laufenden Trommeln und automatischem Schnellspeicherbetrieb (Conceito lógico para um sistema digital computacional com múltiplos sistemas assíncronos de armazenamento e modo de memória rápida automática).
Funcionamento[editar | editar código-fonte]
Existem dois mecanismos principais para implementação da memória virtual: paginação e segmentação9
Na paginação a memória física é dividida em blocos de bytes contíguos denominados molduras de páginas (page frames), geralmente com tamanho de 4 KiB (arquiteturas x86 e x86-64) ou 8 KiB (arquiteturas RISC) de tamanho. Por sua vez, o espaço de memória de um processo (contendo as instruções e dados do programa) é dividido em páginas que são fisicamente armazenadas nas molduras e possuem o mesmo tamanho destas.
Na segmentação existem vários espaços de endereçamento para cada aplicação (os segmentos). Neste caso, o endereçamento consiste em um par ordenado deslocamento, onde o deslocamento é a posição do byte dentro do segmento.
Na arquitetura x86 (32 e 64 bits), são usadas a segmentação e a paginação.10 O espaço de endereçamento de uma aplicação é dividido em segmentos, onde é determinado um endereço lógico, que consiste no par [segmento:deslocamento]; o dispositivo de segmentação converte esse endereço para um endereço linear (virtual); finalmente, o dispositivo de paginação converte o endereço virtual para físico, localizando a moldura de página que contém os dados solicitados.
O
...