You are on page 1of 16
~_ Geréncia de Memoria joritmos de Substituigdo de Paginas 9A Universidade Federal do Espirito Santo fo Departamento de Informatica Introducgao LeRM/O) Quando ocorre um Page Fault, 0 S.O. deve escolher que pagina remover para abrir espaco em memoria. Se a pagina foi alterada (bit Modified setado) é preciso salva- la em disco. Sendo foi, basta sobreescrevé-la. E melhor nao escolher para remocao uma pagina que é usada freqiientemente, pois ela pode ter que voltar para a memoria logo. Troca otima de pagina = Substituir a pagina para a qual falta mais tempo até ser necessdria novamente Marcar p/ cada pagina, quantas instrucées faltam p/ que ela seja referenciada = Solucdo dtima, mas invidvel! UFES 2 Sistemas Operacionais Algoritmo NRU — Not Recently Used (1) LPRM/DI/UFES 3 Sistemas Operacionais Ou seja, algoritmo de substituigdo da pagina “nado usada recentemente” Na maioria dos computadores com meméria virtual, as entradas nas tabelas de paginas tém 2 bits de status = Reference bit (R) ; Modified bit (M) Algoritmo = Qdo o processo é iniciado, os bits R e M das paginas sao zerados = Bits sdo sempre alterados quando a pagina é referenciada/modificada = Periodicamente o bit R é zerado (por exemplo, a cada tique de clock) = Quando acontece um Page fault, 0 S.O. inspeciona todas as paginas que encontram-se na memédria e as separa em categorias... Uprm http://www. inf.ufes.br/~rgomes/so.htm Algoritmo NRU — Not Recently Used (2) Isso pode ocorrer??? = Paginas sdo classificadas = Classe 0: Not referenced, not mod = Classe 1: Not referenced, modifie = Classe 2: referenced, not modified (| = Classe 3: referenced, modified (R=1 ,M=1) = OS.O. remove uma das paginas (aleatoriamente) da classe mais baixa nao vazia. = Vantagens = Algoritmo facil de entender e implementar . _Desempenho adequado LPRM/DI/UFE Sistemas Operacionais LPRM/DI/UFES 5 8 eae one Algoritmo FIFO = Mantem-se uma lista encadeada de paginas ordenada pela chegada das paginas a memoria. = Quando ocorre um Page Fault, a pagina no inicio da lista (que 6 a mais antiga) é a escolhida para a troca = Vantagem: = Baixo custo = Desvantagem: = A pagina mais antiga pode ser também uma pagina usada muito frequientemente. = N&o empregado! Sistemas Operacionais 8 eae one Algoritimo SC - Segunda Chance 1) = Tenta melhorar o FIFO =» Cada pagina tem um bit R (referenciada) = Antes de remover a pagina mais antiga (cabeca da fila), seu bit R é verificado = Se R=0, a pagina é substituida (a pagina referenciada ocupara o seu lugar na memoria) = Se R=1, a pagina vai para fim da fila, como se houvesse sido carregada agora e seu bit é setado para 0 Verifica-se a pagina que virou “cabeca” da fila = Se todas as paginas tiverem seu bit R=1, havera uma volta completa LpRMyO1/UFES Sistemas Operacionais Algoritimo SC - Segunda Chance 2) Instantes em que a pag. entrou na fila Page loaded first Most recently Pag. 4 0 Page Fault Pag. 5 0] 10 Tabela de Paginas LPRM/DI/UFES u CONTADOR Pagina que sera substituida! Sistemas Operacionais Algoritmo LRU — Least Recently Used (a) = LRU usando matrizes = HW especial que mantém uma matriz n x n, onde n é0 numero de molduras = Inicialmente todos os bits da matriz sao 0 = Sempre que a moldura k é referenciada, o hardware seta todos os bits da linha k para 1, e depois zera todos os bits da coluna k para zero = Deste modo, a qualquer instante a linha com o menor valor binario é a menos recentemente usada LPRM/DI/UFES 2 Sistemas Operacionais Up LLL) http://www. inf.ufes.br/~rgomes/so.htm Algoritmo LRU — Least Recently Used 5) = LRU usando matrizes (cont. Pagina na Pagina na Pagina na Pagina na Pagina na moldura 0 moldura 1 moldura 2 moldura 3 moldura 2 o123 o123 0123 o123 ae O/o;1}1}1 ojoj1}1 o}o|;o}1 oO ojo Olojol|o 1[0/0/0/0 1/0/1}1 1/0/0}1 1{o}o}o 1/o0}o|o 2[ofololo ofololo a[4fols 1[1Jolo t{4fo}s 3[ofofolo ofofolo ofololo {1 fsfo 1[1[o[o Pagina na Pagina na Pagina na Pagina na Pagina na moldura 1 moldura 0 moldura 3 moldura 2 moldura 3 o[ololo ofs]ays ofi]ifo o[+ Joo oft fofo tfola4 ofolafa ofolilo ofololo ofololo 1{o|o|1 O}o}ol1 Olo}ol|o 1}1{o}1 1}1/0]0 1{0|o}|0 O}o}o}|o 1{141}0 1}1/0/}0 1}1}1}0 LPRM/DI/UFES B Sistemas Operacionals Algoritmo LRU — Simulando LRU em Software «) = Problema das abordagens em HW. = Dependem de um HW especial = Procurar uma solugéo em SW = Simulando LRU em Software = Algoritmo NFU - Not Frequently Used Um contador por pagina na memoria A cada tick, o S.O. percorre todas as paginas na memoria e soma o bit R (0 ou 1) de cada pagina ao seu respectivo contador Na ocorréncia de Page Fault, a pagina c/ o menor contador é substituida Problema: o algoritmo nunca esquece (reseta) o contador LPRM/DI/UFES 4 Sistemas Operacionais Up LLL) http://www. inf.ufes.br/~rgomes/so.htm Algoritmo LRU — Simulando LRU em Software (2) = Algoritmo Aging = Desloca o contador de 1 bit p/ a direita = Soma R ao bit mais significativo do contador BitsR para | BitsRpara | Bi Bits R para | Bits R para paginas 0-5 | paginas 0-5 | paginas0-§ ! paginas0-5 | paginas 0-5 em t0 emt! emt3 emt op) | [Popp] | fr fofofo]]o ofofo Pagina [10000000] | [11000000] | [11100000] } [11110000] : [01111000 1 [00000000] : [10000000} | [11000000] : [01100000] ; | 10110000 2 [10000000] | [01000000] | [00100000] : [00100000] { [10001000 3 [00000000] | [00000000] | [10000000] | [01000000] ; [00100000 4 [10000000 i 1000000] | [or100000] : [10710000 | [ororro00] [10000000] [or000000] | [10100000] : [oro10000] {[fooror000]] Referéncias = A.S. Tanenbaum, "Sistemas Operacionais Modernos", 3a. Edicaéo, Editora Prentice-Hall, 2010. = Seco 3.4 = Silberschatz A. G.; Galvin P. B.; Gagne G.; "Fundamentos de Sistemas Operacionais", 6a. Edicéo, Editora LTC, 2004. = Seco 10.4 = Deitel H. M.; Deitel P. J.; Choffnes D. R.; “Sistemas Operacionais”, 3?, Edicdo, Editora Prentice-Hall, 2005 = Segfes 11.5 11.6 LPRM/DI/UFES 16 Sistemas Operacionals

You might also like