Pesquisa

quinta-feira, 16 de junho de 2011

Acesso à Memória do OS/2


O sistema operacional DOS foi projetado originalmente para gerenciar apenas 640 Kbytes de memória RAM, utilizando-se de uma combinação de registradores de 16 bits. Posteriormente, com a necessidade de maior quantidade de memória para os programas que iam surgindo, foram desenvolvidas expansões de memória.

Para acessar essa memória foi desenvolvido um pequeno programa (um device driver) de apoio ao sistema operacional, que é carregado logo após a inicialização do micro. Esse programa permite que o DOS reconheça a memória "estendida" (XMS) e possa utilizar-se dela para o armazenamento de dados. Porém, os programas não podem ser executados nessa área da memória, devido à incapacidade de endereçamento causado pelos registradores de 16 bits.

O sistema operacional OS/2 utiliza-se de registradores de 32 bits para realizar suas operações. Portanto, pode endereçar mais do que 640 Kbytes para a execução de programas. Ao invés de separar a memória em memória base e memória estendida, ele utiliza a memória como um todo, o que é chamado de memória planar. Pode-se dizer que a memória toda é a memória base.

Além da memória física da máquina, o sistema operacional disponibiliza uma memória virtual, de acordo com a necessidade dos programas que estiverem sendo executados. Por exemplo, se for definida uma sessão DOS com 12 Mb de RAM e o computador só tiver 8 Mb de memória física, o OS/2 irá emular a memória necessária pela sessão. Ou seja, a sessão DOS em execução "enxergará" uma memória estendida de 12 Mb e o sistema operacional OS/2 fará com que parte desses 12 Mb fique armazenado em um arquivo em disco enquanto não estiver sendo utilizado. Esse arquivo é chamado de arquivo de swap, porque o conteúdo da memória é trocado com o conteúdo desse arquivo de acordo com a necessidade do sistema.