2. MODELOS DE GERENCIAMENTO DE MEMÓRIA
Existem vários diferentes modelos para a
organização e o gerenciamento de memória os
quais trataremos brevemente:
Monoprogramado com armazenamento real
Multiprogramado com partições fixas sem
armazenamento virtual
Multiprogramado com partições variáveis sem
armazenamento virtual
Multiprogramado com armazenamento virtual
através de paginação
Multiprogramado com armazenamento virtual
através de segmentação
Multiprogramado com armazenamento virtual
através de paginação e segmentação combinadas
3. MONOPROGRAMADO COM ARMAZENAMENTO REAL
Neste modelo de gerenciamento a memória é
dividida em duas partições distintas, de tamanhos
diferentes, onde uma é utilizada pelo sistema
operacional e a outra é utilizada pelo processo do
usuário, conforme ilustrado na Figura 4.17.
Monoprogramado com armazenamento real,
também chamado de modelo de alocação
contínua, armazenamento direto, era a forma mais
comum de gerenciamento de memória até meados
da década de 1960. Também era a técnica mais
comum usada pelos sistemas operacionais das
primeiras gerações de microcomputadores.
5. Esta forma de gerenciamento de memória é bastante
simples e permite que apenas um processo seja
executado de cada vez, o que limita a programação a
construção de programas estritamente sequenciais.
Na prática este esquema de gerenciamento só está
preparado para a execução de um programa de cada
vez, sendo que raramente a memória será inteiramente
utilizada, sendo frequente a existência de uma área livre
ao final da área de programa destinada ao usuário.
Dado que o espaço de endereçamento corresponde a
quantidade de memória primária fisicamente instalada
no sistema, que não são utilizados mecanismos de
memória virtual e que usualmente apenas um processo
(programa) era executado de cada vez, este modelo de
organização também é conhecido como organização
monoprogramada real.
6. Exemplo de S.Os que usavam Monoprogramado com
armazenamento real:
Como exemplo o PC-DOS/MS-DOS (Disk Operating
System), sistema operacionais dos microcomputadores
IBM e seus compatíveis, utiliza um esquema
semelhante, onde o sistema operacional ficava
residente na primeira parte da memória e a área de
programa destinada aos usuários utilizava o espaço
restante dos 640 Kbytes de espaço de endereçamento
disponíveis.
O CP/M (Control Program/Monitor ), dos
microcomputadores Apple e compatíveis utilizava
esquema semelhante. No caso do DOS, vários outros
esquemas adicionais forma criados para estender as
capacidades básicas (e bastante limitadas) de
endereçamento do sistema operacional, entre elas os
mecanismos de extensão de memória e os overlays.
7. Os overlays (do termo recobrimento), são o
resultado da estruturação dos procedimentos de
um programa em forma de árvore, onde no topo
estão os procedimentos mais usados e nos
extremos os menos utilizados.
Esta estruturação deve ser feita pelo usuário,
satisfazendo as restrições do programa a ser
desenvolvido e da memória disponível no sistema.
Uma biblioteca de controle dos overlays, que
funcionava como um sistema de gerenciamento de
memória virtual, deve ser adicionada ao programa
e mantida na memória todo o tempo, procura
manter apenas os procedimentos de uma seção
vertical da árvore, minimizando a quantidade
necessária de memória física e assim superando
as limitações do DOS [GUI86, p. 184].
8. PARTICIONAMENTO FIXO
Dada as vantagens dos sistemas
multiprogramados sobre os monoprogramados, é
necessário que a memória seja dividida de forma
tal a possibilitar a presença de vários processos
simultaneamente.
A maneira mais simples de realizar-se esta tarefa é
efetuar a divisão da memória primária do sistema
em grandes blocos os quais são denominados
partições.
As partições, embora de tamanho fixo, não são
necessariamente iguais, possibilitando diferentes
configurações para sua utilização, como ilustrado
na Figura 4.18.
10. Enquanto o sistema operacional utiliza
permanentemente uma destas partições,
usualmente a primeira ou a última, os processos
dos usuários podem ocupar as demais partições,
cujo número dependerá do tamanho total da
memória do sistema e dos tamanhos das partições
realizadas.
Geralmente as partições eram determinadas
através da configuração do sistema operacional, o
que poderia ser feito de tempos em tempos ou até
mesmo diariamente pelo operador do sistema.
Até uma nova definição dos tamanhos das
partições, os tamanhos e posições anteriormente
definidos eram fixos.