Sistemas Operacionais Gerncia de Memria Gerncia de Memria

  • Slides: 17
Download presentation
Sistemas Operacionais Gerência de Memória

Sistemas Operacionais Gerência de Memória

Gerência de Memória A memória vista como um recurso raro e caro e dessa

Gerência de Memória A memória vista como um recurso raro e caro e dessa forma o tratamento necessário da memória utilizada não é uma tarefa fácil de ser implementada. Existem vários requisitos que devem ser observados para o correto funcionamento, tais como, Segurança, Isolamento, Performance, entre outros

Gerência de Memória Objetivos: o o Fazer com que o S. O. não ocupe

Gerência de Memória Objetivos: o o Fazer com que o S. O. não ocupe muita memória. Otimizar seu uso

Gerência de Memória Utilização: o o Um programa deve ser carregado memória para ser

Gerência de Memória Utilização: o o Um programa deve ser carregado memória para ser executado na CPU faz busca e armazenamento na memória

Gerência de Memória física é a memória do hardware. Começa geralmente no endereço físico

Gerência de Memória física é a memória do hardware. Começa geralmente no endereço físico 0 e continua até o maior endereço, que indica o tamanho da memória. Certas posições são reservadas pelo hardware para objetivos especiais (ex. vetor de interrupções)

Gerência de Memória virtual é a memória que o processo enxerga. É o espaço

Gerência de Memória virtual é a memória que o processo enxerga. É o espaço virtual de um processo. O maior endereço virtual é limitado pela arquitetura da máquina (No. de bits usados para endereçar). O espaço virtual pode ser maior que o espaço físico, especialmente se é usada paginação/segmentação e um processo pode acessar qualquer parte de seu espaço virtual.

Gerência de Memória Monoprogramação Nos sistemas monoprogramados, existe um único processo na memória em

Gerência de Memória Monoprogramação Nos sistemas monoprogramados, existe um único processo na memória em execução e ao mesmo é permitido usar toda a memória. o o o Um processo por vez na memória; O processo pode usar toda a memória; Memória é dividida entre o sistema operacional e o processo do usuário

Gerência de Memória Multiprogramação vários programas podem residir simultaneamente na memória, sendo que cada

Gerência de Memória Multiprogramação vários programas podem residir simultaneamente na memória, sendo que cada um executa por um determinado tempo. São necessários mecanismos de proteção (hardware) para que um processo não acesse indevidamente a área de memória de outro processo.

Gerência de Memória Multiprogramação Com registradores limite muitos processos podem residir na memória simultaneamente.

Gerência de Memória Multiprogramação Com registradores limite muitos processos podem residir na memória simultaneamente. Duas políticas de gerência de memória são Partições Fixas e Partições Variáveis, apresentadas a seguir, podem ser implementadas com os mecanismos de hardware apresentados anteriormente.

Gerência de Memória Partições de memória Características da política de partições variáveis: o o

Gerência de Memória Partições de memória Características da política de partições variáveis: o o existem blocos livres de diferentes tamanhos; se um bloco é muito grande para um processo, é dividido em dois, um alocado para o processo e o outro retorna para os blocos livres; quando um processo termina libera a memória, sendo esta colocada no conjunto de blocos livres; se o bloco liberado é adjacente à outro livre, podem ser agrupados formando um único bloco.

Gerência de Memória Partições de memória Um problema importante nos sistemas de partições variáveis

Gerência de Memória Partições de memória Um problema importante nos sistemas de partições variáveis é a fragmentação. Uma solução utilizada é a compactação, que consiste em unir os blocos de memórias disponíveis e de endereços adjacentes em um único bloco, de tamanho maior.

Gerência de Memória Swapping e Paginação Políticas que movimentam processos entre a memória e

Gerência de Memória Swapping e Paginação Políticas que movimentam processos entre a memória e o disco, em tempo de execução.

Gerência de Memória Swapping Os processos em execução podem ser transferidos para disco para

Gerência de Memória Swapping Os processos em execução podem ser transferidos para disco para liberar memória, possibilitando desta forma a carga de outros processos para execução. Desta forma, o número de processos em execução simultânea é formado pelos processos que estão na memória principal e pelos que estão na área de Swap.

Gerência de Memória Swapping - funcionamento Quando um processo é submetido para execução o

Gerência de Memória Swapping - funcionamento Quando um processo é submetido para execução o sistema verifica a memória disponível. No caso de não existir, um processo é escolhido para ser levado para a área de Swap, é copiado da memória principal para os endereços do disco que correspondem a área de Swap (Swap out), é assinalado no seu registro descritor esta situação e o novo processo é carregado para a memória.

Gerência de Memória Swapping - problema O tempo de swap é proporcional ao tamanho

Gerência de Memória Swapping - problema O tempo de swap é proporcional ao tamanho da memória a ser transferida. A medida que aumenta a velocidade de transferência dos dispositivo, este tempo de transferência diminui.

Gerência de Memória Paginação A memória física é dividida em frames e a memória

Gerência de Memória Paginação A memória física é dividida em frames e a memória lógica é divida em pages, de igual tamanho. Um programa para ser executado tem suas pages carregadas em frames disponíveis na memória principal.

Gerência de Memória Paginação - funcionamento Quando um processo deve ser carregado para execução,

Gerência de Memória Paginação - funcionamento Quando um processo deve ser carregado para execução, o scheduling verifica o número de páginas que ele precisa, verifica na lista de frames disponíveis se existe um número suficiente, existindo, aloca para o processo. A seguir, o processo é carregado para as páginas de memória física alocadas, e a sua tabela de páginas é atualizada, de maneira a conter estes endereços. O endereço contido na instrução é lógico e a cada acesso à memória é feita uma transformação do endereço lógico no endereço físico correspondente.