• Nenhum resultado encontrado

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO GERENCIAMENTO DE MEMÓRIA PROFESSOR CARLOS MUNIZ

N/A
N/A
Protected

Academic year: 2021

Share "INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO GERENCIAMENTO DE MEMÓRIA PROFESSOR CARLOS MUNIZ"

Copied!
43
0
0

Texto

(1)

INTRODUÇÃO À

TECNOLOGIA DA

INFORMAÇÃO

GERENCIAMENTO DE

MEMÓRIA

(2)

INTRODUÇÃO À TECNOLOGIA DA

INFORMAÇÃO

GERENCIAMENTO DE MEMÓRIA

CONCEITO BÁSICO DE MEMÓRIA

Memória é um recurso importante que deve ser cuidadosamente gerenciado. Enquanto a capacidade de armazenamento dos computadores vem crescendo continuamente, a complexidade 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 desta apresentação.

(3)

INTRODUÇÃO À TECNOLOGIA DA

INFORMAÇÃO

GERENCIAMENTO DE MEMÓRIA

CONCEITO BÁSICO DE MEMÓRIA

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)

INTRODUÇÃO À TECNOLOGIA DA

INFORMAÇÃO

GERENCIAMENTO DE MEMÓRIA

GERENCIAMENTO DE MEMÓRIA SEM PERMUTA OU PAGINAÇÃO

Sistemas de gerenciamento de memória podem ser divididos em duas grandes classes: aqueles que movem processos entre a memória principal e secundária (tipicamente disco) durante a execução, e aqueles que mantêm os processos fixos em memória primária. Na primeira classe, o gerenciamento é baseado em técnicas de swapping (permuta) ou de paginação.

(5)

INTRODUÇÃO À TECNOLOGIA DA

INFORMAÇÃO

GERENCIAMENTO DE MEMÓRIA

GERENCIAMENTO DE MEMÓRIA SEM PERMUTA OU PAGINAÇÃO

MONOPROGRAMAÇÃO

A técnica usada em microcomputadores será mostrada na figura(a) a seguir. A memória é dividida entre o sistema operacional e um processo do usuário. O sistema operacional pode estar no final da memória RAM (Random Access Memory) como mostrado na figura(a), ou em ROM (Read Only Memory), como mostrado na figura(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 figura(c).

(6)

INTRODUÇÃO À TECNOLOGIA DA

INFORMAÇÃO

GERENCIAMENTO DE MEMÓRIA

GERENCIAMENTO DE MEMÓRIA SEM PERMUTA OU PAGINAÇÃO

MONOPROGRAMAÇÃO

A arquitetura IBM PC original (processadores Intel x86) utilizava o modelo da figura (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).

(7)

INTRODUÇÃO À TECNOLOGIA DA

INFORMAÇÃO

GERENCIAMENTO DE MEMÓRIA

GERENCIAMENTO DE MEMÓRIA SEM PERMUTA OU PAGINAÇÃO

MONOPROGRAMAÇÃO

(8)

INTRODUÇÃO À TECNOLOGIA DA

INFORMAÇÃO

GERENCIAMENTO DE MEMÓRIA

GERENCIAMENTO DE MEMÓRIA SEM PERMUTA OU PAGINAÇÃO

MONOPROGRAMAÇÃO

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.

(9)

INTRODUÇÃO À TECNOLOGIA DA

INFORMAÇÃO

GERENCIAMENTO DE MEMÓRIA

GERENCIAMENTO DE MEMÓRIA SEM PERMUTA OU PAGINAÇÃO

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.

(10)

INTRODUÇÃO À TECNOLOGIA DA

INFORMAÇÃO

GERENCIAMENTO DE MEMÓRIA

GERENCIAMENTO DE MEMÓRIA SEM PERMUTA OU PAGINAÇÃO

MULTIPROGRAMAÇÃO E USO DA MEMÓRIA

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.

(11)

INTRODUÇÃO À TECNOLOGIA DA

INFORMAÇÃO

GERENCIAMENTO DE MEMÓRIA

GERENCIAMENTO DE MEMÓRIA SEM PERMUTA OU PAGINAÇÃO

MULTIPROGRAMAÇÃO E USO DA MEMÓRIA

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.

(12)

INTRODUÇÃO À TECNOLOGIA DA

INFORMAÇÃO

GERENCIAMENTO DE MEMÓRIA

GERENCIAMENTO DE MEMÓRIA SEM PERMUTA OU PAGINAÇÃO

MULTIPROGRAMAÇÃO E USO DA MEMÓRIA

Modelagem da Multiprogramação

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 é pn. A utilização da CPU é então 1

- pn. A figura a seguir mostra a utilização da CPU em função de

(13)

INTRODUÇÃO À TECNOLOGIA DA

INFORMAÇÃO

GERENCIAMENTO DE MEMÓRIA

GERENCIAMENTO DE MEMÓRIA SEM PERMUTA OU PAGINAÇÃO

MULTIPROGRAMAÇÃO E USO DA MEMÓRIA

Modelagem da Multiprogramação

(14)

INTRODUÇÃO À TECNOLOGIA DA

INFORMAÇÃO

GERENCIAMENTO DE MEMÓRIA

GERENCIAMENTO DE MEMÓRIA SEM PERMUTA OU PAGINAÇÃO

MULTIPROGRAMAÇÃO E USO DA MEMÓRIA

Modelagem da Multiprogramação

Da figura 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 ficar 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.

(15)

INTRODUÇÃO À TECNOLOGIA DA

INFORMAÇÃO

GERENCIAMENTO DE MEMÓRIA

GERENCIAMENTO DE MEMÓRIA SEM PERMUTA OU PAGINAÇÃO

MULTIPROGRAMAÇÃO E USO DA MEMÓRIA

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 memó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 configuração do sistema operacional.

(16)

INTRODUÇÃO À TECNOLOGIA DA

INFORMAÇÃO

GERENCIAMENTO DE MEMÓRIA

GERENCIAMENTO DE MEMÓRIA SEM PERMUTA OU PAGINAÇÃO

Multiprogramação com Partições Fixas

Quando um processo inicia, este pode ser colocado em uma fila de entrada para ocupar a menor partição de tamanho suficiente para acomodá-lo. Desde que as partições são fixas, qualquer espaço em uma partição não usado pelo processo é perdido.

(17)

INTRODUÇÃO À TECNOLOGIA DA

INFORMAÇÃO

GERENCIAMENTO DE MEMÓRIA

GERENCIAMENTO DE MEMÓRIA SEM PERMUTA OU PAGINAÇÃO

Multiprogramação com Partições Fixas

A desvantagem de se ordenar os processos que chegam em filas separadas torna-se aparente quando a fila para a maior partição está vazia, mas a fila para a menor partição está cheia, como no caso das partições 1 e 4 na figura (a). Uma organização alternativa é manter uma fila única como na figura (b). Toda vez que uma partição é liberada, a mesma é alocada ao primeiro processo da fila. Uma vez que é indesejável gastar uma partição grande com um processo pequeno, uma estratégia mais eficaz é procurar em toda fila 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,

(18)

INTRODUÇÃO À TECNOLOGIA DA

INFORMAÇÃO

GERENCIAMENTO DE MEMÓRIA

GERENCIAMENTO DE MEMÓRIA SEM PERMUTA OU PAGINAÇÃO Multiprogramação com Partições Fixas

Este sistema, com partições fixas definidas pelo operador, foi usado pelo sistema operacional OS/360 nos grandes mainframes da IBM por muitos anos. Ele era chamado de MFT (Multiprograming with a Fixed number of Task). Ele é simples de se entender e igualmente simples de implementar: os processos que chegam são colocados em uma fila até que uma partição adequada seja liberada, quando então são carregados e executados.

(19)

INTRODUÇÃO À TECNOLOGIA DA

INFORMAÇÃO

GERENCIAMENTO DE MEMÓRIA

GERENCIAMENTO DE MEMÓRIA SEM PERMUTA OU PAGINAÇÃO Multiprogramação com Partições Fixas

(a) Partições de memória fixa com filas de entrada separadas para cada partição; (b) partição de memória fixa com uma fila simples de entrada

(20)

INTRODUÇÃO À TECNOLOGIA DA

INFORMAÇÃO

GERENCIAMENTO DE MEMÓRIA

GERENCIAMENTO DE MEMÓRIA SEM PERMUTA OU PAGINAÇÃO REALOCAÇÃO E PROTEÇÃO

Multiprogramação introduz dois problemas essenciais que evem ser resolvidos: realocação e proteção. Na figura anterior está claro que diferentes processos serão executados em endereços diferentes. Quando um programa é ligado (linked)1,

o linker deve saber em qual endereço na memória o programa começará.

(21)

INTRODUÇÃO À TECNOLOGIA DA

INFORMAÇÃO

GERENCIAMENTO DE MEMÓRIA

GERENCIAMENTO DE MEMÓRIA SEM PERMUTA OU PAGINAÇÃO REALOCAÇÃO E PROTEÇÃO

Por exemplo, suponha que a primeira instrução de um programa é uma chamada para um procedimento de endereço relativo 100 dentro do arquivo binário produzido pelo linker. Se o programa for carregado na partição 1 da figura anterior(a), esta instrução saltará para o endereço absoluto 100, em plena área do sistema operacional. O que é necessário é uma chamada para 100K + 100. Se o programa for carregado na da partição 2, ele deve ser executado como uma chamada para 200K + 100, e assim por diante. Este problema é conhecido como o problema da realocação.

(22)

INTRODUÇÃO À TECNOLOGIA DA

INFORMAÇÃO

GERENCIAMENTO DE MEMÓRIA

GERENCIAMENTO DE MEMÓRIA SEM PERMUTA OU PAGINAÇÃO REALOCAÇÃO E PROTEÇÃO

Realocação durante o carregamento não resolve o problema da proteção. Pelo fato de programas operarem endereços absolutos de memória, não existe maneira de proibir um programa de ler ou gravar em qualquer posição de memória. Em sistemas multi-usuários é indesejável permitir que processos leiam e escrevam em posições de memória alocadas a outros processos.

(23)

INTRODUÇÃO À TECNOLOGIA DA

INFORMAÇÃO

GERENCIAMENTO DE MEMÓRIA

GERENCIAMENTO DE MEMÓRIA SEM PERMUTA OU PAGINAÇÃO REALOCAÇÃO E PROTEÇÃO

A solução de proteção adotada pela IBM na família 360 foi dividir a memória em blocos de 2K bytes e atribuir um código de proteção de 4 bits para cada bloco. A cada processo é atribuído um código único de 4 bits, gravado também nos blocos de memória que ele ocupa. Este código é parte do registro PSW (program status word) quando o processo tem a posse da CPU. O hardware protege qualquer tentativa de programa em execução de acessar a memória cujo código de proteção difere daquele presente na PSW. Desde que somente o sistema operacional pode mudar os códigos de proteção dos blocos de memória e dos processos, processos do usuário estão protegidos de interferências entre sí e com o sistema operacional.

(24)

INTRODUÇÃO À TECNOLOGIA DA

INFORMAÇÃO

GERENCIAMENTO DE MEMÓRIA

GERENCIAMENTO DE MEMÓRIA SEM PERMUTA OU PAGINAÇÃO REALOCAÇÃO E PROTEÇÃO

Uma solução alternativa, adotada por praticamente todos os microprocessadores atuais, para realocação e proteção é equipar a máquina com dois registradores especiais no hardware, chamados de registradores de base e limite. Quando um processo é escalonado, o registrador de base é carregado com o endereço do começo da sua partição, e o registrador limite é carregado com o tamanho da partição. Cada endereço de memória referenciado tem o conteúdo do registrador de base a ele adicionado antes de ser enviado para o barramento de acesso à memória.

(25)

INTRODUÇÃO À TECNOLOGIA DA

INFORMAÇÃO

GERENCIAMENTO DE MEMÓRIA

GERENCIAMENTO DE MEMÓRIA SEM PERMUTA OU PAGINAÇÃO REALOCAÇÃO E PROTEÇÃO

Por exemplo, se o registrador de base for 100K, uma instrução CALL 100 é efetivamente modificada para CALL (100K + 100). Endereços são comparados com o registrador de limite para prevenir endereçamento fora do espaço alocado ao processo. O hardware também protege os registradores de base e limite para evitar que programas dos usuários os modifiquem.

(26)

INTRODUÇÃO À TECNOLOGIA DA

INFORMAÇÃO

GERENCIAMENTO DE MEMÓRIA

PERMUTA (SWAPPING)

É uma técnica aplicada à gerência de memória que visa dar maior taxa de utilização à memória principal, melhorando seu compartilhamento. Visa também resolver o problema da falta de memória principal num sistema.

(27)

INTRODUÇÃO À TECNOLOGIA DA

INFORMAÇÃO

GERENCIAMENTO DE MEMÓRIA

PERMUTA (SWAPPING)

Toda vez que um programa precisa ser alocado para execução e não há espaço na memória principal, o sistema operacional escolhe entre os processos alocados que não tem previsão de utilizar a CPU nos próximos instantes (quase sempre entre aqueles que estão em interrupção de E/S ou no final da fila de pronto), e “descarrega” este processo da memória para uma área especial em disco, chamada arquivo de swap, onde o processo fica armazenado temporariamente. Durante o tempo em que o processo fica em swap, o outro que necessitava de memória entra em execução ocupando o espaço deixado pelo (...)

(28)

INTRODUÇÃO À TECNOLOGIA DA

INFORMAÇÃO

GERENCIAMENTO DE MEMÓRIA

PERMUTA (SWAPPING)

(...) que saiu. Pouco antes de chegar a vez do processo armazenado em swap utilizar a CPU, o sistema escolhe um outro processo para descarregar para swap e devolve o anterior da área de swap para a memória principal, para que este possa ser executado novamente. E vai trabalhando assim até que os processos vão terminando. O problema dessa técnica é que pode provocar um número excessivo de acesso à memória secundária (disco), levando o sistema a uma queda de desempenho.

(29)

INTRODUÇÃO À TECNOLOGIA DA

INFORMAÇÃO

GERENCIAMENTO DE MEMÓRIA

MEMÓRIA VIRTUAL

Memória virtual é uma técnica sofisticada e poderosa de gerência de memória onde as memórias principal e secundária são combinadas, dando ao usuário a impressão de que existe muito mais memória do que a capacidade real de memória principal. O conceito de memória virtual baseia-se em não vincular o endereçamento feito pelo programa aos endereços físicos da memória principal. Desta forma, o programa e suas estruturas de dados deixam de estar limitados ao tamanho da memória física disponível, pois podem possuir endereços vinculados à memória secundária, que funciona como uma extensão da memória principal.

(30)

INTRODUÇÃO À TECNOLOGIA DA

INFORMAÇÃO

GERENCIAMENTO DE MEMÓRIA

MEMÓRIA VIRTUAL

Outra vantagem desta técnica é permitir um número maior de processos compartilhando a memória principal, já que apenas partes de cada processo estarão residentes. Isto leva a uma utilização mais eficiente do processador, além de minimizar (ou quase eliminar) o problema da fragmentação.

(31)

INTRODUÇÃO À TECNOLOGIA DA

INFORMAÇÃO

GERENCIAMENTO DE MEMÓRIA

MEMÓRIA VIRTUAL

A seguir, os conceitos que envolvem a gerência de memória virtual, incluindo a paginação:

• Espaço de endereçamento virtual: é o conjunto de endereços virtuais que um processo pode endereçar.

• Espaço de endereçamento real: analogamente, é o conjunto de endereços reais que um processo pode endereçar.

(32)

INTRODUÇÃO À TECNOLOGIA DA

INFORMAÇÃO

GERENCIAMENTO DE MEMÓRIA

MEMÓRIA VIRTUAL

Mapeamento: como o espaço de endereçamento virtual não tem

nenhuma relação com o espaço de endereçamento real, um programa pode fazer referência a um endereço virtual que esteja fora dos limites da memória principal (real), ou seja, os programas e suas estruturas de dados não estão mais limitados ao tamanho da memória física disponível. Quando um programa é executado, apenas uma parte do seu código fica residente na memória principal, permanecendo o restante na memória virtual até o momento de ser referenciado. Este esquema de endereçamento virtual é ignorado pelo programador no desenvolvimento das aplicações. (...)

(33)

INTRODUÇÃO À TECNOLOGIA DA

INFORMAÇÃO

GERENCIAMENTO DE MEMÓRIA

MEMÓRIA VIRTUAL

(...)Cabe ao compilador e ao linkeditor gerar códigos executáveis em função do endereçamento virtual, e o sistema operacional se incumbe de administrar os detalhes durante a sua execução. O processador apenas executa instruções e referencia dados residentes no espaço de endereçamento real. Portanto, deve existir um mecanismo que transforme os endereços virtuais em endereços reais. Este mecanismo é o que chamamos de mapeamento, e consiste em permitir a tradução do endereço virtual em endereço real. Como conseqüência, um programa não mais precisa estar necessariamente em endereços contíguos na memória real para ser executado.

(34)

INTRODUÇÃO À TECNOLOGIA DA

INFORMAÇÃO

GERENCIAMENTO DE MEMÓRIA

MEMÓRIA VIRTUAL

Tabela de endereçamento de páginas: estrutura mantida pelo

sistema para armazenar, entre outras informações, o mapeamento. É única e exclusiva para cada processo, relacionando os endereços virtuais do processo ás suas posições na memória real.

Memória virtual por paginação: é a técnica de gerência de

memória onde o espaço de endereçamento virtual e o espaço de endereçamento real são divididos em blocos do mesmo tamanho chamados páginas. As páginas do espaço virtual são chamadas páginas virtuais, enquanto as páginas do espaço real são chamadas páginas reais ou frames.

(35)

INTRODUÇÃO À TECNOLOGIA DA

INFORMAÇÃO

GERENCIAMENTO DE MEMÓRIA

MEMÓRIA VIRTUAL

Page fault: é a falha de página. Sempre que o processo referencia um endereço virtual, o sistema verifica se a página correspondente já está carregada na memória real. Se não estiver, acontece o page fault. Neste caso, o sistema deve transferir a página virtual para um endereço na memória real. Esta transferência é chamada de paginação. O número de page faults gerados por um processo em um determinado intervalo de tempo é chamado de taxa de paginação do processo. Se esta taxa atingir valores elevados, pode haver um comprometimento do desempenho do sistema. (...)

(36)

INTRODUÇÃO À TECNOLOGIA DA

INFORMAÇÃO

GERENCIAMENTO DE MEMÓRIA

MEMÓRIA VIRTUAL

(...) Um page fault provoca uma interrupção no processo, pois há a necessidade de acessar operações de E/S. Assim, sempre que acontece a paginação, uma interrupção de E/S fará com que o processo em execução seja interrompido e colocado em estado de espera até que sua intervenção de E/S seja realizada, quando então o processo voltará à fila de pronto e entrará em execução de acordo com o escalonamento normal. Enquanto o sistema trata a interrupção deste processo, um outro ocupará a CPU.

(37)

INTRODUÇÃO À TECNOLOGIA DA

INFORMAÇÃO

GERENCIAMENTO DE MEMÓRIA

MEMÓRIA VIRTUAL

Workingset: é o conjunto de páginas de um processo, em memória real, em um determinado instante. Este conceito surgiu com o objetivo de reduzir o problema do thrashing e está relacionado ao princípio da localidade. Existem dois tipos de localidade que são observados durante a execução da maioria dos programas. A localidade espacial é a tendência de que, após uma referência a um endereço de memória, sejam realizadas novas referências a endereços próximos ou adjacentes. (...)

(38)

INTRODUÇÃO À TECNOLOGIA DA

INFORMAÇÃO

GERENCIAMENTO DE MEMÓRIA

MEMÓRIA VIRTUAL

(...)A localidade espacial é a tendência de que, após a referência a uma posição de memória, esta mesma posição seja referenciada novamente num curto intervalo de tempo. A partir desse princípio de localidade, o processador tenderá a concentrar suas referências a um conjunto de páginas do processo durante um determinado período de tempo. Imagine um loop principal de um programa que ocupe três páginas. A tendência é que estas três páginas tenham um alto índice de referências durante a execução do programa.

(39)

INTRODUÇÃO À TECNOLOGIA DA

INFORMAÇÃO

GERENCIAMENTO DE MEMÓRIA

MEMÓRIA VIRTUAL

Thrashing: é o efeito causado pelo excesso de page faults durante a

execução de um processo. Pode acontecer a nível de programa ou de sistema. A nível de programa, pode ser provocado por um programa mal escrito, com desvios incondicionais espalhados por seu código (desobedecendo portanto aos princípios da localidade), ou por um limite de workingset muito pequeno (que não comporte o loop principal do programa, por exemplo). A solução para estes casos é reescrever o programa ou aumentar o limite do workingset. No caso de thrashing de sistema, significa que há mais páginas sendo requeridas na memória real do que ela pode realmente suportar. A

(40)

INTRODUÇÃO À TECNOLOGIA DA

INFORMAÇÃO

GERENCIAMENTO DE MEMÓRIA

MEMÓRIA VIRTUAL

Tamanho da página: deve estar entre 512 bytes e 128KB, aproximadamente. Páginas menores promovem maior compartilhamento da memória, permitindo que mais programas possam ser executados. Páginas maiores diminuem o grau de compartilhamento da memória, com menos programas disputando o processador. Assim conclui-se que quanto menor o tamanho da página, MAIOR é o grau de compartilhamento da memória e da CPU.

(41)

INTRODUÇÃO À TECNOLOGIA DA

INFORMAÇÃO

GERENCIAMENTO DE MEMÓRIA

MEMÓRIA VIRTUAL

Políticas de busca de páginas: definem como as páginas serão

carregadas da memória virtual para a memória real. A política por demanda estabelece que uma página somente será carregada quando for referenciada. Este mecanismo é conveniente, pois leva para a memória real somente as páginas realmente necessárias à execução do programa, ficando as outras na memória virtual. A outra política, chamada paginação antecipada, funciona carregando antecipadamente várias páginas da memória virtual para a principal, na tentativa de economizar tempo de E/S. Nem sempre o sistema acerta na antecipação, mas o índice de acertos é quase sempre maior que o de erros.

(42)

INTRODUÇÃO À TECNOLOGIA DA

INFORMAÇÃO

GERENCIAMENTO DE MEMÓRIA

MEMÓRIA VIRTUAL

Políticas de alocação de páginas: determinam quantos frames cada processo pode manter na memória real. A política de alocação fixa determina um limite de workingset igual para todos os processos, e pode ser vista como uma política injusta, na medida em que processos maiores normalmente necessitam de um workingset maior. A outra política é a variável, que define um limite de workingset diferente e variável para cada processo, em função de seu tamanho, taxa de paginação ou até mesmo da taxa de ocupação da memória principal.

(43)

INTRODUÇÃO À TECNOLOGIA DA

INFORMAÇÃO

GERENCIAMENTO DE MEMÓRIA

MEMÓRIA VIRTUAL

Políticas de substituição de páginas: definem onde serão

trocadas as páginas, quando se fizer necessária uma substituição. Na política local, somente as páginas do processo que gerou o page fault são candidatas a serem substituídas.Já na política global, todas as páginas alocadas na memória principal são candidatas à substituição, independente do processo que gerou o page fault. Como uma página de qualquer processo pode ser escolhida, pode ser que este processo sofra um aumento temporário da taxa de paginação em função da diminuição das suas páginas alocadas em memória.

Referências

Documentos relacionados

O direito de atuar na qualidade de mandatário para o domínio de marcas e/ou desenhos ou modelos num Estado deve incluir o direito de representar clientes perante o Instituto

Eu vim tentando mostrar que há algo porque há seres que são necessários, a saber, o espaço, o tempo e as leis naturais básicas; e, assim, não poderia haver nada. E que as

Temos então que na música ouvimos um movimento que não é o de objetos nem de uma psique, mas o movimento puro de forças fluindo em mudanças de estado e dinâmica. Esta

Relacionar os resultados obtidos com os valores de referência da Resolução 357/2005 do Conselho Nacional do Meio Ambiente (CONAMA) (Brasil, 2005), para verificação

“Considero bem importante esse serviço prestado pela cooperativa e sempre busco orientação antes de realizar um negócio, escolher a melhor aplicação, fazer empréstimos

• Não houve correlação entre a necessidade de densitometria avaliada pelo SAPORI fratura por baixo impacto VS e a realização do exame pelo indivíduo.. • Deste modo, sugere-se

O processo de gerenciamento da capacidade foi desenhado para assegurar que a capacidade da infraestrutura de TI esteja alinhada com as necessidades do negócio. O

Quando o Segurado estiver impedido de se deslocar por seus próprios meios em caso de doença ou Lesão em decorrência de Acidente Pessoal no Estabelecimento de Ensino ou em