ATIVIDADE DA IMPLEMENTAÇÃO E ANÁLISE DOS ALGORITMOS DE SUBSTITUIÇÃO DE PÁGINAS

15
UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE CENTRO DE ENSINO SUPERIOR DO SERIDÓ CERES DEPARTAMENTO DE CIÊNCIAS EXATAS E APLICADAS - DCEA CURSO DE SISTEMAS DE INFORMAÇÃO DISCIPLINA DE SISTEMAS OPERACIONAIS PROF. JOÃO BORGES ATIVIDADE DA IMPLEMENTAÇÃO E ANÁLISE DOS ALGORITMOS DE SUBSTITUIÇÃO DE PÁGINAS, E DO RELATÓRIO FERNANDA CARDINALY DE ARAÚJO SILVA JOSÉ STÊNIO GOMES MEDEIROS CAICÓ 2011 

Transcript of ATIVIDADE DA IMPLEMENTAÇÃO E ANÁLISE DOS ALGORITMOS DE SUBSTITUIÇÃO DE PÁGINAS

Page 1: ATIVIDADE DA IMPLEMENTAÇÃO E ANÁLISE DOS ALGORITMOS  DE SUBSTITUIÇÃO DE PÁGINAS

5/7/2018 ATIVIDADE DA IMPLEMENTAÇÃO E ANÁLISE DOS ALGORITMOS DE SUBSTITUIÇÃO DE PÁGINAS - slidepdf.com

http://slidepdf.com/reader/full/atividade-da-implementacao-e-analise-dos-algoritmos-de-substituicao-de-paginas 1/15

 

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE

CENTRO DE ENSINO SUPERIOR DO SERIDÓ CERESDEPARTAMENTO DE CIÊNCIAS EXATAS E APLICADAS - DCEA

CURSO DE SISTEMAS DE INFORMAÇÃO

DISCIPLINA DE SISTEMAS OPERACIONAISPROF. JOÃO BORGES 

ATIVIDADE DA IMPLEMENTAÇÃO E ANÁLISE DOS ALGORITMOS

DE SUBSTITUIÇÃO DE PÁGINAS, E DO RELATÓRIO

FERNANDA CARDINALY DE ARAÚJO SILVA

JOSÉ STÊNIO GOMES MEDEIROS

CAICÓ

2011 

Page 2: ATIVIDADE DA IMPLEMENTAÇÃO E ANÁLISE DOS ALGORITMOS  DE SUBSTITUIÇÃO DE PÁGINAS

5/7/2018 ATIVIDADE DA IMPLEMENTAÇÃO E ANÁLISE DOS ALGORITMOS DE SUBSTITUIÇÃO DE PÁGINAS - slidepdf.com

http://slidepdf.com/reader/full/atividade-da-implementacao-e-analise-dos-algoritmos-de-substituicao-de-paginas 2/15

 

 

 Abstract. Page replacement algorithms directly affect the performance of computing

systems that use paged virtual memory. Each algorithm has its advantage and 

disadvantage. In this paper I will approach from the management of memory, particularly in

the mechanisms of virtual memory, to implementation and comparative analysis of page

replacement algorithms FIFO (First-In First-Out) and LRU (Least Recently Used).

Resumo. Algoritmos de substituição de páginas influenciam diretamente no desempenho de

sistemas computacionais que utilizam memória virtual paginada. Cada algoritmo tem

a sua vantagem e desvantagem. Neste trabalho irei abordar desde a gerência de memória,

  particulamente nos mecanismos de memória virtual , até a implementação e a análise

comparativa dos algoritmos de substituição de páginas FIFO (First -in First-out) e LRU (Least 

Recently Used).

Page 3: ATIVIDADE DA IMPLEMENTAÇÃO E ANÁLISE DOS ALGORITMOS  DE SUBSTITUIÇÃO DE PÁGINAS

5/7/2018 ATIVIDADE DA IMPLEMENTAÇÃO E ANÁLISE DOS ALGORITMOS DE SUBSTITUIÇÃO DE PÁGINAS - slidepdf.com

http://slidepdf.com/reader/full/atividade-da-implementacao-e-analise-dos-algoritmos-de-substituicao-de-paginas 3/15

 

 

INTRODUÇÃO

Quando os programas excedem o espaço de memória física disponível para eles, é possível dividir oprograma em pedaços chamados overlays. No entanto, isto exige que o programador sejaresponsável por esta divisão. De forma a facilitar o desenvolvimento de programas, passando estatarefa para o Sistema Operacional, foi criado o método conhecido como Memória Virtual.

Neste trabalho, abordaremos sobre os mecanismos de suporte à memória virtual, em especial apaginação que possibilita a uma aplicação utilizar mais memória do que a fisicamente existente,nela investigaremos e implementaremos alguns de seus algoritmos de substituição de páginas quesão usados para retirar páginas de um frame caso a memória física esteja completamente cheia.

Page 4: ATIVIDADE DA IMPLEMENTAÇÃO E ANÁLISE DOS ALGORITMOS  DE SUBSTITUIÇÃO DE PÁGINAS

5/7/2018 ATIVIDADE DA IMPLEMENTAÇÃO E ANÁLISE DOS ALGORITMOS DE SUBSTITUIÇÃO DE PÁGINAS - slidepdf.com

http://slidepdf.com/reader/full/atividade-da-implementacao-e-analise-dos-algoritmos-de-substituicao-de-paginas 4/15

 

 

MEMÓRIA VIRTUAL

A idéia básica da memória virtual é permitir que programas muito maiores que a memóriadisponível possam ser executados. Para isso, em 1961 Fotheringham criou o método conhecidocomo memória virtual. Com o uso dessa memória o SO mantém as partes ativas do programa na

memória e o restante em disco, sendo carregadas ou removidas da memória de acordo com asnecessidades.

Memória virtual é uma técnica que se utiliza da memória secundária para produzir o efeito práticode aumentar significativamente o espaço de endereçamento disponível aos programas. Essatécnica não depende do tamanho da memória principal que continua sendo limitado para ser implementada. A memória secundária (normalmente um disco rígido) passa a servircomo uma espécie de extensão da memória principal, armazenando a maior parte dos

programas e dados carregados para execução. À memória principal são transferidas por vezapenas algumas partes destes programas e dados, essenciais ao momento pontual da execução.

Deste modo, cria-se dois espaços de endereçamento de memória: o espaço deendereçamento virtual e o espaço de endereçamento real. Endereços virtuais são osendereços gerados pelos compiladores e linkers na implementação dos programas. Eles

representam o espaço completo que os programas necessitam para serem carregados, isto é, otamanho de memória que efetivamente ocupam. No entanto, a memória real ou memóriaprincipal (RAM Random Access Memory ) pode ser bastante limitada, possuindo um espaço de

endereçamento real às vezes menor até mesmo que um único programa. Um endereço realcorresponde a uma célula física de endereçamento presente na memória principal da máquina.

Obviamente, apenas parte das aplicações carregadas no espaço de endereçamento virtual

poderá ocupar a memória real num certo instante. Por outro lado, somente os dados

carregados na memória principal são processados pela CPU. Como várias aplicações podem estarsob execução, concorrendo pela utilização do processador, uma solução encontrada foi dividir oespaço total de endereçamento dos programas em pequenos blocos de tamanho fixo, as

chamadas páginas de memória. A implementação dessa estratégia constitui o mecanismode paginação. Outra alternativa é dividir o código de uma aplicação com base em

critérios lógicos, ou seja, modularizando o programa de acordo com a função dos diversostrechos de código identificados.Segmentação  é o nome que se dá a esta segunda estratégia de particionamento de código, emque

os segmentos gerados possuem tamanhos independentes e variáveis. Ambos os mecanismossão importantes, sobretudo em ambientes multiusuários e multiprogramáveis. Conforme omomento de execução, parte dos dados (working set ) são transferidos temporariamentepara a memória principal a fim de serem processados, retornando à memória secundáriaquando solicitados pelo sistema operacional, o qual é responsável pelo gerenciamento damemória.

Page 5: ATIVIDADE DA IMPLEMENTAÇÃO E ANÁLISE DOS ALGORITMOS  DE SUBSTITUIÇÃO DE PÁGINAS

5/7/2018 ATIVIDADE DA IMPLEMENTAÇÃO E ANÁLISE DOS ALGORITMOS DE SUBSTITUIÇÃO DE PÁGINAS - slidepdf.com

http://slidepdf.com/reader/full/atividade-da-implementacao-e-analise-dos-algoritmos-de-substituicao-de-paginas 5/15

 

 

Figura 1. Endereços virtuais x físicos. A tradução é feita por uma tab. de páginas.

Paginação  

A técnica denominada paginação é utilizada na maioria dos sistemas com memória virtual. Comosabemos, os endereços gerados pelos programas são denominados endereços virtuais e

constituem o espaço de endereçamento virtual. Em computadores que não tem memória virtual,os endereços virtuais são idênticos aos endereços físicos. Por outro lado, quando usamosmemória virtual estes endereços diferem. Portanto, o endereço gerado pelo programa não podeser colocado diretamente no barramento do sistema para acessar uma posição qualquer dememória. Assim, a MMU mapeia

os end. virtuais em físicos. 

A memória física é dividida em blocos de tamanho fixos denominados molduras de páginas ( page

 frames). Já a memória lógica é dividida em blocos de tamanho fixos denominados  páginas( pages). As páginas e as molduras de páginas são sempre do mesmo tamanho.

Quando um programa tenta usar uma página virtual que não está mapeada é geradauma interrupção da CPU para o sistema operacional a fim de buscar esta página na memória.

Esta interrupção (trap) é denominada   falta de página (page fault). As ações desencadeadassão: o sistema operacional escolhe uma moldura de página ( page frame) pouco usada e a salvaem disco. Em seguida, carrega a página virtual referenciada pela instrução na moldura de

página que foi liberada. Feito isso o sistema operacional pode reinicializar a instrução causadora dainterrupção.

Tabela de Páginas 

Page 6: ATIVIDADE DA IMPLEMENTAÇÃO E ANÁLISE DOS ALGORITMOS  DE SUBSTITUIÇÃO DE PÁGINAS

5/7/2018 ATIVIDADE DA IMPLEMENTAÇÃO E ANÁLISE DOS ALGORITMOS DE SUBSTITUIÇÃO DE PÁGINAS - slidepdf.com

http://slidepdf.com/reader/full/atividade-da-implementacao-e-analise-dos-algoritmos-de-substituicao-de-paginas 6/15

 

 

A tabela de páginas é montada durante o instante em que o processo é carregado e servirápara informar qual é a página fisica correspondente a cada página lógica. Para que um programapossa ser executado corretamente é necessário que o endereço lógico especificado em cada

instrução seja traduzido no endereço fisico que representa as posições reais de memória.

Figura 2. Esquema de paginação. 

Page 7: ATIVIDADE DA IMPLEMENTAÇÃO E ANÁLISE DOS ALGORITMOS  DE SUBSTITUIÇÃO DE PÁGINAS

5/7/2018 ATIVIDADE DA IMPLEMENTAÇÃO E ANÁLISE DOS ALGORITMOS DE SUBSTITUIÇÃO DE PÁGINAS - slidepdf.com

http://slidepdf.com/reader/full/atividade-da-implementacao-e-analise-dos-algoritmos-de-substituicao-de-paginas 7/15

 

 

Conforme podemos observar na Figura 2 o endereço lógico é constituído de 2 partes: a primeira(bits de mais alta ordem) corresponde ao número da página lógica e a segunda representandoo deslocamento dentro desta página (bits de mais baixa ordem). O número da página lógica éusado para encontrar a página física correspondente através da tabela de páginas. Os bits demais baixa ordem são mantidos e ajudam a constituir o endereço físico. Para isso é sóutilizar os bits encontrados na tabela de páginas com os bits de deslocamento. A Figura 2

mostra como isso é feito considerando o endereço lógico do byte Y2. O endereço lógico 00101 édividido em número de página lógica 001 e deslocamento 01. A entrada 001 da tabela de páginasindica que essa página lógica foi carregada na página física 101. Então, unimos as duas partes e

formamos o endereço físico 10101.

Geralmente, os tamanhos de página variam entre 512 bytes e 64 Kbytes, sendo que um valormuito utilizado é o de 4 Kbytes. Os espaços de endereçamento lógico podem variar de 64 Kbytes(sistemas antigos) até muitos Gbytes (máquinas atuais). Já os espaços de endereçamento físicopodem ser na ordem de Gbytes.

Durante a paginação, qualquer página física disponível pode ser utilizada para carregar uma página

lógica. Por isso, não existe fragmentação externa. No entanto, pelo fato da unidade de alocaçãoser uma página, qualquer processo sempre ocupará um número inteiro de páginas físicas (podendo

não ocupar todo o espaço da página) gerando com isso uma fragmentação interna. Porexemplo, imagine que um sistema utilize páginas de 4 Kbytes, e um programa P1 precise de 201Kbytes para ser carregado e poder executar. Nesse sistema, 51 páginas serão alocadas, totalizando

204 Kbytes. Portanto, 3 Kbytes serão desperdiçados (fragmentação interna).

Podemos dizer que o tamanho da página definido pode trazer algumas vantagens e

desvantagens ao sistema computacional. Portanto, é importante saber definir um tamanho depágina coerente para que o sistema possa realizar a paginação. Utilizar páginas de tamanhosmaiores significa que um processo ocupará menos páginas e, portanto, a tabela de páginas será

menor e a leitura do disco será mais eficiente. Normalmente, as páginas maiores resultam emmelhor desempenho do mecanismo de gerência de memória. Contudo, devemos saber quepáginas maiores geram uma fragmentação interna maior. O tamanho das páginas normalmente

é fixado pelo hardware que

suporta a gerência de memória, ou seja, pela MMU.

Page 8: ATIVIDADE DA IMPLEMENTAÇÃO E ANÁLISE DOS ALGORITMOS  DE SUBSTITUIÇÃO DE PÁGINAS

5/7/2018 ATIVIDADE DA IMPLEMENTAÇÃO E ANÁLISE DOS ALGORITMOS DE SUBSTITUIÇÃO DE PÁGINAS - slidepdf.com

http://slidepdf.com/reader/full/atividade-da-implementacao-e-analise-dos-algoritmos-de-substituicao-de-paginas 8/15

 

 

Implementação da Tabela de Páginas 

A forma como a tabela de páginas é implementada é um fator importante e que deve serpensado, uma vez que ela deve ser consultada a cada acesso à memória. Tabelas de páginas

pequenas podem ser colocadas em registradores de acesso rápido, melhorando bastante odesempenho de pesquisas pelo endereço físico. Suponha que um PC tenha uma memória lógicapara os processos de apenas

64 Kbytes e que cada página ocupe 8 Kbytes, então existirá apenas 8 entradas nas tabelas depáginas. 

O que acontece quando um processo é escalonado e outro assume o processador? A tabela depáginas do processo que será executado deverá ser copiada do descritor de processo (DP) paraos registradores.

Tabelas de páginas muito grandes não podem ser mantidas em registradores, portanto, outra

solução deve ser pensada. Uma outra estratégia é manter a tabela de páginas na própriamemória do computador. Nesta abordagem, a MMU possui dois registradores para localizar atabela de páginas na memória. O primeiro é chamado de registrador de base da tabela de

 páginas (Page Table Base Register , PTBR) que indica o endereço físico de memória onde a tabela

está colocada. O segundo denominado registrador de limite da tabela de páginas (Page Table

Limit Register , PTLR) indica o número de entradas da tabela.

Qual o problema dessa solução? Agora cada acesso que um processo faz à memória lógicatransforma-se em dois acessos à memória física. No primeiro acesso, a tabela de páginas éconsultada, e o endereço lógico é transformado em endereço físico. No segundo acesso, a

memória do processo é lida ou escrita. Quando processos são escalonados, os valores do PTBR edo PTLR para a tabela de páginas do processo que recebe o processador devem ser copiados doDP para os registradores na MMU. Além disso, a memória cache deve ser esvaziada ( flushed ),

pois ela ainda contém entradas da tabela de página do processo que executou antes e agoraperdeu o processador.

Qual uma estratégia para melhorar o desempenho desta solução? Adicionar uma memória

cache especial pode ser uma forma de reduzir o tempo de acesso à memória no esquemaapresentado. Esta cache irá manter as entradas da tabela de páginas mais recentemente

Page 9: ATIVIDADE DA IMPLEMENTAÇÃO E ANÁLISE DOS ALGORITMOS  DE SUBSTITUIÇÃO DE PÁGINAS

5/7/2018 ATIVIDADE DA IMPLEMENTAÇÃO E ANÁLISE DOS ALGORITMOS DE SUBSTITUIÇÃO DE PÁGINAS - slidepdf.com

http://slidepdf.com/reader/full/atividade-da-implementacao-e-analise-dos-algoritmos-de-substituicao-de-paginas 9/15

 

utilizadas. Essa memória cache interna à MMU é chamada de Translation Lookaside Buffer 

(TLB). Portanto, quando a entrada requerida da tabela de páginas está na TLB, o acesso àmemória lógica do processo é feito com um único acesso à memória física, como quandoregistradores são utilizados. Nessa situação diz que houve um acerto (hi t ). Por outro lado,

quando a entrada da tabela de páginas associada com a página lógica não está na TLB diz queocorreu uma falta (miss). Neste caso, é necessário um duplo acesso à memória física, como noesquema sem o cache. O procedimento adotado é semelhante ao que acontece na cache

convencional, ou seja, a entrada referente a página lógica acessada é incluída na TLB. Os

próximos acessos já encontrarão essa entrada da tabela de páginasna TLB e o acesso será rápido. 

Figura 3. Implementação da tabela de páginas com TLB.

As entradas na tabela de páginas são compostas por alguns campos que permitem localizar oendereço efetivo de cada página na memória principal (quando carregada) ou na memóriasecundária (área de swap). As seguintes informações são mantidas [CAS03]:

1. Número da página virtual (NPV): identifica uma única página virtual correspondente à entrada;de acordo com o tamanho de página utilizado, o endereço na memória secundária pode ser

calculado.

2. Bit de presença: indica se a página está ou não carregada na memória principal (a página estácarregada se o bit possui valor 1).

3. Endereço do bloco: se a página estiver carregada na memória principal, este campo informao endereço físico em que está alocada; um bloco, ou janela (frame), é um conjunto de células da

memória principal que comporta dados de uma página.

4. Bits de proteção: definem as permissões de acesso à página, normalmente através de 2 ou 3 bits

(leitura, gravação e eventualmente execução).

Page 10: ATIVIDADE DA IMPLEMENTAÇÃO E ANÁLISE DOS ALGORITMOS  DE SUBSTITUIÇÃO DE PÁGINAS

5/7/2018 ATIVIDADE DA IMPLEMENTAÇÃO E ANÁLISE DOS ALGORITMOS DE SUBSTITUIÇÃO DE PÁGINAS - slidepdf.com

http://slidepdf.com/reader/full/atividade-da-implementacao-e-analise-dos-algoritmos-de-substituicao-de-paginas 10/15

 

5. Bit de modificação: indica se a página carregada na memória teve ou não seu conteúdo

alterado; se teve, o conteúdo deverá ser atualizado na memória secundária antes de a páginadeixar a memória principal.

Outro conceito associado a paginação é o working set (conjunto de trabalho). O working set de umprocesso em execução é definido como o conjunto das páginas requeridas para o seuprocessamento durante um determinado intervalo de tempo. Por este motivo, o conjunto de

trabalho representa a concretização do princípio de localidade.

Quando uma informação que será processada não está disponível em uma página da memóriaprincipal, dizemos que ocorreu uma falta de página. Neste momento, é preciso que esta página sejaalocada na memória para que a execução do processo possa continuar. No entanto, se a memória jáestiver cheia, uma das páginas carregadas deverá ser sobreposta pela página que está sendo trazida

da memória secundária. Portanto, deverá acontecer uma substituição de página e,conseqüentemente, será necessário escolher qual página deixar á a memória. Para isso, o sistemaoperacional implementa um algoritmo de substituição de página e escolhe aquela menos

importante à execução do processo e a retira da memória.

Segmentação

O esquema de paginação foi criado para facilitar o gerenciamento da memória. Contudo, osprogramadores e compiladores não são capazes de ver a memória lógica dividida em páginas, massim em segmentos. Dependendo do sistema a granularidade desses segmentos pode serdiferente. Por exemplo, comumente verificamos que um programa pode ser segmentado em:

código, dados alocados dinamicamente, dados alocados estaticamente e pilha de execução. Noentanto, alguns sistemas enxergam cada objeto ou módulo como se fosse um segmento.

Quando o sistema utiliza o esquema de segmentação, o endereço lógico é também divididoem: número do segmento e deslocamento dentro do segmento (semelhante ao esquema depaginação). Os segmentos não necessariamente precisam ter o mesmo tamanho. No

entanto, existe um tamanho máximo definido para os segmentos.

Os endereços lógicos são traduzidos para um endereço físico através de uma tabela de

segmentos, que basicamente contém as mesmas informações da tabela de páginas vistaanteriormente. Essa tabela informa o local onde o segmento foi colocado em memória e qual o seutamanho. 

Page 11: ATIVIDADE DA IMPLEMENTAÇÃO E ANÁLISE DOS ALGORITMOS  DE SUBSTITUIÇÃO DE PÁGINAS

5/7/2018 ATIVIDADE DA IMPLEMENTAÇÃO E ANÁLISE DOS ALGORITMOS DE SUBSTITUIÇÃO DE PÁGINAS - slidepdf.com

http://slidepdf.com/reader/full/atividade-da-implementacao-e-analise-dos-algoritmos-de-substituicao-de-paginas 11/15

 

 

Figura 4. Esquema de tradução de endereços lógicos em físico.

Quando o deslocamento é maior que o limite especificado na tabela de segmentos significa queo processo que está executando está tentando endereçar além do final do segmento, ou seja,fora da sua área de memória lógica. Nesse instante será gerada uma interrupção de proteção.

Figura 5. Exemplo de tradução de end. lógico para físico. 

Page 12: ATIVIDADE DA IMPLEMENTAÇÃO E ANÁLISE DOS ALGORITMOS  DE SUBSTITUIÇÃO DE PÁGINAS

5/7/2018 ATIVIDADE DA IMPLEMENTAÇÃO E ANÁLISE DOS ALGORITMOS DE SUBSTITUIÇÃO DE PÁGINAS - slidepdf.com

http://slidepdf.com/reader/full/atividade-da-implementacao-e-analise-dos-algoritmos-de-substituicao-de-paginas 12/15

 

SIMULADOR DE MEMÓRIA VIRTUAL

Na página do simulador utilizado, consta algumas informações sobre ele, o objetivo é continuar oestudo da gestão de memória, focando agora os mecanismos associados

ao suporte de memória virtual, em particular o que acontece quando ocorre uma falta de pági na eos algoritmos de substituição de páginas.

O programa permite simular as acções do hardware de paginação e da rotina de tratamento da

interrupção por falta de página. Essa simulação é feita nas seguintes condições:1. Só há um processo que tem um espaço de endereçamento virtual com 32 bits em que 12 bits

são para o deslocamento e 20 bits para o número da página virtual. O processo poderá ter nomáximo 2^20 páginas virtuais (1024*1024). Cada página terá 2^12 (4096) bytes. A tabela de páginasé simulada

por um vector de registos que para cada página contém:

o bit de validade

o número da frame em que a página está carregada

2. A memória física está dividida em páginas físicas ou "frames" com a mesma dimensão. O

número de frames que o processo pode ocupar é um parâmetro da simulação definido na linha decomando.A tabela de frames (tabela de páginas invertida) é simulada por um vector de registos quepara cada frame contém:

o número da página guardada na frame o bit de referência o bit de modificação (dirty bit) a data do carregamento da página virtual na frame a data da última referência à frame

3. As referências às páginas podem ser em leitura ou em escrita

4. A gestão das páginas é feita em paginação a pedido pura. Isto significa que inicialmente oprocesso não ocupa nenhuma "frame" na memória física. As páginas vão sendo carregadas àmedida que vão sendo referenciadas.

5. Quando não existe nenhuma "frame" livre é preciso escolher uma página virtual PV para sersacrificada. A página PV (página vítima) deixa de estar carregada em memória. A escolha da página

vítima é feita por um algoritmo de substituição de páginas que pode ser definido a partir da linha decomando, a saber:

Random: a frame vítima é escolhida ao acaso FIFO: a frame vítima é a que está há mais tempo em RAM LRU: a frame vítima é a que não é referenciada há mais tempo

IMPLEMENTAÇÃO DOS ALGORITMOS

Nos anexos deste trabalho fizemos as devidas mudanças no simulador, incluindo soluções de

trocas de páginas baseadas em FIFO e em LRU, no FIFO foi usada uma técnica que ao ser chamada afunção de substituição do tipo, foi feita a remoção da página mais antiga, ou seja, aquela que estámais tempo na memória principal. No LRU a técnica foi simples, foi usado um contador de uso de

página para cada entrada que é atualizado com o valor de relógio da última referência a estapágina, substituímos então a página com menor valor de data. A seguir falaremos dos resultadosdesta experiência.

Page 13: ATIVIDADE DA IMPLEMENTAÇÃO E ANÁLISE DOS ALGORITMOS  DE SUBSTITUIÇÃO DE PÁGINAS

5/7/2018 ATIVIDADE DA IMPLEMENTAÇÃO E ANÁLISE DOS ALGORITMOS DE SUBSTITUIÇÃO DE PÁGINAS - slidepdf.com

http://slidepdf.com/reader/full/atividade-da-implementacao-e-analise-dos-algoritmos-de-substituicao-de-paginas 13/15

 

 

ANÁLISE COMPARATIVA DE ALGORITMOS

Nos gráficos a seguir é demonstrado os resultados das modificações no simulador , o LRU parece serbem melhor do que o FIFO, na análise levamos em conta o random também, em nossa

implementação amadora dá para se perceber a diferença entre os resultados mas nenhuma se

aproxima ao random que em uma implementação profissional , deverá ser o pior caso.

Page 14: ATIVIDADE DA IMPLEMENTAÇÃO E ANÁLISE DOS ALGORITMOS  DE SUBSTITUIÇÃO DE PÁGINAS

5/7/2018 ATIVIDADE DA IMPLEMENTAÇÃO E ANÁLISE DOS ALGORITMOS DE SUBSTITUIÇÃO DE PÁGINAS - slidepdf.com

http://slidepdf.com/reader/full/atividade-da-implementacao-e-analise-dos-algoritmos-de-substituicao-de-paginas 14/15

 

 

CONCLUSÃO

Sistemas computacionais mais simples não precisam realizar nenhum tipo de gerenciamento pois,usualmente, seus programas rodam diretamente na memória principal disponível. No entanto, estanão é a situação mais comum. Na maioria dos sistemas em uso, os programas são muito maiores

que a quantidade de memória principal disponível e/ou é necessário rodar mais de um programa aomesmo tempo. Nestes casos, a utilização de esquemas de troca, páginas e segmentos pode ser umaalternativa. Um modelo de memória virtual, que fornece um espaço de endereçamento maior doque o físico, pode ser disponibilizado para os programadores no desenvolvimento de seus sistemas.Internamente, no entanto, o S.O. deve ser capaz de gerenciar a memória de forma a manter aspartes do programa em uso na memória principal, arma zenando as demais partes em disco.

Page 15: ATIVIDADE DA IMPLEMENTAÇÃO E ANÁLISE DOS ALGORITMOS  DE SUBSTITUIÇÃO DE PÁGINAS

5/7/2018 ATIVIDADE DA IMPLEMENTAÇÃO E ANÁLISE DOS ALGORITMOS DE SUBSTITUIÇÃO DE PÁGINAS - slidepdf.com

http://slidepdf.com/reader/full/atividade-da-implementacao-e-analise-dos-algoritmos-de-substituicao-de-paginas 15/15

 

REFERÊNCIAS BIBLIOGRÁFICAS 

CASSETTARI, H. H. Análise da Localidade de Programas e Desenvolvimento de

Algoritmos Adaptativos para Substituição de Páginas. Qualificação de Mestrado.

Escola Politécnica da Universidade de São Paulo. Departamento de Engenharia de

Computação e Sistemas Digitais. 2003 

OLIVEIRA, R. S.; CARISSIMI, A. S. e TOSCANI, S. S. Si stemas Operac i onai s. Sagra Luzzatto,

Porto Alegre, 2001. (Cap. 5)

TANENBAUM, A. S. Sistemas Operacionais Modernos. 2ª Edição. Prentice Hall,2003.

[internet] pt.wikiversity.org