Você está na página 1de 15

Sistemas Operativos

Funcionamento da Memria Virtual

Rui Magalhes 22917 1

ndice
Princpio Geral de Funcionamento................................................................................................ 3 Algoritmos de Substituio de Pginas ......................................................................................... 4 Algoritmo de substituio de pginas FIFO ........................................................................... 4 Algoritmo de substituio de pginas LRU............................................................................ 4 Algoritmo de substituio de pginas timo ........................................................................ 5 Algoritmo de substituio de pginas MRU .......................................................................... 5 Algoritmo de substituio de pginas CLOCK ....................................................................... 5 Algoritmo de substituio de pginas NRU ........................................................................... 5 Algoritmo de substituio de pginas LFU ............................................................................ 6 Algoritmo de substituio de pginas MFU .......................................................................... 6 Algoritmo de substituio de pginas WS............................................................................. 6 Segmentao ................................................................................................................................. 7 -Objectivos ............................................................................................................................ 7 -Mecanismos de traduo de endereos .............................................................................. 7 -Optimizao do Mecanismo de Traduo de Endereos ..................................................... 8 - Fragmentao ..................................................................................................................... 9 -Proteco ............................................................................................................................. 9 Paginao .................................................................................................................................... 10 -Objectivos .......................................................................................................................... 10 -Mecanismos de traduo de endereos ............................................................................ 10 -Tabela de traduo de endereos(TLB) ............................................................................. 11 -Fragmentao .................................................................................................................... 13 -Proteco ........................................................................................................................... 13 -Partilha de memria entre processos ................................................................................ 13 -Dimenso das pginas........................................................................................................ 13 Memria Segmentada/Paginada ................................................................................................ 14 Concluso .................................................................................................................................... 15

Princpio Geral de Funcionamento rincpio

A memria virtual baseia- num espao de endereos, dito virtual, que acessvel -se , idealmente a um programa em linguagem mquina, conforme a definio dos campos de endereos e dos modos de endereamento das instrues de referncia de memria de um dado processador. A figura 1 ilustra a relao entre os mapas de memria virtual de diversos processos e a sua localizao nas unidades de memria localizao fsica do computador: memria central (RAM) e memria secundria (disco).

Figura 1: Memria virtual A memria virtual um conceito que garante uma memria dedicada execuo de cada programa, contendo, portanto, regies lgicas de cdigo, dados e pilha, que so geridas pelo SO, de forma transparente ao processo utilizador. Isto significa que o espao de endereos virtuais de cada processo tem um tamanho mximo independente da capacidade de memria real disponvel num dado computador. Significa tambm que o programa pode ignorar a localizao fsica das suas regies lgica de cdigo, dados e pilha, pois o SO e o hardware de transformao de endereos encarregam-se de, a cada referncia gerada pelo programa, localizar a corr se correspondente clula, em memria central ou em disco. Por outro lado, este mecanismo garante a separao lgica e fsica - proteco - entre os espaos de endereamento dos diferentes processos concorrentes.

Algoritmos de Substituio de Pginas


Os algoritmos de substituio de pginas so polticas definidas para escolher qual(is) pgina(s) da memria dar lugar a pgina que foi solicitada e que precisa ser carregada. Isso necessrio quando no h espao disponvel para armazenar a nova pgina. Devemos ressaltar que se a pgina a ser removida sofreu alteraes enquanto esteve na memria, a cpia virtual existente em disco dever ser atualizada. Por outro lado, se a pgina no foi modificada significa que sua cpia est atualizada e, portanto, no necessrio reescrev-la. Polticas de substituio de pginas devem ser utilizadas em sistemas que fazem uso de memria virtual paginada com o objetivo de melhorar o desempenho do sistema computacional. Os algoritmos de substituio de pginas podem ser classificados, basicamente, em: algoritmos com espao fixo e algoritmos com espao varivel. A diferena entre estes dois tipos de algoritmos que o de espao fixo trabalha sobre uma rea de memria sempre constante, enquanto que os de espao varivel podem modificar o tamanho da memria alocada dinamicamente [CAS03].
Algoritmo de substituio de pginas FIFO

O FIFO (First-in, First-out) um algoritmo de substituio de pginas de baixo custo e de fcil implementao que consiste em substituir a pgina que foi carregada h mais tempo na memria (a primeira pgina a entrar a primeira a sair). Esta escolha no leva em considerao se a pgina est sendo muito utilizada ou no, o que no muito adequado pois pode prejudicar o desempenho do sistema. Por este motivo, o FIFO apresenta uma deficincia denominada anomalia de Belady: a quantidade de falta de pginas pode aumentar quando o tamanho da memria tambm aumenta. Por estas razes, o algoritmo FIFO puro muito pouco utilizado. Contudo, sua principal vantagem a facilidade de implementao: uma lista de pginas ordenada pela idade. Dessa forma, na ocorrncia de uma falta de pgina a primeira pgina da lista ser substituda e a nova ser acrescentada ao final da lista.
Algoritmo de substituio de pginas LRU

O LRU (Least Recently Used) um algoritmo de substituio de pgina que apresenta um bom desempenho substituindo a pgina menos recentemente usada. Esta poltica foi definida baseada na seguinte observao: se a pgina est sendo intensamente referenciada pelas instrues muito provvel que ela seja novamente referenciada pelas instrues seguintes e, de modo oposto, aquelas que no foram acessadas nas ltimas instrues tambm provvel que no sejam acessadas nas prximas. Apesar de o LRU apresentar um bom desempenho ele tambm possui algumas deficincias 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.
4

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.
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.

Segmentao
-Objectivos

O objectivo da segmentao a diviso dos programas em segmentos lgicos que reflictam a sua subdiviso funcional. Por exemplo, cada rotina ou cada mdulo corresponder a um segmento.O principal objectivo deste mtodo tentar suportar directamente na gesto de memria as abstraces comuns nas linguagens de programao, nomeadamente:

Carregamento em memria. O segmento a unidade mnima a carregar em memria. Considera-se que todas as palavras dentro do segmento tm a mesma probabilidade de virem a ser acedidas. Como no sabemos qual das instrues de uma certa rotina vai ser ou no executadas, temos de as ter todas em memria. Proteco A proteco da memria feita em termos de blocos lgicos, quem pode aceder a parte do bloco pode aceder ao bloco todo e vice-versa. Eficincia O princpio da localidade de referncia diz-nos que, se acedermos a um endereo de um segmento lgico com grande probabilidade os prximos acessos sero a endereos situados no mesmo segmento. Esta constatao na anlise dos programas permite optimizar os acessos dentro do segmento, perdendo-se menos tempo na traduo de endereos.

-Mecanismos de traduo de endereos

Um endereo virtual tem a seguinte forma (segmento, deslocamento) segmento contm o nmero do segmento e deslocamento indica o deslocamento dentro do segmento. O mecanismo de traduo est representado na fig. 4.5. Existe uma tabela de segmentos composta pelo descritor de cada segmento. Cada descritor contm o endereo fsico do segmento (endereo base do segmento), a sua dimenso, informao respeitante proteco e utilizao do segmento. Dois registos da unidade de gesto de memria, chamados registo Base da Tabela de Segmentos (BTS) e registo Limite da Tabela de Segmentos (LTS), contm respectivamente o endereo real de incio da tabela e a sua dimenso. Quando o programa gera um endereo, o nmero do segmento comparado com o registo LTS. Se for inferior, somado com o registo BTS obtendo-se a entrada na tabela de segmentos correspondente a este segmento. De seguida, os bits de proteco so testados para verificar se o acesso pretendido legal. Habitualmente, estes bits indicam se se pode ler, escrever ou executar o segmento. Por fim, verificado se o deslocamento pretendido inferior ou igual dimenso do segmento. Se o endereo for vlido, o deslocamento somado ao endereo fsico do incio do segmento, obtendo-se o endereo fsico pretendido. Se algum dos testes anteriores falhar, isso significa que o endereo invlido. O hardware interrompe a traduo do endereo e gera uma excepo, que ser tratada pelo sistema operativo. O mecanismo descrito executado pelo hardware. A funo do sistema operativo a de programar os vrios registos, preencher a tabela de
7

segmentos e tratar as excepes quando estes so desencadeados. Quando se d uma mudana de contexto, os registos base e limite tm de ser carregados, com o endereo e dimenso da tabela de segmentos do novo processo. A dimenso mxima de um segmento est associada arquitectura da mquina, no podendo nunca ser alterada porque determina quantos bits do endereo so necessrios para especificar o deslocamento e conter a dimenso do segmento.

-Optimizao do Mecanismo de Traduo de Endereos

A tabela de segmentos est em memria fsica. Se o hardware tiver de lhe aceder de cada vez que o programa gera um endereo, o custo do acesso a uma posio de memria duplica, visto que so necessrios dois acessos a memria por cada um pretendido pelo programa. Este facto particularmente importante, porque na moderna tecnologia a velocidade de um computador est em grande parte limitada pelos acessos memria. Em arquitecturas segmentadas a soluo habitual para este problema guardar em registos, de acesso muito rpido, as entradas da tabela de segmentos correspondentes aos segmentos em utilizao. Um programa pode ter mais que um segmento de cdigo ou dados. Da primeira vez que um segmento acedido, o seu descritor lido da tabela de segmentos e guardado no registo apropriado. Por exemplo, a instruo de chamada a uma rotina noutro segmento, da forma far call segmento: deslocamento, provoca o carregamento do descritor relativo a segmento no registo associado ao segmento de cdigo (CSR). Nos acessos seguintes a endereos dentro do mesmo segmento, a traduo feita internamente ao processador usando o registo CSR, o que muito rpido. A operao demorada, que ler o descritor da tabela de segmentos, s efectuada da primeira vez que o segmento for acedido. Se o programa aceder a outro segmento diferente de cdigo, esse descritor ser carregado em CSR, destruindo o que l estava, Estes registos funcionam pois como uma cache de direco unitria. Certos processadores tm tabelas genricas, que guardam os descritores dos ltimos segmentos acedidos pelo programa.

- Fragmentao

A segmentao gera fragmentao externa a medida que os segmentos so alocados e libertados. Uma maneira de a resolver copiar todos os segmentos para um dos extremos da memria, como no caso das parties variveis. Outra soluo, usada principalmente quando um segmento cresce, copiar o segmento para memria secundria, libertar o seu espao em memria fsica, alocar um segmento da dimenso pretendida (eventualmente esperando que outros processos terminem e libertem memria) e, copiar o segmento novamente para memria primria. Ambas as solues exigem que o processamento seja interrompido. A segunda soluo incremental, o que implica paragens menores e necessita de menos memria livre para operar.
-Proteco

Numa arquitectura segmentada a unidade de proteco o segmento. A proteco associada ao segmento est especificada no descritor do segmento e feita a vrios nveis:

Como processos diferentes tm tabelas de segmentos diferentes, os espaos de endereamento virtual so distintos, no havendo forma de um processo poder referendar zonas de memria de outro. O deslocamento dentro do segmento verificado comparando-o com a dimenso do segmento residente no descritor. tipo de acesso ao segmento verificado impedindo, por exemplo, que um programa escreva no segmento de cdigo. As proteces habituais so leitura, escrita e execuo.

-Partilha de memria entre processos

Partilhar um segmento entre dois ou mais processos externamente simples: basta ter nas varias tabelas de segmentos uma entrada contendo o mesmo endereo fsico e dimenso. Desta forma, dois processos podem aceder por endereos virtuais (eventualmente diferentes) mesma memria fsica.

Paginao
Objectivos

O principal objectivo da arquitectura de memria paginada oferecer ao programador um espao de endereamento (virtual) linear, em geral bastante maior que a dimenso da memria fsica da mquina. A ideia subjacente fazer com que o programador no precise de se preocupar com a gesto de memria quando escreve um programa.
Mecanismos de traduo de endereos

A memria dividida em blocos todos do mesmo tamanho, chamados pginas sem preocupaes com a estrutura lgica do programa. Um endereo tem a forma (pgina, deslocamento) pgina contm o nmero da pgina e deslocamento indica o deslocamento dentro da pgina. O mecanismo de traduo est representado na fig. 4.6, sendo semelhante ao apresentado para a memria segmentada. Existe uma tabela de pginas composta pelo descritor de cada pgina, em geral chamado PTE (de Page Table Enry). Cada descritor contm o endereo fsico da pgina, um bit de presena e informao respeitante proteco e utilizao da pgina. No

necessrio guardar a dimenso das pginas, pois elas tm todas o mesmo tamanho. Dois registos do hardware de traduo de endereos, chamados Base da Tabela de Pginas (BTP) e Limite da Tabela de Pginas (LTP), contm respectivamente o endereo real de incio da tabela de pginas e a dimenso desta. Quando o programa gera um endereo, o nmero da pgina comparado com registo LTP. Se for inferior, somado com o registo BTP, obtendo-se a entrada na tabela de pginas correspondente a esta pgina. De seguida, os bits de proteco so testados para verificar se o acesso pretendido legal, estes bits indicam se se pode ler, escrever ou executar a pgina. Se o endereo for vlido, o deslocamento somado ao endereo fsico do incio da pgina, obtendo-se o endereo fsico pretendido. Se n for o nmero de bits do
10

deslocamento, o endereo fsico do incio da pgina ter sempre os n bits de menor peso a zero, sendo a soma idntica a uma concatenao. Como no caso da segmentaro, se algum dos testes anteriores falhar, isso significa que o endereo invlido, sendo gerada urna excepo que ser tratada pelo sistema operativo. Existe uma (ou mais) tabela(s) de pginas, por processo. Quando se d uma mudana de contexto, os (vrios) registos base e limite tm de ser carregados com o endereo e dimenso da(s) tabela(s) de paginas do novo processo. A diviso das pginas est definida na arquitectura da mquina, no podendo nunca ser alterado o espao de endereamento virtual.
Tabela de traduo de endereos (TLB)

A tabela de pginas reside em memria fsica. Tal como na segmentaro, o mecanismo de traduo obriga a um acesso suplementar memria, o que duplicaria o tempo de acesso informao, tornando indispensvel a existncia de uma tabela interna unidade de gesto de memria que guarde as PTE das, ultimas pginas acedidas. No entanto, neste caso no podemos ter registos que memorizem os descritores de alguns blocos lgicos do programa, como na segmentaro. As pginas subdividem o programa aleatoriamente, sem terem em conta blocos lgicos, pelo que nunca possvel saber se a palavra a que queremos aceder est ou no dentro da pgina actual. A soluo comum consiste em guardar numa memria associativa de acesso muito rpido chamada TLB (Translation Lookaside Buffer) os, descritores das ltimas n pginas, acedidas pelo programa. Quando o programa gera um endereo, a memria associativa consulta simultaneamente todas a suas posies, pesquisando se tem uma entrada cujo nmero de pgina seja igual ao nmero de pgina gerado pelo programa. O acesso feito em paralelo a todas as posies da memria associativa. Se for encontrada a entrada pretendida ela colocada na sada, se no for encontrada isso assinalado ao hardware de gesto de memria. Em processadores onde a TLB gerida pelo hardware, a pesquisa na TLB lanada em paralelo com o acesso tabela de pginas. Se o descritor for encontrado na TLB, interrompido o acesso tabela de pginas. Se no for encontrado, a tabela de pginas, acedida como foi descrito anteriormente, e o descritor introduzido na TLB, geralmente segundo uma disciplina FIFO, de forma a que acessos subsequentes mesma pgina sejam a resolvidos. Outros processadores, sobretudo processadores R,ISC, gerem a TLB por software. Se o descritor da pgina no for encontrado na TLB gerada uma excepo, tendo o sistema operativo que preencher a entrada na TLB com o valor adequado. Este mecanismo est representado na fig. 4.7. O ideal seria guardar na TLB no as ltimas, mas as prximas pginas a que o programa ir aceder. Como isso impossvel de prever, toma-se o funcionamento recente do programa como uma boa previso para o que ele far no futuro prximo. Concretamente, se um programa acedeu a uma pgina, expectvel que os prximos acessos sejam dentro da mesma pgina. A dimenso destas, tabelas pequena, em geral (64, 128 entradas), pois o seu custo elevado.

11

O objectivo central da paginao oferecer ao programador um espao de endereamento virtual maior que a memria fsica do computador. Isto conseguido mantendo em memria fsica apenas algumas pginas do programa e carregando da memria secundria as outras pginas, quando isso for necessrio. A PTE tem um bit de presena (bit P) que indica se a pgina est ou no em memria primria. Na descrio feita anteriormente, considerou-se que o bit P estava a 1. Se o bit P estiver a O, o hardware de gesto de memria gera uma excepo que interrompe a instruo a meio. Diz-se ento que houve uma falta de pgina. O sistema operativo analisa a causa da excepo, determina que foi uma falta de pgina e comea o processamento adequado. Em primeiro lugar, ter de alocar uma pgina livre em memria primria (segundo os algoritmos a analisar no captulo seguinte) e de seguida verifica qual o tipo da pagina. Se uma pgina nova (resultante do crescimento da pilha, ou uma pagina de dados no inicializados), basta preenche-la com zeros; se existe uma cpia da pagina em memria secundria, necessrio l-la do disco. Quando o acesso ao disco terminar, o sistema operativo preenche a PTE com o endereo da pgina, posiciona o bit P a I e coloca o processo na fila dos executveis. Quando o processo se voltar a executar, ir completar (ou mesmo repetir, em certas arquitecturas ; a instruo que tinha sido interrompida a meio. O acesso memria ser repetido e completar-se- correctamente pois PTF j tem o bit P a 1. As excepes provocadas pela UGN tm uma diferena importante em relao s instrues que interrompem o processador no fim de uma instruo. As excepes da gesto de memria tm de interromper a instruo a meio e o processador tem de ser capaz de, mais tarde, completar a instruo que foi interrompida. O programa seccionado em pginas aleatoriamente, podendo acontecer que uma instruo seja composta por mais de um octeto fique partida entre duas pginas se a primeira pgina estiver presente e a segunda no, haver uma falta de pgina a da instruo. Se o processador no fosse capaz de interromper a instruo a meio e depois completa-la, aquela instruo ficaria perdida, e o programa no funcionaria correctamente. Diz-se que as instrues tem de ser recomeveis (de restartable ). Em memria segmentada tambm possvel ter o mesmo mecanismo de falta de
12

segmento. Se o bit P do descritor de segmento estiver a zero haver uma falta de segmento. A diferena importante que, no caso da segmentao, s as instrues que carregam um novo segmento podem originar uma falta de segmento. As instrues que endeream memria dentro do segmento no obrigam ao carregamento de um novo segmento, portanto, nunca podem originar uma falta de segmento. Estas instrues no necessitam no necessitam de ser recomeveis, o que representa uma simplificao considervel no hardware do processador. Na paginao, como se viu, todas as instrues tem de ser recomeveis.
-Fragmentao

Um bloco lgico de programa (em geral, cdigo, dados e pilha) corresponde a um conjunto de pginas, havendo fragmentao interna na ltima pgina de cada bloco. O desperdcio de memria torna-se muito importante se as pginas forem grandes e houver muitos processos carregados em memria.
-Proteco

A proteco em memria paginada faz-se da mesma forma que em memria segmentada: processos distintos tm tabelas de pginas diferentes e cada pgina contm os modos de acesso permitidos (leitura, escrita e execuo ). No entanto, a grande particularidade da proteco a pgina. Para proteger um bloco lgico de um programa necessrio estabelecer essa proteco nas vrias pginas que compem o bloco, o que mais complicado e menos elegante que na segmentao. Se o bloco a proteger for menor que a dimenso da pgina, a nica soluo atribuir uma pgina inteira a esse bloco, o que provoca fragmentao interna pgina.
-Partilha de memria entre processos

Para partilhar uma zona de memria entre vrios processos basta ter, nas tabelas de pginas dos processos em causa, um conjunto de PTE indicando o mesmo endereo fsico. Como para a proteco, este mecanismo mais complicado e menos elegante na memria paginada que na segmentada.
-Dimenso das pginas

Pginas pequenas tm a vantagem de diminuir a fragmentao interna, mas aumentam o nmero de faltas de pginas, a dimenso das tabelas de pgina 3 e a dimenso das listas de pginas mantidas pelo sistema operativo. Pginas grandes tm as vantagens recprocas: tabelas de pginas menores, menos faltas de pginas, listas mais curtas, logo mais rpidas de pesquisar. Em contrapartida, aumenta o desperdcio de memria e o tempo de transferncia entre memria e disco.

13

Memria Segmentada/Paginada

A Segmentao sege uma aproximao lgica, cada segmento subdividido em paginas. O mecanismo de traduo de endereos est representado na figura. O numero de segmento usado para obter o endereo fsico do inicio da tabela de paginas do segmento, sendo a traduo do par (pagina,eslocamento) feita como anteriormente. As TLB do segmento e paginas so igualmente usadas como atras foi descrito. A proteco e partilha de segmentos feita como na Segmentao pura. A partilha de apenas parte das paginas de um segmento possvel, embora seja um pouco mais difcil de gerir. Um endereo virtual tem 48 bits. Os 16 bits mais significativos determinam o segmento, cuja dimenso mxima 232 octetos. Cada segmento subdividido em paginas de 4 Koctetos. A utilizao normal desta arquitectura fazer corresponder um segmento para cada um dos segmentos lgicos de um programa, que so cdigo, dados e pilha, e dados do sistema relativos ao processo, sendo cada um destes segmentos paginado. Desta forma, ultrapassa-se a principal limitao da memria segmentada, que a dimenso mxima dos segmentos.

14

Concluso
Memria virtual uma forma de contornar o problema de falta de memria RAM num computador utilizando a prpria memria interna do HD (disco rgido) atravs da criao virtual de memria estendida que funciona da mesma maneira que a RAM embora muito mais lentamente, uma vez que isto acontece ao nvel do HD e, como se sabe, a velocidade dos discos rgidos ainda muito inferior de um pente de memria RAM normal. A memria virtual feita deixando um espao do HD reservado para que seja possvel a sua utilizao como memria virtual.

15