so i - aula 12 gerência de memória virtual e dispositivos

41
Gerência de Memória Virtual

Upload: chaser100

Post on 06-Nov-2015

221 views

Category:

Documents


1 download

DESCRIPTION

sistemas operacionais fatec

TRANSCRIPT

Gerncia de Memria Virtual

Gerncia de Memria Virtual IntroduoMemria virtual uma tcnica sofisticada e poderosa de gerncia de memria, onde as memrias principal e secundrias so combinadas. O conceito de memria virtual se aproxima da idia de um vetor, existente nas linguagens de alto nvel.

Espao de Endereamento VirtualQuando um programa faz referncia a um elemento do vetor, no h preocupao em saber a posio de memria daquele dado. O compilador se encarrega de gerar instrues que implementam esse mecanismo, tornando-o transparente ao programador.

Espao de Endereamento VirtualUm programa no ambiente de memria virtual no faz referncia a endereos fsicos de memria(endereos reais), mas apenas endereos virtuais. No momento da execuo de uma instruo, o endereo virtual referenciado traduzido para um endereo fsico.O Mecanismo de traduo do endereo virtual para endereo fsico chamado Mapeamento.

Espao de Endereamento VirtualEm ambientes que implementam memria virtual, o espao de endereamento do processo conhecido como espao de endereamento virtual e representa o conjunto de endereos virtuais que o processo pode enderear.

Espao de Endereamento VirtualO sistema operacional utiliza a memria secundria como extenso da memria principal. No desenvolvimento de aplicaes, a existncia dos endereos virtuais ignorada pelo programador.

Espao de Endereamento VirtualMapeamentoO processador apenas executa instrues e referencia dados residentes no espao de endereamento real, portanto, deve existir um mecanismo que transforme os endereos virtuais em endereos reais. Esse mecanismo e conhecido por mapeamento.

Espao de Endereamento VirtualMapeamentoNos sistemas modernos a traduo de endereos feita pelo hardware junto com o S.O.. O dispositivo o MMU (Memory Management Unit) que se encarrega de manter tabelas de mapeamento para cada processo.

Memria Virtual por Paginao a tcnica de gerncia de memria onde o espao de endereamento virtual e real so divididos em blocos de mesmo tamanho chamados pginas.As pginas no espao virtual so denominadas pginas virtuais, enquanto as pginas no espao real so chamadas de pginas reais ou frames.Memria Virtual por PaginaoTodo o mapeamento de endereo virtual realizado atravs de tabelas de pginas.Cada processo possui sua prpria tabela de pgina e cada pgina virtual do processo possui uma entrada na tabela (ETP entrada na tabela de pginas), com informaes de mapeamento.

Quando um programa executado, as paginas virtuais so transferidas da memria secundria para a memria principal e colocadas nos frames. O mecanismo de mapeamento localizar na ETP o endereo fsico do frame no qual se encontra o endereo real correspondente.Memria Virtual por PaginaoNessa tcnica, o endereo virtual formado pelo nmero da pgina virtual (NPV) e por um deslocamento

NPV identifica a pgina virtual que contm o endereo, funcionando como um ndice de pgina.Deslocamento indica a posio do endereo virtual em relao ao incio da pgina na qual se encontra.

Memria Virtual por PaginaoA ETP possui tambm o bit de validade (valid bit) que indica se uma pgina est ou no na memria principal. Se o bit tem valor 0, indica que a pgina virtual no est na memria principal, mas se igual a 1, a pgina est localizada na memria.

Page fault a pgina no est na memria e realiza um page in ou paginao.O nmero de page faults gerados por cada processo em um determinado intervalo de tempo definido como taxa de paginao do processo.

Polticas de Busca de PginasPermite a execuo de um programa sem que seu cdigo esteja completamente residente na memria principal.Paginao por demanda - as pginas dos processos so transferidas da memria secundria para a principal apenas quando so referenciadas.Paginao antecipada o sistema carrega para a memria principal, alm da pgina referenciada, outras pginas que podem ou no ser necessrias ao processo ao longo do processamento.Polticas de Alocao de PginasDetermina quantos frames cada processo pode manter na memria principal.Poltica de alocao fixa cada processo tem um nmero de frames que pode ser utilizado durante a execuo do programa. Caso o nmero de pginas reais seja insuficiente, uma pgina do processo deve ser descartada para que uma nova seja carregada.Poltica de alocao varivel o nmero mximo de pginas alocadas ao processo pode variar durante sua execuo em funo da taxa de paginao e da ocupao da memria principal.Polticas de Substituio de PginasQuando um processo atinge o seu limite de alocao de frames e necessita alocar novas pginas na memria principal, o S.O. deve selecionar, dentre as diversas pginas alocadas, qual dever ser liberada.

O sistema mantm um arquivo de paginao(page file) onde todas as pginas modificadas e descartadas so armazenadas.O S.O. utiliza o bit de modificao sempre que uma pgina sofre uma alterao, o valor do bit de modificao alterado, indicando que a pgina foi modificada.Polticas de Substituio de PginasPoltica de substituio local apenas as pginas do processo que gerou o page fault so candidatas a realocao.Poltica de substituio global todas as pginas alocadas na memria principal so candidatas a substituio, independente do processo que gerou o page fault.

Working SetSurgiu com o objetivo de reduzir o problema de thrashing e est relacionado no principio da localidade.Thrashing ocorrncia de um nmero elevando de page faults e inmeras operaes de E/S.Princpio da localidade a tendncia de que aps a referncia a uma posio da memria, esta mesma posio seja novamente referenciada em um curto intervalo de tempo.Algoritmos de Substituio de PginasTm o objetivo de selecionar os frames que tenham as menores chances de serem referenciados em um futuro prximo; caso contrrio, o frame poderia retornar diversas vezes para a memria principal, gerando vrios page faults e acessos memria secundria.Algoritmos de Substituio de PginasAlgoritmo timoSeleciona para substituio uma pgina que no ser mais referenciada no futuro ou aquela que levar o maior intervalo de tempo para ser novamente utilizada. Garante as menores taxas de paginao Na prtica impossvel de ser implementado, pois o S.O. no tem como conhecer o comportamento futuro das aplicaes. Modelo comparativoAlgoritmos de Substituio de PginasAlgoritmo FIFOA pgina que primeiro foi utilizada ser a primeira a ser escolhida. raramente implementado sem algum outro mecanismo que minimize o problema da seleo de pginas antigas que so constantemente referenciadas.Algoritmos de Substituio de PginasAlgoritmo LRU (Least-Recently-Used)Seleciona a pgina na memria principal que est h mais tempo sem ser referenciada. necessrio que cada pgina tenha associado o momento do ltimo acesso, que deve ser atualizado a cada referncia a um frame. Cada acesso memria exigiria um acesso lista. Pouco empregada, devido ao seu elevado custo de implementao.Algoritmos de Substituio de PginasAlgoritmo NRU (Not-Recently-Used) bastante semelhante ao LRU, porm com menor sofisticao. necessrio um bit adicional, conhecido como bit de referncia (BR), que indica se a pgina foi utilizada recentemente e est presente em cada entrada da tabela de pginas. BR = 1 a pgina foi referenciada. Periodicamente o sistema altera o valor para BR = 0. medida que as pginas so utilizadas, o bit associado a cada frame retorna para 1.

Algoritmos de Substituio de PginasFIFO com buffer de pginasCombina uma lista de pginas alocadas (LPA) com uma lista de pginas livres (LPL). A LPA organiza todas as pginas que esto sendo utilizadas na memria principal.A LPL organiza todos os frames livres da memria principal, sendo que as pginas livres h mais tempo esto no incio e as mais recentes no final.Algoritmos de Substituio de PginasFIFO com buffer de pginasSempre que um processo necessita alocar uma nova pgina, o sistema utiliza a primeira pgina da LPL, colocando-a no final da LPA.Caso o processo tenha que liberar uma pgina, o mecanismo seleciona o frame em uso h mais tempo na memria, isto , o primeiro da LPA, colocando-o na final da LPL.

Algoritmos de Substituio de PginasFIFO circular (clock)Utiliza como base o FIFO, porm as pginas alocadas na memria esto em uma estrutura de lista circular. Usado na maioria dos sistemas Unix.O sistema verifica se o frame apontado tem o bit BR = 0, neste caso, a pgina selecionada para descarte.Se o bit BR = 1, o bit desligado e o ponteiro incrementado, pois, apesar de ser a pgina mais antiga, foi utilizada recentemente.O processo se repete at ser encontrada uma pgina com BR = 0.

Sistema de ArquivosParte do sistema responsvel por gerenciar a organizao e facilitar o acesso dos usurios a seus arquivos.ArquivoUm arquivo constitudo por informaes logicamente relacionadas. Estas informaes podem representar instrues ou dados.Organizao de arquivosConsiste em como os seus dados esto internamente armazenados.A organizao pode ser uma estrutura suportada pelo sistema ou definida pela prpria aplicao.A forma mais simples atravs de uma sequencia no-estruturada de bytes. No impe nenhuma estrutura lgica para os dados, quem define a aplicao.Organizao de arquivosAlguns sistemas possuem diferentes organizaes de arquivo. Neste caso cada arquivo criado deve seguir um modelo suportado pelo sistema de arquivos. As mais conhecidas e implementadas so a sequencial relativa e indexada.Mtodos de acessoNos primeiros SO. o acesso era sequencial. Com o advento dos discos magnticos surge o acesso direto, permite leitura e gravao diretamente na sua posio.Um mtodo de acesso mais sofisticado o acesso indexado ou acesso por chave. Para esse acesso, o arquivo deve possuir uma rea de ndice onde existam ponteiros para os diversos registros.Gerncia de Alocao de Espao em DiscoAlocao ContguaConsiste em armazenar um arquivo em blocos sequencialmente disposto no disco.Principais estratgias:First-fit primeiro segmento livre com tamanho suficiente para alocar o arquivo selecionado.Best-fit seleciona o menor segmento livre disponvel com tamanho suficiente.Worst-fit seleciona o maior segmento.Gerncia de Alocao de Espao em DiscoAlocao EncadeadaUm arquivo pode ser organizado como um conjunto de blocos ligados logicamente no disco, independente da sua localizao fsica. Cada bloco deve possuir um ponteiro para o bloco seguinte do arquivo e assim sucessivamente.No h fragmentao de espaos livres, mas o mecanismo de leitura e gravao do disco deve se deslocar diversas vezes sobre a superfcie para acessar cada extent.Gerncia de Alocao de Espao em DiscoAlocao indexadaO princpio desta tcnica manter os ponteiros de todos os blocos do arquivo em uma nica estrutura denominada bloco de ndice.Gerenciamento de DispositivosAcesso ao Subsistema de I/OConjunto de rotinas que possibilita a comunicao com qualquer dispositivo que possa ser conectado ao computador. Este conjunto denominado rotinas de entrada/sada, faz parte do subsistema de I/O.Subsistema de I/0 responsvel por realizar as funes comuns a todos os tipos de dispositivos, ficando os aspectos especficos de cada perifrico como responsabilidade dos device drivers. Dessa forma, o subsistema de I/O a parte do sistema operacional que oferece uma interface uniforme com as camadas superiores.A bufferizao outra tarefa realizada por esse subsistema.Device DriversTem como funo implementar a comunicao do subsistema de I/O com os dispositivos, atravs dos controladores. Enquanto o subsistema de I/O trata de funes ligadas a todos os dispositivos, os drivers tratam apenas dos seus aspectos particulares.Os drivers tm como funo receber comandos gerais sobre acessos aos dispositivos e traduzi-los para comandos especficos, que podero ser executados pelos controladores.ControladoresSo componentes de hardware responsveis por manipular diretamente os dispositivos de I/O. O S.O., mais exatamente o device driver, comunica-se com os dispositivos atravs dos controladores.Desempenho, Redundncia e Proteo de DadosAs tcnicas de RAID (Redundant Arrays of Inexpensive Disk) podem ser implementados diretamente nos controladores de discos, conhecido como subsistema RAID externo, ou por softwares atravs do sistema operacional.Uma caracterstica fundamental na tcnica de RAID a criao de um dispositivo virtual conhecido como array de discos. Tcnicas de RAIDRaid 0 (Striping)Funo de distribuir as operaes de I/O entre os diversos discos fsicos contidos no array com intuito de otimizar o desempenho.Raid 1 (espelhamento)Consiste em replicar todo o contedo do disco principal, chamado de primrio, em um ou mais discos denominados espelhos ou secundrios.Raid 5 (acesso Independente com Paridade Distribuda)Consiste em distribuir os dados entre os discos do array e implementar redundncia baseada na paridade.