Relatório 03: Gerenciamento De Memória:
Ensaios: Relatório 03: Gerenciamento De Memória:. Pesquise 862.000+ trabalhos acadêmicosPor: Punk • 3/6/2013 • 2.371 Palavras (10 Páginas) • 570 Visualizações
ETAPA 4
Relatório 03: Gerenciamento de Memória:
Devido aos Sistemas Operacionais apresentarem características variadas, determinados procedimentos tornam-se por vezes semelhantes ou próprios de cada Sistema. O gerenciamento de memória é um procedimento fundamental na objetividade de todos os Sistemas Operacionais.
É responsabilidade do Sistema Operacional é executar inúmeras tarefas, independente da quantidade de tarefas assim como o tamanho das mesmas.
Neste contexto parece complicado para o Sistema Operacional gerenciar tarefas que exigem uma quantidade de memória superior ao que é disponibilizado pela máquina. Cada Sistema possui suas características próprias para complementar estas tarefas e principalmente gerenciar a memória disponível para estas execuções. No entanto, é necessário garantir para elas além da possibilidade de execução um alto grau de segurança.
Recursos do modo usuário
O gerenciador do memória virtual (VM) permite aos subsistemas do modo usuário compartilhar memória eficientemente usando objetos que são protegidos, denominados e manipulados como qualquer objeto do executivo. Os subsistemas podem definir proteção a nível de página na memória privativa, bloquear páginas selecionadas na memória, tirar proveito dos arquivos mapeados e gerenciar os espaços de endereçamento virtual de outros processos
Gerenciando a memória
O gerenciador VM fornece um conjunto de serviços nativos que um processo pode usar para gerenciar diretamente sua memória virtual. Estes serviços permitem que um processo faça o seguinte:
Alocar memória em um processo de dois estágios.
Ler e gravar na memória virtual.
Bloquear páginas virtuais na memória física.
Obter informações sobre páginas virtuais.
Descarregar páginas virtuais para o disco.
O gerenciador VM estabelece uma abordagem de duas fases para alocar memória, reservá-la e depois comprometê-la. A memória reservada é um conjunto de endereços virtuais que o gerenciador VM reservou para ser usado futuramente por um processo. A reserva de memória é uma operação rápida e barata no windows NT. A memória comprometida é memória para qual o gerenciador VM separou espaço no seu arquivo de paginação.
Outro serviço do gerenciador VM do windows NT possibilitam ao chamador fornecer uma alça de processos para indicar um processo cuja memória virtual será manipulada. O chamador pode manipular sua própria memória virtual ou aquela de um outro processo. Esta facilidade é poderosa porque permite que um processo do modo usuário gerencie o espaço de endereçamento de um outro processo.
Compartilhando a memória
Uma tarefa importante de qualquer subsistema de gerenciamento de memória é permitir que os processos compartilhem memória quando solicitarem ou quando isto tornar o sistema operacional mais eficiente. A memória virtual oferece um mecanismo conveniente para o compartilhamento de memória. Como cada processo tem um espaço de endereçamento virtual separado, o sistema operacional pode carregar o compilador para a memória uma vez e quando outro processo invocar o compilador, o gerenciador VM pode simplesmente mapear os endereços virtuais do segundo processo para as estruturas de páginas físicas já ocupadas pelo compilador.
O gerenciador VM não permite que nenhum processo modifique as páginas ocupadas pelo compilador. As páginas virtuais em ambos os processos são designadas como sendo somente para leitura
Seções, visões e arquivos mapeados.
Assim como todos os outros componentes do Windows NT, o gerenciador VM é totalmente paralelo. Ele roda simultaneamente em todos os processadores de um computador multiprocessado e tem de compartilhar suas estruturas de dados com as linhas que estão sendo executadas em processadores diferentes.
Memória compartilhada pode ser definida como a memória que é visível apartir de mais de um processo ou que está presente em mais de um espaço de endereçamento virtual. A abordagem do Windows NT ao compartilhamento de recursos é implementá-los como objetos protegidos e a memória não é nenhuma exceção. O objeto de seção representa um bloco de memória que dois ou mais processos podem compartilhar. Uma linha de um processo cria um objeto de seção e dá a ele um nome para que as linhas de outros processos possam abrir alças para ele.
Um objeto de seção do NT pode ser muito grande, ocupando dezenas ou até milhares de páginas, por isso um processo precisa mapear apenas as partes do objeto de seção que lhes são necessárias. O mapeamento de visões de uma seção permite a um processo acessar grandes blocos de memória que, caso contrário, ele poderia não ter espaço de endereçamento virtual para mapear.
Da mesma forma que a memória privativa, o conteúdo da memória compartilhada é paginado para o disco quando a demanda de mamória esta alta. O gerenciador VM também permite que os objetos de seção sejam paginados para um arquivo mapeado. O executivo do NT usa os arquivos mapeados para carregar imagens executáveis para a memória e o gerenciador de cachê do sistema usa os arquivos mapeados para ler e gravar em páginas do cachê.
Objeto de seção
Os objetos de seções são alocados e desalocados pelo gerenciador de objetos. O gerenciador VM também implementa serviços que as linhas do modo usuário podem chamar para recuperar e alterar os atributos armazenados no corpo dos objetos de seção.
Dois processos podem mapear partes do mesmo objeto de seção em seus espaços necessário que eles sincronizem seus acessos a memória para evitar alterações de dados ao mesmo tempo.
Protegendo a memória
A proteção de memória no windows NT é oferecida em quatro formas:
1. Um espaço de endereçamento separado para cada processo.
2. Dois modos de operação: modo kernel e modo usuário.
3. Um mecanismo de proteção baseado em páginas.
4. Proteção de memória baseado em objetos.
Memória
...