Escolar Documentos
Profissional Documentos
Cultura Documentos
Algoritmos de Substituicao Paginas
Algoritmos de Substituicao Paginas
Sistemas Operacionais algumas deficincias [CAS03] quando o padro de acesso sequencial (em estruturas de dados do tipo vetor, lista, rvore), dentro de loops, etc. Diante dessas deficincias foram propostas algumas variaes do LRU, dentre eles destacamos o LRU-K. Este algoritmo no substitui aquela que foi referenciada h mais tempo e sim quando ocorreu seu k-ltimo acesso. Por exemplo, LRU-2 substituir a pgina que teve seu penltimo acesso feito h mais tempo e LRU-3 observar o antepenltimo e assim por diante. A implementao do LRU tambm pode ser feita atravs de uma lista, mantendo as pginas mais referenciadas no incio (cabea) e a menos referenciadas no final da lista. Portanto, ao substituir retira-se a pgina que est no final da lista. O maior problema com esta organizao que a lista deve ser atualizada a cada nova referncia efetuada sobre as pginas, o que torna alto o custo dessa manuteno. Algoritmo de substituio de pginas timo O algoritmo timo, proposto por Belady em 1966, o que apresenta o melhor desempenho computacional e o que minimiza o nmero de faltas de pginas. No entanto, sua implementao praticamente impossvel. A idia do algoritmo retirar da memria a pgina que vai demorar mais tempo para ser referenciada novamente. Para isso, o algoritmo precisaria saber, antecipadamente, todos os acessos memria realizados pela aplicao, o que impossvel em um caso real. Por estes motivos, o algoritmo timo s utilizado em simulaes para se estabelecer o valor timo e analisar a eficincia de outras propostas elaboradas. Algoritmo de substituio de pginas MRU O algoritmo MRU (Most Recently Used) faz a substituio da ltima pgina acessada. Este algoritmo tambm apresenta algumas variaes, semelhante ao LRU. Por exemplo, o MRU-n escolhe a n-ltima pgina acessada para ser substituda. Dessa forma, possvel explorar com mais eficincia o princpio de localidade temporal apresentada pelos acessos. Algoritmo de substituio de pginas CLOCK Este algoritmo mantm todas as pginas em uma lista circular (em forma de relgio). A ordem mantida segue a seqncia em que elas foram carregadas em memria. Alm disso, adicionado um bit de uso que indica se a pgina foi referenciada novamente depois de ter sido carregada. Ao precisar substituir uma pgina o algoritmo verifica se a pgina mais antiga est com o bit zerado (o que significa que a pgina no foi mais referenciada) para ser substituda. Se ela no estiver o bit zerado e a prxima pgina da fila mais antiga ser verificada. Esse processo continua at que uma pgina antiga com o bit zerado seja encontrada para ser substituda. Prof. Dr. Jean M. Laine 2
Sistemas Operacionais Algoritmo de substituio de pginas NRU O algoritmo NRU (Not Recently Used) procura por pginas que no foram referenciadas nos ltimos acessos para serem substitudas. Tal informao mantida atravs de um bit. Este algoritmo tambm verifica, atravs de um bit de modificao, se a pgina teve seu contedo alterado durante sua permanncia em memria. Esta informao tambm vai ajudar a direcionar a escolha da pgina. As substituies das pginas seguem a seguinte prioridade: pginas no referenciadas e no modificadas, pginas no referenciadas, pginas no modificadas e pginas referenciadas e modificadas. Algoritmo de substituio de pginas LFU O LFU (Least Frequently Used) escolhe a pgina que foi menos acessada dentre todas as que esto carregas em memria. Para isso, mantido um contador de acessos associado a cada pgina (hit) para que se possa realizar esta verificao. Esta informao zerada cada vez que a pgina deixa a memria. Portanto, o problema desse algoritmo que ele prejudica as pginas recm-carregadas, uma vez que por estarem com o contador de acessos zerado a probabilidade de serem substitudas maior. Qual uma possvel soluo para este problema? (Estabelecer um tempo de carncia) S pginas fora desse tempo que podem ser substitudas. Tal estratgia deu origem ao algoritmo FBR (Frequency-Based Replacement). Algoritmo de substituio de pginas MFU O MFU (Most Frequently Used) substitui a pgina que tem sido mais referenciada, portanto, o oposto do LFU. O controle tambm feito atravs de contadores de acesso. O maior problema deste algoritmo que ele ignora o princpio de localidade temporal. Algoritmo de substituio de pginas WS O algoritmo WS (Working Set) possui a mesma poltica do LRU. No entanto, este algoritmo no realiza apenas a substituio de pginas ele tambm estabelece um tempo mximo que cada pgina pode permanecer ativa na memria. Assim, toda pgina que tem seu tempo de permanncia esgotado ela retirada da memria. Portanto, o nmero de pginas ativas varivel. O WS assegura que as pginas pertencentes ao working set processo permanecero ativas em memria. Os algoritmos apresentados so alguns dos disponveis na literatura. Outras implementaes ou variaes dos destacados aqui podem ser encontradas tambm [CAS03].
Sistemas Operacionais
Exerccios
1. Considere a seguinte string de referncia de pgina: 1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6 Simule a funcionalidade dos algoritmos listados a seguir e diga quantas faltas de pgina ocorrem em cada um, considerando uma memria com trs pginas. a. FIFO
b. LRU
c. TIMO
d. MFU
2. Considere a seguinte string de referncia de pgina: 7, 0, 1, 2, 0, 3, 0, 4, 2, 3, 0, 3, 2, 1, 2, 0, 1, 7, 0, 1 Simule a funcionalidade dos algoritmos listados a seguir e diga quantas faltas de pgina ocorrem em cada um, considerando uma memria com 4 pginas. a. FIFO
b. LRU
e. LFU
f. MFU
3. Faa uma pesquisa sobre algoritmos de substituio de pginas adaptativos. Cite o nome dos algoritmos encontrados e explique, resumidamente, a idia de cada um deles.
4. possvel afirmar que para um conjunto de aplicaes X o algoritmo de substituio de pginas A seja mais adequado e para um conjunto de aplicaes Y o algoritmo de substituio de pginas B seja mais eficiente? Isso verdade? Sim ou no? Justifique.
Sistemas Operacionais
Bibliografia
TANENBAUM, A. S. Sistemas Operacionais Modernos. Prentice Hall, 2 Edio, 2003. (Cap. 4)
Referncia Bibliogrfica
[CAS03] CASSETTARI, H. H. Anlise da Localidade de Programas e Desenvolvimento de Algoritmos Adaptativos para Substituio de Pginas. Qualificao de Mestrado. Escola Politcnica da Universidade de So Paulo. Departamento de Engenharia de Computao e Sistemas Digitais. 2003.