GERÊNCIA DE MEMÓRIA


A gerência de memória do Sistema Operacional tem
a função de fazer com que os processos
compartilhem da memória de forma segura e
eficiente.
MEMÓRIA LÓGICA
• É aquela que o processo é capaz de endereçar e
  acessar usando as suas instruções.
MEMÓRIA FÍSICA
• É usada para endereçar os circuitos integrados de
  memória, ou seja, implementado pelos circuitos
  de memória.
• O espaço de endereçamento lógico de um
  processo é formado por todos os endereços
  lógicos que este processo pode gerar;
• O espaço de endereçamento físico é formado
  por todos os endereços aceitos pelos circuitos
  de memória;
• O endereço lógico é transformado através da
  gerência de memória em endereço físico.
Processador   Endereço Lógico   MMU   Endereço Físico   Memória




Unidade de gerência de memória – Memory
Management Unit, MMU- é o componente do
hardware responsável por prover os mecanismos
básicos que serão usados pelo sistema
operacional para gerenciar a memória.

A MMU é que irá mapear os endereços lógicos
gerados pelos processos nos correspondentes
endereços físicos que serão enviados para a
memória.
PARTIÇÕES FIXAS
•    As partições fixas é a forma mais simples de
gerência de memória para a multiprogramação.
• Há desvantagens com este tipo de gerência de
memória, que são:

- Fragmentação interna- acontece quando o
programa é carregado em uma partição maior que
o necessário;

- Fragmentação externa- acontece quando temos
duas partições livres, uma de 25 e 100 kbytes,
então, estaremos executando um programa de 110
Kbytes, a memória total livre é de 125 Kbytes. Mas
ela           não             é          contígua.
PARTIÇÕES VARIÁVEIS
• Os    sistemas   operacionais     implementam,
  basicamente, quatro estratégias para determinar
  em qual partição livre um programa será
  carregado para execução.Essas estratégias
  tentam evitar, ou diminuir, o problema da
  fragmentação antes que ela ocorra.
Memória Principal

                         Sistema Operacional

                         Área livre 1          4 kb
Áreas Livres   Tamanho
                         Programa C
1              1 Kb

2              5 Kb      Área livre 2          5 kb

                         Programa A
3              3 Kb

                         Área livre 3          3 kb
• Quando empregamos a técnica de partições
  variáveis, o tamanho das partições é ajustado
  automaticamente as necessidades apresentadas
  pelo programa;
• A lista de lacunas, que é espaços livres na
  memória física, quando usada em um processo
  ele percorre a lista, será usado um tamanho de
  lacuna maior ou igual ao programa.
Há quatro maneiras de percorrer a lista até
  encontrar um lacuna de tamanho eficiente, que
  são:

• BEST FIT
  Esse mecanismo escolhe a melhor partição
  (bestfit), ou seja, aquela em que o processo deixa
  o menor espaço sem utilização;

• WORST FIT
  Esse mecanismo escolhe a pior partição
  (worstfit), ou seja, aquela em que o processo
  deixa o maior espaço sem utilização;
•       FIRST FIT
    Esse mecanismo escolhe a primeira partição
    (firstfit) livre, de tamanho suficiente para carregar
    o processo;

•       CIRCULAR FIT
    Inicia a procura por lacunas após a última sobra.
• Alguns sistemas organizam a memória em blocos
  de 32 bytes, os blocos são chamados de
  parágrafos e a unidade de alocação passa a ser
  ele;
• O processo vai então possuir um número fixo de
  parágrafos, ou seja, um múltiplo de 32 bytes.
SWAPPING
• Resolver o problema de insuficiência de memória
  para todos os usuários;
• O swapping é uma técnica aplicada à gerência de
  memória, para processos que esperam por
  memória livre para serem processadas. O sistema
  escolhe um processo residente que é levado da
  memória para o disco (swapped out), retornando
  posteriormente para a memória principal
  (swapped in), como se nada tivesse ocorrido.
Memória Principal              Memória Principal

Sistema Operacional                        Sistema Operacional

Programa A              B Swapping out     Programa A
Programa B                                 Programa H
Programa E                                 Programa E
Programa G                                 Área livre
                        Swapping


                             B
• Seu maior problema é o custo das operações de
  entrada e saída.
• Vantagens:
  - Maior compartilhamento da memória
  - Maior troughput
  - Eficiente

• Desvantagens:

  - Elevados custos das operações de entrada e
  saída.
PAGINAÇÃO
     A paginação permite que o programa possa
  ser espalhado por áreas não contíguas de
  memória.

• O espaço de endereçamento lógico de um
  processo é dividido em páginas lógicas de tamanho
  fixo;
• Memória física é dividida em páginas com
  tamanho fixo, com tamanho igual ao da página
  lógica;
• Um programa é carregado página por página, a
  página lógica do processo ocupa uma página física
  da memória física.
• Tabela de páginas é montada durante o processo,
  sua função é informar para cada pagina lógica sua
  pagina física correspondente;
• Não existe fragmentação externa, pois cada
  pagina lógica pode ser carregada em qualquer
  página física livre.
O endereço lógico de Y2 – 001 01 passa pela
tabela de páginas e cria-se seu endereço físico-
101 01.
• Existe fragmentação interna (se um programa de
  500Kb é carregado na memória e as páginas são
  de tamanho 7Kb, ele será alocado em 71 páginas
  sobrando 3Kb de fragmentação);
• Quando usamos páginas grandes significa que o
  processo terá menos páginas, tabela de páginas
  será menor, a leitura de disco será mais eficiente.
• O tamanho das páginas é fixado pelo hardware
  que suporta a gerencia de memória, ou seja, a
  MMU;
• A gerência de memória deve controlar as áreas
  livres da memória, as áreas são representadas
  através de um mapa de bits , onde 0 representa
  um página livre e 1 uma pagina ocupada.
Carregar/Remover Página:
• O maior problema do gerenciamento de memória
  não é decidir que página carregar, mas sim, qual
  página deve ser removida da memória.
Estratégias para realocação de
                páginas:
1 – ALEATÓRIA: não utiliza nenhum critério de
  seleção, todas as páginas possuem a mesma
  chance;
2 – FIFO: a página que entrar primeiro vai ser a
  primeira a sair;
3 – LRU: seleciona a página que está a mais tempo
  sem ser referenciada;
4 – LFU: seleciona a página menos freqüentemente
  usada.
Tamanho da página:

• A fragmentação é conseqüência do tamanho da
  página, páginas pequenas diminuem a
  fragmentação, mas aumenta o acesso a memória
  secundária.
SEGMENTAÇÃO
• O conceito de página, fundamental para a
  paginação, é uma criação do sistema
  operacional para facilitar a gerência de
  memória;
• Programadores e compiladores não enxergam
  a memória lógica dividida em páginas, mas
  sim em segmentos.
• Um programa dividi-se em quatro segmentos:
  – código;
  – dados alocados estaticamente;
  – dados alocados dinamicamente;
  – pilha de execução.
SEGMENTAÇÃO PAGINADA
• Segmentos grandes podem não caber na
  Memória;
• Espaço lógico é formado por segmentos;
• Cada segmento é dividido em páginas lógicas;
• Cada segmento possui uma tabela de página:
  usada para mapear o endereço de página
  lógica do segmento em endereço de página
  física;
Obtém na tabela
de segmentos
o endereço da       Da tabela de
tabela de páginas   páginas obtém
para aquele         o endereço
segmento;           físico.

Gerencia de memoria

  • 1.
    GERÊNCIA DE MEMÓRIA Agerência de memória do Sistema Operacional tem a função de fazer com que os processos compartilhem da memória de forma segura e eficiente.
  • 2.
    MEMÓRIA LÓGICA • Éaquela que o processo é capaz de endereçar e acessar usando as suas instruções.
  • 3.
    MEMÓRIA FÍSICA • Éusada para endereçar os circuitos integrados de memória, ou seja, implementado pelos circuitos de memória.
  • 4.
    • O espaçode endereçamento lógico de um processo é formado por todos os endereços lógicos que este processo pode gerar; • O espaço de endereçamento físico é formado por todos os endereços aceitos pelos circuitos de memória; • O endereço lógico é transformado através da gerência de memória em endereço físico.
  • 5.
    Processador Endereço Lógico MMU Endereço Físico Memória Unidade de gerência de memória – Memory Management Unit, MMU- é o componente do hardware responsável por prover os mecanismos básicos que serão usados pelo sistema operacional para gerenciar a memória. A MMU é que irá mapear os endereços lógicos gerados pelos processos nos correspondentes endereços físicos que serão enviados para a memória.
  • 6.
    PARTIÇÕES FIXAS • As partições fixas é a forma mais simples de gerência de memória para a multiprogramação.
  • 7.
    • Há desvantagenscom este tipo de gerência de memória, que são: - Fragmentação interna- acontece quando o programa é carregado em uma partição maior que o necessário; - Fragmentação externa- acontece quando temos duas partições livres, uma de 25 e 100 kbytes, então, estaremos executando um programa de 110 Kbytes, a memória total livre é de 125 Kbytes. Mas ela não é contígua.
  • 8.
    PARTIÇÕES VARIÁVEIS • Os sistemas operacionais implementam, basicamente, quatro estratégias para determinar em qual partição livre um programa será carregado para execução.Essas estratégias tentam evitar, ou diminuir, o problema da fragmentação antes que ela ocorra.
  • 9.
    Memória Principal Sistema Operacional Área livre 1 4 kb Áreas Livres Tamanho Programa C 1 1 Kb 2 5 Kb Área livre 2 5 kb Programa A 3 3 Kb Área livre 3 3 kb
  • 10.
    • Quando empregamosa técnica de partições variáveis, o tamanho das partições é ajustado automaticamente as necessidades apresentadas pelo programa; • A lista de lacunas, que é espaços livres na memória física, quando usada em um processo ele percorre a lista, será usado um tamanho de lacuna maior ou igual ao programa.
  • 11.
    Há quatro maneirasde percorrer a lista até encontrar um lacuna de tamanho eficiente, que são: • BEST FIT Esse mecanismo escolhe a melhor partição (bestfit), ou seja, aquela em que o processo deixa o menor espaço sem utilização; • WORST FIT Esse mecanismo escolhe a pior partição (worstfit), ou seja, aquela em que o processo deixa o maior espaço sem utilização;
  • 12.
    FIRST FIT Esse mecanismo escolhe a primeira partição (firstfit) livre, de tamanho suficiente para carregar o processo; • CIRCULAR FIT Inicia a procura por lacunas após a última sobra.
  • 13.
    • Alguns sistemasorganizam a memória em blocos de 32 bytes, os blocos são chamados de parágrafos e a unidade de alocação passa a ser ele; • O processo vai então possuir um número fixo de parágrafos, ou seja, um múltiplo de 32 bytes.
  • 14.
    SWAPPING • Resolver oproblema de insuficiência de memória para todos os usuários; • O swapping é uma técnica aplicada à gerência de memória, para processos que esperam por memória livre para serem processadas. O sistema escolhe um processo residente que é levado da memória para o disco (swapped out), retornando posteriormente para a memória principal (swapped in), como se nada tivesse ocorrido.
  • 15.
    Memória Principal Memória Principal Sistema Operacional Sistema Operacional Programa A B Swapping out Programa A Programa B Programa H Programa E Programa E Programa G Área livre Swapping B
  • 16.
    • Seu maiorproblema é o custo das operações de entrada e saída. • Vantagens: - Maior compartilhamento da memória - Maior troughput - Eficiente • Desvantagens: - Elevados custos das operações de entrada e saída.
  • 17.
    PAGINAÇÃO A paginação permite que o programa possa ser espalhado por áreas não contíguas de memória. • O espaço de endereçamento lógico de um processo é dividido em páginas lógicas de tamanho fixo; • Memória física é dividida em páginas com tamanho fixo, com tamanho igual ao da página lógica; • Um programa é carregado página por página, a página lógica do processo ocupa uma página física da memória física.
  • 18.
    • Tabela depáginas é montada durante o processo, sua função é informar para cada pagina lógica sua pagina física correspondente; • Não existe fragmentação externa, pois cada pagina lógica pode ser carregada em qualquer página física livre.
  • 19.
    O endereço lógicode Y2 – 001 01 passa pela tabela de páginas e cria-se seu endereço físico- 101 01.
  • 20.
    • Existe fragmentaçãointerna (se um programa de 500Kb é carregado na memória e as páginas são de tamanho 7Kb, ele será alocado em 71 páginas sobrando 3Kb de fragmentação); • Quando usamos páginas grandes significa que o processo terá menos páginas, tabela de páginas será menor, a leitura de disco será mais eficiente.
  • 21.
    • O tamanhodas páginas é fixado pelo hardware que suporta a gerencia de memória, ou seja, a MMU; • A gerência de memória deve controlar as áreas livres da memória, as áreas são representadas através de um mapa de bits , onde 0 representa um página livre e 1 uma pagina ocupada.
  • 22.
    Carregar/Remover Página: • Omaior problema do gerenciamento de memória não é decidir que página carregar, mas sim, qual página deve ser removida da memória.
  • 23.
    Estratégias para realocaçãode páginas: 1 – ALEATÓRIA: não utiliza nenhum critério de seleção, todas as páginas possuem a mesma chance; 2 – FIFO: a página que entrar primeiro vai ser a primeira a sair; 3 – LRU: seleciona a página que está a mais tempo sem ser referenciada; 4 – LFU: seleciona a página menos freqüentemente usada.
  • 24.
    Tamanho da página: •A fragmentação é conseqüência do tamanho da página, páginas pequenas diminuem a fragmentação, mas aumenta o acesso a memória secundária.
  • 25.
    SEGMENTAÇÃO • O conceitode página, fundamental para a paginação, é uma criação do sistema operacional para facilitar a gerência de memória; • Programadores e compiladores não enxergam a memória lógica dividida em páginas, mas sim em segmentos.
  • 26.
    • Um programadividi-se em quatro segmentos: – código; – dados alocados estaticamente; – dados alocados dinamicamente; – pilha de execução.
  • 27.
    SEGMENTAÇÃO PAGINADA • Segmentosgrandes podem não caber na Memória; • Espaço lógico é formado por segmentos; • Cada segmento é dividido em páginas lógicas; • Cada segmento possui uma tabela de página: usada para mapear o endereço de página lógica do segmento em endereço de página física;
  • 28.
    Obtém na tabela desegmentos o endereço da Da tabela de tabela de páginas páginas obtém para aquele o endereço segmento; físico.