Beruflich Dokumente
Kultur Dokumente
Paginao
Outra soluo para o problema da fragmentao externa
Permitir que o espao de endereamento lgico no seja contguo. Facilita alocar os buracos da memria. o Evita o problema idntico com a memria secundria. Alto custo para compactao
o
Memria fsica dividida em partes de tamanho fixo, chamadas de blocos (frames) Memria lgica dividia em partes de mesmo tamanho, chamada de pginas Memria secundria dividida em partes do mesmo tamanho dos blocos da memria principal
Paginao
Atribuio de endereo em tempo de execuo semelhante a usar uma tabela de registradores de base, um para cada bloco.
0 1 2 3 Pgina 0 Pgina 1 Pgina 2 Pgina 3 ... ... Memria Lgica 0 1 2 3 1 4 3 7 ... ... Tabela de Pginas Memria Fsica 4 5 6 7
Paginao
Tabela de Pginas
Paginao
tamanho das pginas
O tamanho da pgina (e do bloco) definido de acordo com o hardware. Normalmente uma potncia de 2 (usualmente entre 512 bytes e 8192 bytes)
CPU
23 436
Paginao
Fragmentao externa resolvida Fragmentao interna:
o o
Paginao
Paginas menor = menor fragmentao interna Paginas maiores, menores os gastos com as tabelas de pginas e mais eficientes as transferncias (E/S) em disco. Separao entre memria fsica e a viso que o usurio tem da memria (espao nico e contguo) SO mantm cpia (ponteiro) das tabelas de pginas de cada processo maior tempo gasto em uma mudana de contexto.
Memria associativa ou TLB (Translation Look-Aside Buffer) cache em hardware de pequena capacidade e busca rpida.
Proteo de Memria
Proteo de memria implementado pela associao de um bit de proteo com cada bloco de memria Bit valido/invalido relacionado a cada entrada na tabela de pgina
valido indica que a pgina associada est no espao de endereos lgicos do processo, isto , uma pgina vlida. o invalido indica que a pgina no est no espao de endereos lgicos do processo.
o
Bit de Validade
n da pgina deslocament o
P2 Tabela Pag P2
Problema
Se o SO remover P1 da memria, P2 ter de trazer de volta todas as pginas que compartilhava de P1. Se P1 terminar, preciso determinar se suas pginas ainda esto em uso, de forma que seu espao em disco no seja liberado.
Exerccio
Considere que os processos da tabela abaixo devem ser executados em um SO com paginao. A memria total de 64K, o tamanho das pginas de 4K e o SO ocupa 8K. Mostre como seria a alocao de quadros para cada processo.
Processo P1 P2 P3 P4 Mem. (K) 8 6 15 20 T. Cheg 0 1 2 15 T. Execuo 10 15 10 5
Substituio de Pginas
O Sis. Op. aloca as pginas na RAM medida que os processos as pedem.
o
Uma tentativa de acesso a uma pgina que no est na RAM provoca uma falta de pgina
o o
Substituio de pginas:
Quando no h espao na RAM, quais pginas devem ser descartadas para possibilitar o page-in de outras? o Determinar uma pgina vtima o Otimizao pelo uso de alguns bits
Bit de sujeira ; direitos de acesso (RO)
Globais
Todas as pginas so consideradas como um pool nico. Qualquer pgina, de qualquer processo, pode ser escolhida.
Locais
Para cada processo, se mantm um conjunto de frames em uso (working set) Para efetuar um page-in, a pgina substituda ser escolhida dentro do working set do processo que pediu o page-in
Pros e Contras
As polticas globais:
Acarretam no roubo de pginas de processos menos prioritrios, pelos processos mais gulosos. o Assim, o comportamento de alguns processos se repercute no andamento de outros.
o
As polticas locais:
o o
timo; NRU; FIFO; Segunda Chance; Relgio; LRU; Working set; WSClock;
02 bits associados a cada pgina R e M Classe 0 no referenciada, no modificada; Classe 1 no referenciada, modificada; Classe 2 referenciada, no modificada; Classe 3 referenciada, modificada;
Periodicamente, o bit R limpo para diferenciar as pginas que no foram referenciadas recentemente;
A cada tick do relgio ou interrupo de relgio;
Classe 3 Classe 1;
Imagine retirar um produto de um supermercado, dado que um novo chegou, e no tem mais espao nas prateleiras; O supermercado mantm uma lista de todos os produtos, por ordem de chegada; Deve-se retirar o produto estocado a mais tempo; Se o produto retirado for cera para bigode. Blz; Mas e se for acar ou cerveja por exemplo? Situao anloga a FIFO;
Simples, mas pode ser ineficiente, pois uma pgina que est em uso constante pode ser retirada; o Pouco utilizado;
o
Se o bit R==0, ento pgina retirada da memria, seno, R=0 e se d uma nova chance pgina colocando-a no final da lista; Se pgina A com R==1; e falta de pgina em tempo 10; Ento R=0 e pgina A vai para final da lista;
0 1 pgina 1 pgina A 3 B
3 B 7 C
7 C 8 D
pgina mais recentemente usada no incio da lista, menos usada no final da lista atualizao da lista cada referncia memria
Gerenciamento de Memria Troca de Pginas - Paginao Software: NFU (No usada freqentemente)
o Para
cada pgina existe um contador iniciado com zero e somado ao bit R a cada interrupo de clock;
Pgina com menor valor do contador candidata a troca;
Paginao por demanda pginas so carregadas na memria somente quando so necessrias; o Pr-paginao Working set
Conjunto de pginas que um processo est efetivamente utilizando (referenciando) em um determinado tempo t;
o
Para simplificar o working set pode ser visto como o conjunto de pginas que o processo referenciou durante os ltimos t segundos de tempo; o Utiliza bit R e o tempo de relgio (tempo virtual) da ltima vez que a pgina foi referenciada;
* Se todas as pginas 2003 1 estiverem com R=1, 1980 1 uma pgina escolhida 1213 0 randomicamente para ser 2014 1 removida; 2020 1 ** Se todas as pginas 2032 1 estiverem no WS, a pgina mais velha 1620 0 Tabela de Pginas com R=0 escolhida;
Nova trocapgina
Nova pgina
Segmentao
Segmentao
Paginao = decomposio do espao de endereamento lgico em parties fixas, pequenas e arbitrrias. Na verdade, o espao lgico NO bem um espao linear entre 0 e N-1 O espao se decompe naturalmente em vrios segmentos lgicos.
o
Quais segmentos ??
Estruturas de dados do processo:
o o o o
O segmento de texto pode ser decomposto. Exemplo: um segmento por biblioteca/sub-rotina Tm tamanhos diferentes; Tm um nome; So uma faixa contgua de endereos indo de 0 at N-1
Os segmentos:
Tabela de Segmentos
Os endereos lgicos passam a ser representados por uma dupla:
o
Tabela de segmentos!
Tabela de Segmentos
Trata-se de uma estrutura muito parecida tabela de pginas Com um campo extra
A tabela de pginas contm um campo Com segmentos, o campo base somado (aritmeticamente) ao deslocamento para obter o endereo fsico.
o
Com pginas, o deslocamento concatenado ao nmero de quadro para obter o endereo fsico.
o
Alocao de Memria
preciso de memria para hospedar os segmentos. Os segmentos tm tamanho varivel
o o
As pginas tm tamanho igual. a mesma situao como no caso de particionamento com tamanho varivel. Gerenciar uma lista de blocos disponveis (lacunas)
Soluo:
o o
Pode haver mltiplos nveis de paginao O Hardware deve dar suporte a esses mecanismos de traduo
MEMRIA FSICA
Seu tamanho varivel implica numa estrutura mais complexa para seu uso
o
Tabela de segmentos.
Possibilita um mecanismo alto-nvel para o usurio, junto com o mecanismo mais automtico de paginao. o Resolve o problema de se ter grandes segmentos (maiores do que a RAM).