sistemas operacionais sistemas operacionais i dionisio gava junior reynaldo g. de oliveira –...

Download Sistemas Operacionais Sistemas Operacionais I Dionisio Gava Junior Reynaldo G. de Oliveira – Reynaldg@brfree.com.br Gerenciamento de Memória Virtual

Post on 17-Apr-2015

102 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • Slide 1
  • Sistemas Operacionais Sistemas Operacionais I Dionisio Gava Junior Reynaldo G. de Oliveira Reynaldg@brfree.com.br Gerenciamento de Memria Virtual
  • Slide 2
  • MEMRIA VIRTUAL Sistemas no virtuais. Necessidades da memria virtual. Memria virtual. Paginao por demanda. Interrupo por falta de pgina. Carga por demanda. Remoo de pginas. Tabela de blocos. Execuo com memria virtual. Paginao por demanda. Exerccios. FATEC - Sistemas Operacionais I Gerenciamento da Memria Virtual
  • Slide 3
  • FATEC - Sistemas Operacionais I Sistemas no Virtuais Em todos os esquemas vistos previamente, o servio no executaria caso no existisse memria suficiente para a carga do programa inteiro. Esta restrio frequentemente resulta em reas livres e servios esperando para ser carregado e executado. Mais do que isso, os programadores quando pressionados a manter o espao de endereamento do programa pequeno, diminuem a produtividade bem com a qualidade da programao. Muitos estudos realizados tem mostrado que um programa quando restrito em termos de espao de memria, implicar em um custo crescente de programao ao longo de sua manuteno. Gerenciamento da Memria Virtual
  • Slide 4
  • FATEC - Sistemas Operacionais I O tamanho da memria de um computador no deve influir na programao, ou mesmo na estruturao aplicativa. Se o programa for muito grande, em relao a memria, o sistema operacional, no o programador, dever aloc-lo adequadamente na memria. O programa dever utilizar somente a memria necessria durante a sua execuo. O sistema operacional no deve permitir que a memria torne-se fragmentada ou qualquer outra situao de sub-utilizao. O sistema dever se adaptar a demanda das atividades aplicativas, alocando, desalocando ou adicionando quando necessrio, de forma transparente e automtica. Necessidades da Memria Virtual
  • Slide 5
  • Gerenciamento da Memria Virtual FATEC - Sistemas Operacionais I Espao Simblico Os programas contm descries dos dados, de instrues e descries de E/S. Os dados so descritos com nomes simblicos, tais como salrio, campoa, endereo, etc. Algumas instrues ou grupos de instrues, da mesma forma que um campo na memria, podero possuir nomes simblicos, os quais so referenciados nas operaes de desvio. O programa fonte ser efetivamente uma combinao de instrues simblicas, descries de dados e descries de operaes de E/S, todos estes existindo em um espao construdo pelo programador. Este espao denominado "ESPAO SIMBLICO". Esta combinao de instrues simblicas e nomes simblicos e parte integrante do processo de desenvolvimento, esto presentes em quase todas as linguagens de programao, sendo fundamentais na implementao das aplicaes.
  • Slide 6
  • Gerenciamento da Memria Virtual FATEC - Sistemas Operacionais I Traduo Na preparao de um programa fonte para execuo, o programador executa a compilao de um conjunto de smbolos que constituem o Espao Simblico. O compilador converte os elementos simblicos de uma determinada linguagem de programao utilizada, para instrues de mquina, para dados e outros blocos de informaes. O compilador substitui os nomes simblicos por endereos reais. Este processo chamado "Traduo". Aps a traduo os endereos que compreendem o programa denominado "Espao de Endereamento". O compilador assinala endereos iniciando na localizao zero de memria, atribuindo crescentemente os endereos, as instrues e demais constantes.
  • Slide 7
  • Gerenciamento da Memria Virtual FATEC - Sistemas Operacionais I Formas de Traduo de Endereos A traduo de endereos poder ser realizada de trs formas: Somente na Compilao. O programa compilado e o resultado da compilao criar um mdulo cujos, endereos so absolutos. Exemplo "mover 10 bytes da posio 100 para posio 200 da memria". Neste caso no haver traduo de "endereos na memria". Na compilao e na execuo (no virtuais). A compilao traduz os smbolos em endereos no absolutos, os quais sero ainda traduzidos no momento da execuo, porm no exigem consulta em tabelas. Na compilao e na execuo (virtuais). Idem ao anterior, porm o endereo no absoluto exigir ainda
  • Slide 8
  • Gerenciamento da Memria Virtual FATEC - Sistemas Operacionais I Traduo de Endereos O programa visto pelo sistema como um conjunto de endereos virtuais, mapeados em pginas em uma tabela especfica do programa. No momento da execuo de suas instrues, acontecer traduo dos endereos virtuais para reais. A traduo feita por circuitos de hardware a qual consultar a tabela de pginas do programa para obter o bloco correspondente pgina. A traduo ocorrer tanto na busca de uma instruo como no endereamento de operandos.
  • Slide 9
  • Gerenciamento da Memria Virtual FATEC - Sistemas Operacionais I Tipos de Relocao Esttica feita no momento em que o programa carregado para a memria. A traduo feita em uma nica vez na compilao do programa. O resultado um espao de endereamento que ter a origem zero, e por isso dever ser carregado na localizao zero da memria real. Este programa denominado PROGRAMA ABSOLUTO. No existir relocao de endereos do espao de endereos no programa e a memria real. Dinmica feita no momento da execuo do programa. A cada instruo ou dados referenciado, haver a traduo de endereos. O programa no tendo endereamento absoluto, no necessitar estar carregado continuamente. Este tipo de traduo denominado RELOCAO DINMICA e executado por dispositivos especiais de hardware.
  • Slide 10
  • Gerenciamento da Memria Virtual FATEC - Sistemas Operacionais I Memria Virtual Em todos os esquemas no virtuais vistos anteriormente, notou-se que um servio no poderia ser executado, caso no houvesse memria suficiente para carregar todo o espao de endereamento. Esta restrio resulta em reas livres no utilizadas e servios que ficam esperando para ser carregados e executados. Embora os custos de memria decrescem com o passar do tempo, a necessidade de utilizao sempre foi, e sempre ser consideravelmente maior que a capacidade oferecida pelos computadores. A soluo para estes problemas basicamente foi a utilizao de MEMRIA VIRTUAL. Com o uso de memria virtual, o sistema operacional produz a iluso de existir uma memria extremamente grande. Como isto somente uma iluso, pois e memria no existe fisicamente, denominada memria virtual. A utilizao de memria virtual possui vrias implementaes. Analisaremos a seguir uma delas denominada "PAGINAO POR DEMANDA".
  • Slide 11
  • Gerenciamento da Memria Virtual FATEC - Sistemas Operacionais I Paginao por Demanda A tcnica de gerenciamento denominada Paginao por Demanda, permitir que a soma dos espaos de todos os programas seja maior que a memria fsica disponvel. Esta ser permitida pelo fato de que todo o espao do programa no necessitar estar na memria fsica de uma vez, ao contrrio disto, somente as partes ativas de cada programa ter de ser carregada.
  • Slide 12
  • Gerenciamento da Memria Virtual FATEC - Sistemas Operacionais I Implementao de Memria Virtual A memria fsica ser dividida em blocos iguais. Em algumas arquiteturas, a rea em que estar carregado o sistema operacional no sofre a diviso em blocos. Ser criado para cada programa no momento de a execuo uma tabela de pginas que conter: uma entrada para cada pgina a ser mapeada. Cada entrada contm o nmero da pgina ( de 0 a n), o estrado da pgina ( S - est presente na memria fsica, N - no est presente na memria fsica). Bloco - Nmero do bloco, ou seja, a localizao da pgina na memria fsica. O programa possuir um conjunto de endereos "VIRTUAIS" compreendido por pginas, que analisaremos a seguir. Uma pgina poder ter tamanho variado, entretanto a formatao mais comumente encontradas nas arquiteturas utilizam paginas de 4 Kbytes de tamanho.
  • Slide 13
  • Gerenciamento da Memria Virtual FATEC - Sistemas Operacionais I Interrupo por Falta de Pgina Caso o hardware no momento da traduo encontrar o estado "N" na tabela de pginas, para aquela pgina especfica, gerado neste instante uma interrupo por falta de pgina. Este tipo de interrupo faz com que o sistema operacional carregue de volta para a memria e atualize a tabela de pginas. Neste momento o programa espera a resoluo da pgina demandada. Exatamente por isso o esquema denominado "PAGINAO POR DEMANDA". Desta forma todas as pginas necessrias sero carregadas por demanda. Isto garante que pginas no necessrias no sejam carregadas.
  • Slide 14
  • Gerenciamento da Memria Virtual FATEC - Sistemas Operacionais I Carga por Demanda Uma cpia de todo o espao de endereo do programa armazenada na memria auxiliar quando o programa carregado para execuo. Durante a execuo, no momento de uma traduo, a pgina pode no estar na memria, isto implicar na interrupo por falta de pgina, que por sua vez far com que a pgina demandada seja carregada do disco para a memria. A tcnica de gerenciamento de paginao por demanda torna-se eficiente, a medida que o programa no fica restrito ao tamanho da memria fsica. Em outras palavras, o programa poderia ser maior que a memria fsica disponvel.
  • Slide 15
  • Gerenciamento da Memria Virtual FATEC - Sistemas Operacionais I Remoo de Pginas Uma vez que a memria fsica esteja totalmente cheia, o sistema no poder carregar do disco para a memria uma pgina que fosse demandada. Neste caso dever haver uma poltica de remoo de pginas a ser realizada. Para liberar blocos na memria fsica, o sistema avaliar os blocos menos utilizados, far a liberao dos mesmos e atualizar as tabelas.
  • Slide 16
  • Gerenciamento da Memria Virtual FATEC - Sistemas Operacionais I Tabela de Blocos O controle da memria fsica ser feito atravs da tabela de blocos. No momento da iniciao do sistema, a tabela ser criada

Recommended

View more >