Sistemas Operacionais         -Gerência de Memória                                Ernesto Massa                        (sl...
Gerenciamento de Memória           Idealmente, o que se deseja é dispor de            uma memória que seja              ...
Gerenciamento de Memória           Algumas funções do Gerenciador de            memória:                   Controlar qua...
Gerenciamento Básico de Memória:        Monoprogramação           Sistema operacional com apenas            um processo d...
Alocação Contígua Simples           Alocação implementada nos                     Memória principal            primeiros ...
Alocação Contígua Simples           Registrador de proteção delimita Memória principal            as áreas do sistema ope...
Alocação Contígua Simples          Programas de usuário                              Memória principal           limitado...
Multiprogramação:        Alocação Particionada           Multiprogramação.                   Necessidade do uso da memór...
Alocação Particionada Estática           Proteção:                                      Memória principal               ...
Alocação Particionada Estática           Alocação Particionada Estática Absoluta:                   Compiladores gerando...
Multiprogramação        com Partições Fixas (Estática)           Partições fixas de memória                     (a) Fila...
Alocação Particionada Dinâmica           Não existe o conceito de                       Memória principal            part...
Considerações sobre        Relocação e Proteção           Não se sabe com certeza onde o            programa será carrega...
Alocação Dinâmica:        Troca de Processos (ou Swapping)           Alterações na alocação de memória à            medid...
Alocação Dinâmica:        Troca de Processos (ou Swapping)           Um processo residente na memória é levado para      ...
Memória Extra           Alocação de espaço para uma área de            dados em expansão           Alocação de espaço pa...
Gerenciamento de Memória com        Mapas de Bits e Lista Encadeada           Parte da memória com 5 segmentos de process...
Gerenciamento de Memória        com Listas Encadeadas           Quatro combinações de vizinhança            para o proces...
Algoritmos de         Alocação de Memória      Best-Fit  (melhor ajuste):      Worst-Fit (pior ajuste):      First-Fit ...
Modelagem de Multiprogramação           Utilização da CPU como uma função do            número de processos na memóriaPea...
Análise de Desempenho de        Sistemas de Multiprogramação       Chegada de 4 jobs e suas necessidades de trabalho    ...
Memória Virtual           Técnica onde memória principal e secundária são            combinadas de forma a “emular” uma m...
Memória Virtual                                                                      Memória Principal                    ...
Memória Virtual           Mapeamento:                   Realizado por hardware + S.O. nos sistemas atuais,              ...
Memória Virtual                                                                               Memória Principal           ...
Memória Virtual           Localização e função da MMU            (Memory Management Unit)Pearson Education               ...
Memória Virtual           Memória Virtual por Paginação:                   Memória Virtual e Real divididas em blocos de...
Memória Virtual           Memória Virtual por Paginação:                   Endereço Virtual = Nº da página virtual +    ...
Memória Virtual                          Endereçamento Virtual:                                                          ...
Memória Virtual        Paginação           A relação entre            endereços            virtuais e            endereço...
Tabelas de Páginas           Operação interna            de uma MMU            com 16 páginas            de 4KBPearson Ed...
Tabelas de Páginas           Entrada típica de uma tabela de            páginasPearson Education                         ...
Tabelas de Páginas           Tabelas de páginas muito grandes            podem ser inviáveis               Se armazenada...
Tabelas de Páginas           Endereço de 32 bits            com 2 campos para            endereçamento de            tabe...
Memória Associativa ou TLB           TLB (translation lookaside buffer)            para acelerar a paginaçãoPearson Educa...
Algoritmos de        Substituição de Páginas           A falta de página força uma escolha                   Qual página...
O Algoritmo Ótimo           Substitui a página necessária o mais            tarde possível               ótimo   mas não...
Algoritmo NUR        Não Usada Recentemente           Cada página tem os bits Referenciada (R)            e Modificada (M...
Algoritmo FIFO           Mantém uma lista encadeada de todas as            páginas                   A página mais antig...
Algoritmo de Substituição de Página        Segunda Chance (SC)           Operação do algoritmo segunda chance            ...
Algoritmo RelógioPearson Education                                              41                            Sistemas Ope...
Menos Recentemente        Usada (MRU)           Assume que páginas usadas recentemente logo            serão usadas novam...
O Algoritmo de Substituição de        Página do Conjunto de Trabalho           O algoritmo do conjunto de trabalhoPearson...
O Algoritmo de Substituição        de Página WSClock   Operação   do Algoritmo   WSClockPearson Education                 ...
Políticas de        Substituição de Páginas:           Seleção de qual, entre as diversas páginas            alocadas dev...
Políticas de        Substituição de Páginas:           Política de Substituição Local:                   Apenas as págin...
Políticas de        Busca de Páginas           Determinação de quando uma página deve ser            carregada para a mem...
Políticas de        Alocação de Páginas:           Determina quantos frames cada processo pode            manter na memór...
Políticas de        Alocação de Páginas:                   Alocação Variável:                      O número máximo de fr...
Políticas de Alocação X        Políticas de Substituição           Relacionamento entre as Políticas de Alocação e       ...
Considerações sobre        Tamanho de Página           Tamanho de página pequeno               Vantagens                ...
Política de Limpeza           Processo que executa em background, um            daemon de paginação                   In...
Espaços Separados de        Instruções e Dados        Espaço de endereçamento único                      X        Espaços ...
Páginas Compartilhadas     Dois processos que      compartilham o      mesmo código de      programa e, por      conseqüê...
Segmentação           Espaço de            endereçamento            unidimensional            com tabelas            cres...
Segmentação           Permite que cada tabela cresça ou            encolha, independentementePearson Education           ...
Implementação de        Segmentação Pura           (a)-(d) Desenvolvimento de fragmentação externa           (e) Remoção...
Segmentação                                           Memória principal            Programa Segmento;                     ...
Segmentação           A Segmentação possui funcionamento análogo à            Paginação.           Mapeamento:          ...
Segmentação com Paginação           Técnica onde os processos são divididos            logicamente em Segmentos e cada se...
Upcoming SlideShare
Loading in …5
×

2009 1 - sistemas operacionais - aula 8 - memoria

1,473 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,473
On SlideShare
0
From Embeds
0
Number of Embeds
68
Actions
Shares
0
Downloads
90
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

2009 1 - sistemas operacionais - aula 8 - memoria

  1. 1. Sistemas Operacionais -Gerência de Memória Ernesto Massa (slides fornecidos pela Prentice Hall e adaptados para esta disciplina) 1Pearson Education Sistemas Operacionais Modernos – 2ª Edição
  2. 2. Gerenciamento de Memória  Idealmente, o que se deseja é dispor de uma memória que seja  Grande, rápida e não volátil.  Hierarquia de memórias  Cache  pequena quantidade de memória rápida, de alto custo.  Memória Principal  Quantidade considerável de velocidade média, custo médio.  Armazenamento em disco  Velocidade e custo baixos.Pearson Education 2 Sistemas Operacionais Modernos – 2ª Edição
  3. 3. Gerenciamento de Memória  Algumas funções do Gerenciador de memória:  Controlar quais as unidades de memória estão ou não estão em uso, para que sejam alocadas quando necessário;  Liberar as unidades de memória que foram desocupadas por um processo que finalizou;  Tratar do Swapping entre memória principal e memória secundária.  Transferência temporária de processos residentes na memória principal para memória secundária.Pearson Education 3 Sistemas Operacionais Modernos – 2ª Edição
  4. 4. Gerenciamento Básico de Memória: Monoprogramação  Sistema operacional com apenas um processo de usuário (a) Inicialmente utilizados em Mainframes (b) Sistemas Embarcados (c) Primeiros Microcomputadores PessoaisPearson Education 4 Sistemas Operacionais Modernos – 2ª Edição
  5. 5. Alocação Contígua Simples  Alocação implementada nos Memória principal primeiros sistemas e ainda usada nos monoprogramáveis; Sistema  A Memória é dividida em duas Operacional áreas:  Área do Sistema Operacional  Área do Usuário  Um usuário não pode usar uma Área de área maior do que a disponível; Programas  Sem proteção: do usuário  Um usuário pode acessar a área do Sistema Operacional.Pearson Education 5 Sistemas Operacionais Modernos – 2ª Edição
  6. 6. Alocação Contígua Simples  Registrador de proteção delimita Memória principal as áreas do sistema operacional e do usuário; Sistema  Sistema verifica acessos à Reg Operacional memória em relação ao endereço do registrador;  A forma de alocação era Área de simples, mas não permitia Programas utilização eficiente de do usuário processador e memória;Pearson Education 6 Sistemas Operacionais Modernos – 2ª Edição
  7. 7. Alocação Contígua Simples  Programas de usuário Memória principal limitados pelo tamanho da memória principal disponível. Sistema Operacional  Solução: Overlay  Dividir o programa em Área do módulos; Módulo  Permitir execução Principal independente de cada módulo, usando a mesma Área de área de memória; Overlay  Área de Overlay  Área de memória comum onde módulos compartilham A B CPearson Education mesmo espaço. 7 Sistemas Operacionais Modernos – 2ª Edição
  8. 8. Multiprogramação: Alocação Particionada  Multiprogramação.  Necessidade do uso da memória por vários usuários simultaneamente.  Ocupação mais eficiente do processador;  A memória foi dividida em pedaços de tamanho fixo chamados partições;  O tamanho de cada partição é estabelecido na inicialização do sistema;  Para alteração do particionamento, é necessário uma nova inicialização com uma nova configuração.Pearson Education 8 Sistemas Operacionais Modernos – 2ª Edição
  9. 9. Alocação Particionada Estática  Proteção: Memória principal  Registradores com limites inferior e superior de Sistema memória acessível. Reg Operacional  Programas não ocupam totalmente o espaço das Reg Partição A partições, gerando uma fragmentação interna. Partição B Partição CPearson Education 9 Sistemas Operacionais Modernos – 2ª Edição
  10. 10. Alocação Particionada Estática  Alocação Particionada Estática Absoluta:  Compiladores gerando código absoluto;  Endereços relativos ao início da memória;  Programas exclusivos para partições específicas.  Alocação Particionada Estática Relocável:  Compiladores gerando código relocável;  Endereços relativos ao início da partição;  Programas podem rodar em qualquer partição.Pearson Education 10 Sistemas Operacionais Modernos – 2ª Edição
  11. 11. Multiprogramação com Partições Fixas (Estática)  Partições fixas de memória  (a) Filas de entrada para cada partição  (b) Fila única de entradaPearson Education 11 Sistemas Operacionais Modernos – 2ª Edição
  12. 12. Alocação Particionada Dinâmica  Não existe o conceito de Memória principal partição dinâmica.  O espaço utilizado por um Sistema programa é a sua partição. Operacional  Não ocorre fragmentação interna. Processo A  Ao terminarem, os programas deixam espalhados espaços pequenos de memória, Processo C provocando a fragmentação Processo F externa. Processo EPearson Education 12 Sistemas Operacionais Modernos – 2ª Edição
  13. 13. Considerações sobre Relocação e Proteção  Não se sabe com certeza onde o programa será carregado na memória  As Localizações de endereços de variáveis e de código de rotinas não podem ser absolutos  Soluções:  Instruções do programa são modificadas segundo a partição de memória em que ele será carregado  Uma solução para relocação e proteção: uso de registradores com valores base e limite  As localizações de endereços são somadas ao valor base antes de serem mapeadas na memória física  Referência a endereços superiores ao limite indicam erro.Pearson Education 13 Sistemas Operacionais Modernos – 2ª Edição
  14. 14. Alocação Dinâmica: Troca de Processos (ou Swapping)  Alterações na alocação de memória à medida que processos entram e saem da memória  Regiões sombreadas correspondem a regiões de memória não utilizadas naquele instantePearson Education 14 Sistemas Operacionais Modernos – 2ª Edição
  15. 15. Alocação Dinâmica: Troca de Processos (ou Swapping)  Um processo residente na memória é levado para o disco (Swapped-Out), dando lugar a outro;  O processo Swapped-Out retorna à memória (Swapped-In), sem “perceber” o que ocorreu. Sistema Memória principal Sistema Operacional Operacional programa A Swap Out programa A programa B Swap In programa H programa E programa E B B programa A programa B programa GPearson Education 15 Sistemas Operacionais Modernos – 2ª Edição
  16. 16. Memória Extra  Alocação de espaço para uma área de dados em expansão  Alocação de espaço para uma pilha e uma área de dados, ambos em expansãoPearson Education 16 Sistemas Operacionais Modernos – 2ª Edição
  17. 17. Gerenciamento de Memória com Mapas de Bits e Lista Encadeada  Parte da memória com 5 segmentos de processos e 3 segmentos de memória livre  pequenos riscos simétricos denotam as unidades de alocação  regiões sombreadas denotam segmentos livres  Mapa de bits correspondente  Mesmas informações em uma lista encadeadaPearson Education 17 Sistemas Operacionais Modernos – 2ª Edição
  18. 18. Gerenciamento de Memória com Listas Encadeadas  Quatro combinações de vizinhança para o processo X em término de execuçãoPearson Education 18 Sistemas Operacionais Modernos – 2ª Edição
  19. 19. Algoritmos de Alocação de Memória  Best-Fit (melhor ajuste):  Worst-Fit (pior ajuste):  First-Fit (primeiro ajuste):  Next-Fit (próximo ajuste):  Todos melhoram em performance se existirem listas distintas para processos e espaços, embora o algoritmo fique mais complexo.  Listas ordenadas por tamanho de espaço melhoram a performance.Pearson Education 19 Sistemas Operacionais Modernos – 2ª Edição
  20. 20. Modelagem de Multiprogramação  Utilização da CPU como uma função do número de processos na memóriaPearson Education 20 Sistemas Operacionais Modernos – 2ª Edição
  21. 21. Análise de Desempenho de Sistemas de Multiprogramação  Chegada de 4 jobs e suas necessidades de trabalho  Utilização da CPU por até 4 jobs com 80% de espera por E/S  Sequência de eventos entre a chegada e o término dos jobs  Note que os números mostram quanto tempo da CPU cada job obtém em cada intervaloPearson Education 21 Sistemas Operacionais Modernos – 2ª Edição
  22. 22. Memória Virtual  Técnica onde memória principal e secundária são combinadas de forma a “emular” uma memória de tamanho maior que a memória principal (real);  A memória secundária é usada como extensão da memória principal;  Permite um maior número de processos compartilhando a memória principal;  Não vincula o endereçamento dos programas aos endereços físicos da memória principal;  Programas não ficam mais limitados ao tamanho da memória principal disponível;  Minimiza o problema de fragmentação.Pearson Education 22 Sistemas Operacionais Modernos – 2ª Edição
  23. 23. Memória Virtual Memória Principal Espaço de  Espaço de Endereçamento: Endereçamento Real Memória Virtual Espaço de Endereçamento Virtual Mapeamento Estrutura Vetorial Memória SecundáriaPearson Education 23 Sistemas Operacionais Modernos – 2ª Edição
  24. 24. Memória Virtual  Mapeamento:  Realizado por hardware + S.O. nos sistemas atuais, através da MMU (Memory Management Unit - Unidade de Gerenciamento de Memória).  Cada processo com uma tabela de mapeamento própria.  No momento da execução, o endereço virtual é mapeado para o endereço físico, pois o processador só acessa endereços do espaço real;  Nas trocas de contexto, um registrador é responsável por indicar qual a tabela que deve ser utilizada.Pearson Education 24 Sistemas Operacionais Modernos – 2ª Edição
  25. 25. Memória Virtual Memória Principal Espaço de  Paginação: Endereçamento Real Espaço Virtual do Processo A Tabela de Páginas de A Memória Virtual Espaço Virtual Tabela de do Processo B Páginas de B Memória Page In Secundária Page FaultPearson Education 25 Sistemas Operacionais Modernos – 2ª Edição
  26. 26. Memória Virtual  Localização e função da MMU (Memory Management Unit)Pearson Education 26 Sistemas Operacionais Modernos – 2ª Edição
  27. 27. Memória Virtual  Memória Virtual por Paginação:  Memória Virtual e Real divididas em blocos de mesmo tamanho (páginas);  Páginas virtuais;  Páginas reais ou frames;  As tabelas de páginas mapeiam os blocos de informações:  Quanto maior o bloco, menor o tamanho das tabelas;  Quanto maior o bloco, maior o tempo de transferência do bloco entre memória principal e secundária.Pearson Education 27 Sistemas Operacionais Modernos – 2ª Edição
  28. 28. Memória Virtual  Memória Virtual por Paginação:  Endereço Virtual = Nº da página virtual + deslocamento;  Um bit de validade (na tabela de páginas) indica se a página já se encontra na memória principal ou não.  Taxa de Paginação = Nº de Page Fault em um intervalo de tempo.  Quando ocorre um page fault, o processo em questão passa ao estado de espera.Pearson Education 28 Sistemas Operacionais Modernos – 2ª Edição
  29. 29. Memória Virtual  Endereçamento Virtual: Memória Principal Espaço de Espaço Virtual Endereçamento Real do Processo A Memória Virtual Página virtual deslocamento 1 203 ... ... 2 067 Endereço Físico Tabela de 2 203 Páginas de A Memória Page In Validade End. do Frame Secundária 1 2 0 -- SO29Pearson Education Sistemas Operacionais Modernos – 2ª Edição
  30. 30. Memória Virtual Paginação  A relação entre endereços virtuais e endereços físicos de memória dada pela tabela de páginasPearson Education 30 Sistemas Operacionais Modernos – 2ª Edição
  31. 31. Tabelas de Páginas  Operação interna de uma MMU com 16 páginas de 4KBPearson Education 31 Sistemas Operacionais Modernos – 2ª Edição
  32. 32. Tabelas de Páginas  Entrada típica de uma tabela de páginasPearson Education 32 Sistemas Operacionais Modernos – 2ª Edição
  33. 33. Tabelas de Páginas  Tabelas de páginas muito grandes podem ser inviáveis  Se armazenadas na MMU ocupariam muito espaço;  Se mantidas em memória, degradariam o acesso à memória.  Uma das soluções é a utilização de tabelas de páginas em níveis.Pearson Education 33 Sistemas Operacionais Modernos – 2ª Edição
  34. 34. Tabelas de Páginas  Endereço de 32 bits com 2 campos para endereçamento de tabelas de páginas  Tabelas de páginas com 2 níveis  Tabelas de páginas podem existir com diversos níveis, mas não é comprovada a eficiência de tabelas com mais de três níveis.Pearson Education 34 Sistemas Operacionais Modernos – 2ª Edição
  35. 35. Memória Associativa ou TLB  TLB (translation lookaside buffer) para acelerar a paginaçãoPearson Education 35 Sistemas Operacionais Modernos – 2ª Edição
  36. 36. Algoritmos de Substituição de Páginas  A falta de página força uma escolha  Qual página deve ser removida para que seja possível a alocação de espaço para a página a ser trazida para a memória?  Se a página escolhida foi modificada, deve primeiro ser salva  se não tiver sido modificada é apenas sobreposta  Melhor não escolher uma página que está sendo muito usada  provavelmente ela precisará ser trazida de volta em pouco tempoPearson Education 36 Sistemas Operacionais Modernos – 2ª Edição
  37. 37. O Algoritmo Ótimo  Substitui a página necessária o mais tarde possível  ótimo mas não realizável  Estimada através do registro do uso das páginas em execuções anterioresPearson Education 37 Sistemas Operacionais Modernos – 2ª Edição
  38. 38. Algoritmo NUR Não Usada Recentemente  Cada página tem os bits Referenciada (R) e Modificada (M)  Bits são colocados em 1 quando a página é referenciada e modificada  As páginas são classificadas  Classe 0: não referenciada, não modificada  Classe 1: não referenciada, modificada  Classe 2: referenciada, não modificada  Classe 3: referenciada, modificada  NUR remove página aleatoriamente da classe de ordem mais baixa que não estiver vaziaPearson Education 38 Sistemas Operacionais Modernos – 2ª Edição
  39. 39. Algoritmo FIFO  Mantém uma lista encadeada de todas as páginas  A página mais antiga é colocada no início da lista  A página que chegou por último é colocada no final da lista  Na ocorrência de page fault  A página no início da lista é removida  A nova página é adicionada no final da lista  Desvantagem  A página há mais tempo na memória pode estar sendo utilizada com muita freqüênciaPearson Education 39 Sistemas Operacionais Modernos – 2ª Edição
  40. 40. Algoritmo de Substituição de Página Segunda Chance (SC)  Operação do algoritmo segunda chance  Listas de páginas em ordem FIFO  Exemplo: estado da lista em situação de page fault no instante 20, com o bit de Referenciação da página A em 1 (números representam instantes de carregamento das páginas na memória)Pearson Education 40 Sistemas Operacionais Modernos – 2ª Edição
  41. 41. Algoritmo RelógioPearson Education 41 Sistemas Operacionais Modernos – 2ª Edição
  42. 42. Menos Recentemente Usada (MRU)  Assume que páginas usadas recentemente logo serão usadas novamente  Retira da memória as páginas que há mais tempo não são utilizadas  Uma lista encadeada de páginas deve ser mantida  A página mais recentemente usada no início da lista, a menos usada no final da lista  A atualização da lista deve ser feita a cada referência à memória  Alternativamente manter contador em cada entrada da tabela de página  Escolhe página com contador de menor valor  Zera o contador periodicamentePearson Education 42 Sistemas Operacionais Modernos – 2ª Edição
  43. 43. O Algoritmo de Substituição de Página do Conjunto de Trabalho  O algoritmo do conjunto de trabalhoPearson Education 43 Sistemas Operacionais Modernos – 2ª Edição
  44. 44. O Algoritmo de Substituição de Página WSClock Operação do Algoritmo WSClockPearson Education 44 Sistemas Operacionais Modernos – 2ª Edição
  45. 45. Políticas de Substituição de Páginas:  Seleção de qual, entre as diversas páginas alocadas deve ser liberada.  Necessidade de verificação se a página foi alterada (bit de modificação)  No caso da página liberada tiver sofrido modificação, esta deverá antes ser gravada no Arquivo de Paginação (page out).  Note que as páginas de código não podem ser modificadas, logo não sofrem page out.Pearson Education 45 Sistemas Operacionais Modernos – 2ª Edição
  46. 46. Políticas de Substituição de Páginas:  Política de Substituição Local:  Apenas as páginas do processo que gerou o page fault são candidatas à relocação.  Política de Substituição Global:  Todas as páginas de todos os processos são candidatas à relocação.  Algumas páginas nunca são candidatas à relocação, como por exemplo as do núcleo do S.O.Pearson Education 46 Sistemas Operacionais Modernos – 2ª Edição
  47. 47. Políticas de Busca de Páginas  Determinação de quando uma página deve ser carregada para a memória.  Paginação por demanda:  Transferência de páginas para memória principal quando são referenciadas.  Apenas as páginas necessárias são transferidas.  Paginação antecipada:  Além da página referenciada, são carregadas outras páginas que também podem (ou não) ser referenciadas futuramente.  Economia de tempo na cópia do conjunto de páginas.  Risco de trabalho desnecessário.Pearson Education 47 Sistemas Operacionais Modernos – 2ª Edição
  48. 48. Políticas de Alocação de Páginas:  Determina quantos frames cada processo pode manter na memória principal.  Alocação Fixa:  Número máximo de frames (páginas) por processo.  Caso o limite seja atingido, alguma página deve ser descartada.  O limite de páginas é determinado na criação do processo.  Limite de páginas mal dimensionado:  Se for pequeno:  Muitos page faults;  Degradação do sistema;  Se for grande:  Espaço ocupado maior que o necessário;  Reduz o grau de multiprogramação.Pearson Education 48 Sistemas Operacionais Modernos – 2ª Edição
  49. 49. Políticas de Alocação de Páginas:  Alocação Variável:  O número máximo de frames de um processo pode variar em função de sua taxa de paginação.  Processos com alta taxa de paginação podem aumentar o seu limite máximo de frames.  Processos com baixa taxa de paginação podem ter os seus limites máximos de frames reduzido.Pearson Education 49 Sistemas Operacionais Modernos – 2ª Edição
  50. 50. Políticas de Alocação X Políticas de Substituição  Relacionamento entre as Políticas de Alocação e Políticas de Substituição de páginas.  Alocação Fixa:  Substituição Local.  Alocação Variável:  Substituição Global.  Substituição Local.  O SO avalia a taxa de paginação de um processo e altera o seu limite máximo de frames.Pearson Education 50 Sistemas Operacionais Modernos – 2ª Edição
  51. 51. Considerações sobre Tamanho de Página  Tamanho de página pequeno  Vantagens  Menos fragmentação interna  Menos programa não usados na memória  Desvantagens  Os programas precisam de mais páginas, tabelas de página maiores...Pearson Education 51 Sistemas Operacionais Modernos – 2ª Edição
  52. 52. Política de Limpeza  Processo que executa em background, um daemon de paginação  Inspeciona periodicamente o estado da memória  Quando apenas algumas molduras de página estão disponíveis  Seleciona páginas a serem removidas usando um algoritmo de substituiçãoPearson Education 52 Sistemas Operacionais Modernos – 2ª Edição
  53. 53. Espaços Separados de Instruções e Dados Espaço de endereçamento único X Espaços separados de instruções (I) e dados (D)Pearson Education 53 Sistemas Operacionais Modernos – 2ª Edição
  54. 54. Páginas Compartilhadas  Dois processos que compartilham o mesmo código de programa e, por conseqüência, a mesma tabela de páginas para instruçõesPearson Education 54 Sistemas Operacionais Modernos – 2ª Edição
  55. 55. Segmentação  Espaço de endereçamento unidimensional com tabelas crescentes  Uma tabela pode atingir outraPearson Education 55 Sistemas Operacionais Modernos – 2ª Edição
  56. 56. Segmentação  Permite que cada tabela cresça ou encolha, independentementePearson Education 56 Sistemas Operacionais Modernos – 2ª Edição
  57. 57. Implementação de Segmentação Pura  (a)-(d) Desenvolvimento de fragmentação externa  (e) Remoção da fragmentação via compactaçãoPearson Education 57 Sistemas Operacionais Modernos – 2ª Edição
  58. 58. Segmentação Memória principal Programa Segmento; S.O. Var A: array... C: ... Procedimento X Programa Principal Procedimento X; ... Função Y End; Function Y; Array A ... programa A End; Variável C Begin ... End. ...Pearson Education 58 Sistemas Operacionais Modernos – 2ª Edição
  59. 59. Segmentação  A Segmentação possui funcionamento análogo à Paginação.  Mapeamento:  Os segmentos são mapeados através da tabela de mapeamento de segmento (TMS);  O Endereço virtual é formado pelo:  Número do segmento;  Deslocamento dentro do segmento;Pearson Education 59 Sistemas Operacionais Modernos – 2ª Edição
  60. 60. Segmentação com Paginação  Técnica onde os processos são divididos logicamente em Segmentos e cada segmento é dividido fisicamente em Páginas.  Endereço virtual é formado por:  Número do segmento;  Número de página dentro do segmento;  Deslocamento dentro da página.Pearson Education 60 Sistemas Operacionais Modernos – 2ª Edição

×