• Nenhum resultado encontrado

5 Gerenciamento de memoria

N/A
N/A
Protected

Academic year: 2021

Share "5 Gerenciamento de memoria"

Copied!
66
0
0

Texto

(1)

Sistemas Operacionais

Aula 5 – Gerenciamento de Memória

(2)

5. Gerenciamento de Memória

(3)

5. Gerenciamento de Memória

(4)

5. Gerenciamento de Memória

Qual a importância da memória?

 Seu objetivo básico é armazenar dados

 Existem diversos tipos de memória em um sistema

de computação

(5)

5. Gerenciamento de Memória

Qual a importância da memória?

 Cenário Ideal

 Memória rápida

 Infinitamente grande  Não-volátil

 Barata

(6)

5. Gerenciamento de Memória

Qual a importância da memória?

 Tipos mais comuns

 Memória principal (Random Access Memory)  Disco rígido (HD)

 Memórias cache (L1, L2)  Registradores

(7)

5. Gerenciamento de Memória

Qual a importância da memória?

(8)

5. Gerenciamento de Memória

Qual a importância da memória?

(9)

5. Gerenciamento de Memória

Qual a importância da memória?

 O foco da gerência de memória é a memória

principal (RAM)

 Ela constitui o “espaço de trabalho” do sistema

 Nela são mantidos processos, threads, canais de

(10)

5. Gerenciamento de Memória

Endereços, variáveis e funções

 O programador usa referências a entidades

abstratas:

 Variáveis  Funções  Parâmetros

 Valores de retorno

 Não há necessidade da manipulação de endereços de memória

(11)

5. Gerenciamento de Memória

(12)

5. Gerenciamento de Memória

Endereços, variáveis e funções

 Internamente cada variável ou trecho de código

(13)

5. Gerenciamento de Memória

(14)

5. Gerenciamento de Memória

Endereços, variáveis e funções

(15)

5. Gerenciamento de Memória

(16)

5. Gerenciamento de Memória

Endereços lógicos e físicos

 Ao executar instruções, o processador escreve

endereços no barramento do computador

 Para buscar instruções e operandos

 Para ler e escrever valores na memória e nas

(17)

5. Gerenciamento de Memória

Endereços lógicos e físicos

 Os endereços gerados pelo processador à medida

em que executa algum código são chamados

endereços lógicos

 Não são necessariamente iguais aos endereços

(18)

5. Gerenciamento de Memória

Endereços lógicos e físicos

 Há um mecanismo chamado Unidade de Gerência

de Memória (MMU) que determina os endereços físicos a partir de endereços lógicos

 Isso garante maior segurança e estabilidade na

(19)

5. Gerenciamento de Memória

(20)

5. Gerenciamento de Memória

Modelo de memória dos processos

 TEXT: programa e sua ligação com as bibliotecas  DATA: dados estáticos usados pelo programa –

variáveis globais

 HEAP: área usada para armazenar dados através

de alocação dinâmica

 STACK: área usada para manter a pilha de

(21)

5. Gerenciamento de Memória

(22)

5. Gerenciamento de Memória

(23)

5. Gerenciamento de Memória

Quais as estratégias de alocação?

 Em um sistema mono-processo, a alocação da

memória principal é simples

 Reservar uma área da memória para o núcleo do

sistema operacional e alocar o processo na memória restante

(24)

5. Gerenciamento de Memória

Quais as estratégias de alocação?

 Nos sistemas multi-processos vários processos podem ser carregados na memória para execução simultânea

 O espaço de memória deve ser dividido entre eles usando uma estratégia de alocação

(25)

5. Gerenciamento de Memória

Quais as estratégias de alocação?

 Partições fixas

 Alocação contígua

 Alocação por segmentos  Alocação paginada

(26)

5. Gerenciamento de Memória

Quais as estratégias de alocação?

(27)

5. Gerenciamento de Memória

Quais as estratégias de alocação?

 Partições fixas

 Divide a memória destinada aos processos em N

partições fixas

 Elas podem ser de tamanhos iguais ou distintos

 Em cada partição pode ser carregado um processo

 A tradução entre endereços lógicos e endereços

físicos é feita através de um registrador de realocação

(28)

5. Gerenciamento de Memória

Quais as estratégias de alocação?

(29)

5. Gerenciamento de Memória

Quais as estratégias de alocação?

 Partições fixas

 Vantagem: simplicidade  Desvantagens:

 Os processos podem ter tamanhos diferentes dos tamanhos das partições

 O número máximo de processos na memória é limitado pelo número de partições

 Processos maiores que o tamanho das partições não poderão ser carregados

(30)

5. Gerenciamento de Memória

Quais as estratégias de alocação?

(31)

5. Gerenciamento de Memória

Quais as estratégias de alocação?

 Alocação contígua

 O tamanho de cada partição pode ser ajustado para

se adequar à demanda de cada processo

 Usa dois registradores

 Registrador base – define o endereço inicial da

partição

 Registrador limite – define o tamanho em bytes

(32)

5. Gerenciamento de Memória

Quais as estratégias de alocação?

(33)

5. Gerenciamento de Memória

Quais as estratégias de alocação?

 Alocação contígua

 Além de traduzir endereços lógicos em físicos, a

MMU propicia a proteção da memória

 Um processo pi só acessa endereços lógicos

entre: [0, limite(pi) − 1]

 Que corresponde aos endereços físicos entre:

(34)

5. Gerenciamento de Memória

Quais as estratégias de alocação?

 Alocação contígua

 Vantagem: simplicidade  Desvantagens:

 Pouco flexível

(35)

5. Gerenciamento de Memória

Quais as estratégias de alocação?

(36)

5. Gerenciamento de Memória

Quais as estratégias de alocação?

 Alocação por segmentos

 O espaço de memória de um processo é

fracionado em áreas, ou segmentos

 Os segmentos podem ser alocados

separadamente na memória física

 Os processos não são alocados como uma

(37)

5. Gerenciamento de Memória

Quais as estratégias de alocação?

(38)

5. Gerenciamento de Memória

Quais as estratégias de alocação?

 Alocação por segmentos

 Usa endereços lógicos bidimensionais  [segmento:offset]

 Segmento indica o número do segmento

desejado

 Offset indica a posição desejada dentro do

(39)

5. Gerenciamento de Memória

Quais as estratégias de alocação?

(40)

5. Gerenciamento de Memória

Quais as estratégias de alocação?

 Alocação por segmentos

 Cada segmento tem seus próprios valores de

base e limite

 Cada processo possui uma tabela de

(41)

5. Gerenciamento de Memória

(42)

5. Gerenciamento de Memória

Quais as estratégias de alocação?

(43)

5. Gerenciamento de Memória

Quais as estratégias de alocação?

 Alocação paginada

 Usar endereços bidimensionais é pouco intuitivo

 Torna mais complexa a construção de compiladores  Na alocação paginada, o espaço de endereçamento

(44)

5. Gerenciamento de Memória

Quais as estratégias de alocação?

 Alocação paginada

 Internamente, o espaço de endereços lógicos é dividido em pequenos blocos de mesmo tamanho chamados

páginas = 4KB

 O espaço de memória física também é dividido em blocos de mesmo tamanho que as páginas: quadros

(45)

5. Gerenciamento de Memória

Quais as estratégias de alocação?

(46)

5. Gerenciamento de Memória

Quais as estratégias de alocação?

 Alocação paginada

 O mapeamento entre as páginas de um processo e os quadros correspondentes é feito através de uma tabela de páginas

 Cada entrada corresponde a uma página e contém o número do quadro onde ela se encontra

(47)

5. Gerenciamento de Memória

Quais as estratégias de alocação?

 Alocação paginada

 Há um registrador no processador que define qual a tabela de página que está ativa no momento

(48)

5. Gerenciamento de Memória

Quais as estratégias de alocação?

(49)

5. Gerenciamento de Memória

Quais as estratégias de alocação?

(50)

5. Gerenciamento de Memória

O que é fragmentação?

 Ao longo da execução do sistema

 Áreas de memória são liberadas por processos que

concluem sua execução

 Outras áreas são alocadas por novos processos

 Podem surgir áreas livres (buracos) entre os

(51)

5. Gerenciamento de Memória

O que é fragmentação?

 Fragmentação externa

Só afeta as estratégias de alocação que trabalham com blocos de tamanho variável

(52)

5. Gerenciamento de Memória

O que é fragmentação?

 Duas soluções:

 Minimizar sua ocorrência através de critérios de

escolha

 Desfragmentar periodicamente a memória do

(53)

5. Gerenciamento de Memória

O que é fragmentação?

(54)

5. Gerenciamento de Memória

O que é fragmentação?

(55)

5. Gerenciamento de Memória

O que é fragmentação?

(56)

5. Gerenciamento de Memória

O que é fragmentação?

(57)

5. Gerenciamento de Memória

(58)

5. Gerenciamento de Memória

Compartilhamento de memória

(59)

5. Gerenciamento de Memória

Compartilhamento de memória

(60)

5. Gerenciamento de Memória

(61)

5. Gerenciamento de Memória

O que é memória virtual?

 Os programas se tornam cada vez maiores e cada

vez mais processos executam simultaneamente

 Não há memória suficiente

(62)

5. Gerenciamento de Memória

O que é memória virtual?

 Áreas de memória pouco acessadas são transferidas

para um meio de armazenamento mais barato e abundante:

 Disco rígido  Memória flash

(63)

5. Gerenciamento de Memória

(64)

5. Gerenciamento de Memória

O que é memória virtual?

 Retira da memória principal as páginas menos utilizadas

 Salva elas em uma área reservada do disco (swap)

 Quando um processo tenta acessar uma página que está no disco é feita uma troca para trazê-la à memória principal  As trocas são feitas de acordo com um algoritmo de

(65)

5. Gerenciamento de Memória

Algoritmos de substituição de página

 Algoritmo FIFO – retira a mais velha

 Algoritmo ótimo – mais tempo sem ser usada  Algoritmo LRU – menos recentemente usada

 Algoritmo da segunda chance – da uma segunda

chance às páginas acessadas recentemente ( com FIFO)

(66)

5. Gerenciamento de Memória

Referências

Documentos relacionados

Ninguém quer essa vida assim não Zambi.. Eu não quero as crianças

ABSTRACT: The toxicological effects of crude ethanolic extracts (CEE) of the seed and bark of Persea americana have been analyzed on larvae and pupae of

c.4) Não ocorrerá o cancelamento do contrato de seguro cujo prêmio tenha sido pago a vista, mediante financiamento obtido junto a instituições financeiras, no

Local de realização da avaliação: Centro de Aperfeiçoamento dos Profissionais da Educação - EAPE , endereço : SGAS 907 - Brasília/DF. Estamos à disposição

A participação foi observada durante todas as fases do roadmap (Alinhamento, Prova de Conceito, Piloto e Expansão), promovendo a utilização do sistema implementado e a

Ainda segundo Gil (2002), como a revisão bibliográfica esclarece os pressupostos teóricos que dão fundamentação à pesquisa e às contribuições oferecidas por

Com base nos resultados da pesquisa referente à questão sobre a internacionalização de processos de negócios habilitados pela TI com o apoio do BPM para a geração de ganhos para

A busca por um contato com a natureza (sem dúvida, idealizada), vinculada a uma “fuga do caos urbano”, contribuiu para que o surfe e, anos depois, com a expansão da cidade para