O que faz o gerenciamento de memória do esquema de organização da memória e das estratégias do armazenamento?

Grátis

23 pág.

O que faz o gerenciamento de memória do esquema de organização da memória e das estratégias do armazenamento?

O que faz o gerenciamento de memória do esquema de organização da memória e das estratégias do armazenamento?

  • Denunciar


Pré-visualização | Página 1 de 8

Capítulo 4
Gerenciamento de Memória
Memória é um recurso importante que deve ser cuidadosamente gerenciado. Enquanto a
capacidade de armazenamento dos computadores vem crescendo continuamente, a complexida-
de do software cresce talvez à taxas maiores. A parte do sistema operacional que gerencia a
memória é chamada de gerenciador de memória, sendo o objeto deste capítulo.
Dentre outras tarefas, o gerenciador de memória monitora quais partes da memória estão
em uso e quais estão disponíveis; aloca e libera memória para os processos; e gerencia a permuta
de processos entre memória principal e secundária (quando a memória principal não é capaz
de abrigar todos os processos).
4.1 Gerenciamento de Memória Sem Permuta ou Pagina-
ção
Sistemas de gerenciamento de memória podem ser divididos em duas grandes classes: aque-
les que movem processos entre a memória principal e secundária (tipicamente disco) durante a
execução, e aqueles que mantêm os processos �xos em memória primária. Na primeira classe,
o gerenciamento é baseado em técnicas de swapping (permuta) ou de paginação.
4.1.1 Monoprogramação
O esquema mais simples possível de gerenciamento de memória consiste em ter-se somente
um processo na memória durante toda a sua execução. O usuário carrega um programa do
disco para a memória, podendo este fazer uso de toda a máquina. Se a memória for insu�ciente,
o programa simplesmente tem sua execução rejeitada. Embora essa técnica ter sido comum em
meados da década de sessenta, ela não é mais utilizada.
A técnica usada em microcomputadores é mostrada na �gura 4.1. A memória é dividida
entre o sistema operacional e um processo do usuário. O sistema operacional pode estar no
�nal da memória RAM (Random Access Memory) como mostrado na �gura 4.1(a), ou em ROM
(Read Only Memory), como mostrado na �gura 4.1(b), ou ainda tendo os device drivers em
ROM e o resto do sistema operacional em RAM ocupando a parte baixa da memória, como
mostrado na �gura 4.1(c).
A arquitetura IBM PC original (processadores Intel x86) utilizava o modelo da �gura 4.1(c),
com os device drivers localizados no bloco de 8K mais alto dentro do espaço de 1M de endere-
çamento. O programa na ROM é chamado de BIOS (Basic Input Output System).
4.1 Gerenciamento de Memória Sem Permuta ou Paginação 67
cional em RAM
sistema opera-
usuário
programa do
sistema opera-
cional em ROM
usuário
programa do
drivers de dispo-
sitivos em ROM
usuário
programa do
0xFFF...
0
(b) (c)(a)
cional em RAM
sistema opera-
Fig. 4.1: Três formas de organizar a memória para o sistema operacional e um processo do
usuário
Quando o sistema é organizado dessa maneira, somente um processo pode estar em execução
por vez. O usuário entra com um comando no terminal, e o sistema operacional carrega o
programa requerido do disco para a memória e o executa. Quando o processo termina, o
sistema operacional reassume a CPU e espera por um novo comando para carregar um outro
processo na memória já liberada pelo primeiro.
4.1.2 Multiprogramação e Uso da Memória
Embora a monoprogramação seja usada em pequenos computadores, em computadores com
múltiplos usuários ela é proibitiva. Grandes computadores frequentemente provêem serviços
interativos para vários usuários simultaneamente. Para tal, a habilidade de ter-se mais de
um processo na memória em um mesmo instante de tempo é imprescindível por razões de
desempenho.
Uma outra razão para ter-se a multiprogramação, é que muitos processos gastam uma
substancial fração do seu tempo para completar E/S em disco. É comum para um processo
permanecer em um loop lendo um bloco de dados de um arquivo em disco e então realizando
alguma computação sobre o conteúdo dos blocos lidos. Se for gasto 40 mseg para ler um bloco
e a computação demanda apenas 10 mseg, sem a multiprogramação a CPU estará desocupada
esperando pelo acesso ao disco durante 80% do tempo.
Modelagem da Multiprogramação
Quando a multiprogramção é usada, o percentual de utilização da CPU aumenta. Via de
regra, se a média dos processos utilizam CPU somente 20% do tempo que permanecem na
memória, com 5 processos em memória, a CPU deverá estar ocupada o tempo todo. Este
modelo é otimista, entretanto, pois assume que os 5 processos nunca estejam esperando por
E/S ao mesmo tempo, bem como despreza o esforço de gerenciamento dos 5 processos por parte
do sistema operacional.
O melhor modelo é ver o uso da CPU do ponto de vista probabilístico. Suponha que os
processo gastem em média uma fração p do tempo à espera de E/S. Com n processos na
memória por vez, a probabilidade que todos os n processos estejam esperando por E/S é p
n
.
4.1 Gerenciamento de Memória Sem Permuta ou Paginação 68
A utilização da CPU é então 1� p
n
. A �gura 4.2 mostra a utilização da CPU em função de n,
chamado grau de multiprogramação.
100
80
60
40
20
0 1 2 3 4 5 6 7 8 9 10
grau de multiprogramação (n)
80 de E/S
50% de E/S
20% de E/S
utilização da CPU (%)
Fig. 4.2: Utilização da CPU como uma função do número de processos na memória
Da �gura está claro que caso os processos gastem 80% do seu tempo esperando por E/S,
ao menos 10 processos devem estar na memória por vez para obter um desperdício de CPU
em torno de 10%. Quando se considera que um processo interativo aguardando comandos do
terminal está em um estado de espera de E/S, deve �car claro que tempos de espera para E/S
superiores a 80% são usuais. Processos utilizando unidades de armazenamento com elevada
frequência, também contribuem para o aumento deste percentual.
4.1.3 Multiprogramação com Partições Fixas
Se adotarmos a estratégia de admitir mais de um processo na memória por vez, devemos
estabelecer uma estratégia de organização da mémória. A estratégia mais simples consiste
em dividir a memória em n partições (possivelmente diferentes). Estas partições podem, por
exemplo, ser estabelecidas na con�guração do sistema operacional.
Quando um processo inicia, este pode ser colocado em uma �la de entrada para ocupar
a menor partição de tamanho su�ciente para acomodá-lo. Desde que as partições são �xas,
qualquer espaço em uma partição não usado pelo processo é perdido. A �gura 4.3(a) apresenta
este esquema de partição.
A desvantagem de se ordenar os processos que chegam em �las separadas torna-se aparente
quando a �la para a maior partição está vazia, mas a �la para a menor partição está cheia,
como no caso das partições 1 e 4 na �gura 4.3(a). Uma organização alternativa é manter uma
�la única como na �gura 4.3(b). Toda vez que uma partição é liberada, a mesma é alocada
ao primeiro processo da �la. Uma vez que é indesejável gastar uma partição grande com um
processo pequeno, uma estratégia mais e�caz é procurar em toda �la de entrada a maior tarefa
para a partição liberada. Note que o último algoritmo discrimina os processos pequenos, quando
é usualmente desejável dar a eles o melhor tratamento, não o pior.
Este sistema, com partições �xas de�nidas pelo operador, foi usado pelo sistema operacional
OS/360 nos grandes mainframes da IBM por muitos anos. Ele era chamado de MFT (Multi-
programing with a Fixed number of Task). Ele é simples de se entender e igualmente simples
4.1 Gerenciamento de Memória Sem Permuta ou Paginação 69
operacional
sistema
partição 2
partição 1
partição 4
partição 3
operacional
sistema
partição 2
partição 1
partição 4
partição 3
100K
200K
400K
700K
(b)(a)
Fig. 4.3: (a) Partições de memória �xa com �las de entrada separadas para cada partição; (b)
partição de memória �xa com uma �la simples de entrada
de implementar: os processos que chegam são colocados em uma �la até que uma partição
adequada seja liberada, quando então são carregados

Quais as funções do gerenciamento de memória?

Sua principal função é controlar o uso da memória estendida do computador, de modo que dois ou mais aplicativos ou dispositivos não utilizem o mesmo endereço de memória ao mesmo tempo.

O que é e qual o objetivo do gerenciamento de memória?

Objetivos do Gerenciamento de Memória Tentar manter na memória principal o maior número de processos residentes, permitindo maximizar o compartilhamento d processador e demais recursos computacionais.

Como funciona o gerenciamento de memória do Windows?

Gerenciamento de memória A memória física recebe aquilo que o Windows considera essencial, como o próprio sistema operacional e as aplicações que o usuário estiver usando no momento. O restante, ou seja, aquilo que o Windows acredita que não será usado tão urgentemente, fica na memória virtual.