SlideShare uma empresa Scribd logo
1 de 60
Baixar para ler offline
Sistemas Operacionais
         -Gerência de Memória


                                Ernesto Massa
                        (slides fornecidos pela Prentice Hall
                            e adaptados para esta disciplina)




                                                                    1
Pearson Education      Sistemas Operacionais Modernos – 2ª Edição
Gerenciamento de Memória
           Idealmente, o que se deseja é dispor de
            uma memória que seja
                   Grande, rápida e não volátil.

           Hierarquia de memórias
                   Cache
                      pequena quantidade de memória rápida, de
                       alto custo.
                   Memória Principal
                      Quantidade considerável de velocidade média,
                       custo médio.
                   Armazenamento em disco
                      Velocidade e custo baixos.

Pearson Education
                                                             2
                                           Sistemas Operacionais Modernos – 2ª Edição
Gerenciamento de Memória
           Algumas funções do Gerenciador de
            memória:
                   Controlar quais as unidades de memória estão
                    ou não estão em uso, para que sejam alocadas
                    quando necessário;
                   Liberar as unidades de memória que foram
                    desocupadas por um processo que finalizou;
                   Tratar do Swapping entre memória principal e
                    memória secundária.
                      Transferência temporária de processos
                       residentes na memória principal para memória
                       secundária.



Pearson Education
                                                            3
                                          Sistemas Operacionais Modernos – 2ª Edição
Gerenciamento Básico de Memória:
        Monoprogramação

           Sistema operacional com apenas
            um processo de usuário




                    (a) Inicialmente utilizados em Mainframes
                    (b) Sistemas Embarcados
                    (c) Primeiros Microcomputadores Pessoais
Pearson Education
                                                              4
                                            Sistemas Operacionais Modernos – 2ª Edição
Alocação Contígua Simples
           Alocação implementada nos                     Memória principal
            primeiros sistemas e ainda
            usada nos monoprogramáveis;
                                                                   Sistema
           A Memória é dividida em duas                          Operacional
            áreas:
                   Área do Sistema Operacional
                   Área do Usuário
           Um usuário não pode usar uma                            Área de
            área maior do que a disponível;                       Programas
           Sem proteção:                                         do usuário
                   Um usuário pode acessar a área
                    do Sistema Operacional.



Pearson Education
                                                             5
                                           Sistemas Operacionais Modernos – 2ª Edição
Alocação Contígua Simples
           Registrador de proteção delimita Memória principal
            as áreas do sistema operacional
            e do usuário;                        Sistema
           Sistema verifica acessos à Reg      Operacional
            memória em relação ao
            endereço do registrador;
           A forma de alocação era
                                                  Área de
            simples, mas não permitia           Programas
            utilização eficiente de             do usuário
            processador e memória;




Pearson Education
                                                      6
                                    Sistemas Operacionais Modernos – 2ª Edição
Alocação Contígua Simples
          Programas de usuário                              Memória principal
           limitados pelo tamanho da
           memória principal disponível.                            Sistema
                                                                   Operacional
          Solução: Overlay
               Dividir o programa em
                                                                     Área do
                módulos;                                             Módulo
               Permitir execução                                    Principal
                independente de cada
                módulo, usando a mesma                                Área de
                área de memória;                                      Overlay
          Área de Overlay
                 Área de memória comum
                  onde módulos compartilham                 A          B            C
Pearson Education mesmo espaço.
                                                           7
                                         Sistemas Operacionais Modernos – 2ª Edição
Multiprogramação:
        Alocação Particionada
           Multiprogramação.
                   Necessidade do uso da memória por vários usuários
                    simultaneamente.
           Ocupação mais eficiente do processador;
           A memória foi dividida em pedaços de tamanho
            fixo chamados partições;
           O tamanho de cada partição é estabelecido na
            inicialização do sistema;
           Para alteração do particionamento, é necessário
            uma nova inicialização com uma nova
            configuração.



Pearson Education
                                                             8
                                           Sistemas Operacionais Modernos – 2ª Edição
Alocação Particionada Estática
           Proteção:                                      Memória principal
                   Registradores com limites
                    inferior e superior de                          Sistema
                    memória acessível.           Reg               Operacional
           Programas não ocupam
            totalmente o espaço das              Reg                Partição A
            partições, gerando uma
            fragmentação interna.
                                                                    Partição B


                                                                    Partição C




Pearson Education
                                                              9
                                            Sistemas Operacionais Modernos – 2ª Edição
Alocação Particionada Estática
           Alocação Particionada Estática Absoluta:
                   Compiladores gerando código absoluto;
                      Endereços relativos ao início da memória;

                   Programas exclusivos para partições
                    específicas.

           Alocação Particionada Estática Relocável:
                   Compiladores gerando código relocável;
                      Endereços relativos ao início da partição;

                   Programas podem rodar em qualquer partição.



Pearson Education
                                                             10
                                           Sistemas Operacionais Modernos – 2ª Edição
Multiprogramação
        com Partições Fixas (Estática)

           Partições fixas de memória
                     (a) Filas de entrada para cada partição
                     (b) Fila única de entrada




Pearson Education
                                                          11
                                        Sistemas Operacionais Modernos – 2ª Edição
Alocação Particionada Dinâmica
           Não existe o conceito de                       Memória principal
            partição dinâmica.
                   O espaço utilizado por um
                                                                    Sistema
                    programa é a sua partição.
                                                                   Operacional
           Não ocorre fragmentação
            interna.
                                                                    Processo A
           Ao terminarem, os programas
            deixam espalhados espaços
            pequenos de memória,                                   Processo C
            provocando a fragmentação
                                                                    Processo F
            externa.
                                                                    Processo E




Pearson Education
                                                              12
                                            Sistemas Operacionais Modernos – 2ª Edição
Considerações sobre
        Relocação e Proteção
           Não se sabe com certeza onde o
            programa será carregado na memória
                   As Localizações de endereços de variáveis e de
                    código de rotinas não podem ser absolutos
           Soluções:
                   Instruções do programa são modificadas
                    segundo a partição de memória em que ele
                    será carregado
                   Uma solução para relocação e proteção: uso de
                    registradores com valores base e limite
                      As localizações de endereços são somadas ao
                       valor base antes de serem mapeadas na
                       memória física
                      Referência a endereços superiores ao limite
                       indicam erro.

Pearson Education
                                                            13
                                          Sistemas Operacionais Modernos – 2ª Edição
Alocação Dinâmica:
        Troca de Processos (ou Swapping)

           Alterações na alocação de memória à
            medida que processos entram e saem da
            memória
           Regiões sombreadas correspondem a
            regiões de memória não utilizadas
            naquele instante




Pearson Education
                                                 14
                               Sistemas Operacionais Modernos – 2ª Edição
Alocação Dinâmica:
        Troca de Processos (ou Swapping)
           Um processo residente na memória é levado para
            o disco (Swapped-Out), dando lugar a outro;
           O processo Swapped-Out retorna à memória
            (Swapped-In), sem “perceber” o que ocorreu.

             Sistema       Memória principal                  Sistema
            Operacional                                      Operacional

            programa A    Swap Out                          programa A
            programa B                Swap In               programa H

            programa E                                      programa E
                           B             B                  programa A
                                                             programa B
            programa G

Pearson Education
                                                       15
                                     Sistemas Operacionais Modernos – 2ª Edição
Memória Extra
           Alocação de espaço para uma área de
            dados em expansão
           Alocação de espaço para uma pilha e uma
            área de dados, ambos em expansão




Pearson Education
                                                  16
                                Sistemas Operacionais Modernos – 2ª Edição
Gerenciamento de Memória com
        Mapas de Bits e Lista Encadeada
           Parte da memória com 5 segmentos de processos e 3
            segmentos de memória livre
                       pequenos riscos simétricos denotam as unidades de
                        alocação
                       regiões sombreadas denotam segmentos livres
           Mapa de bits correspondente
           Mesmas informações em uma lista encadeada




Pearson Education
                                                                  17
                                                Sistemas Operacionais Modernos – 2ª Edição
Gerenciamento de Memória
        com Listas Encadeadas

           Quatro combinações de vizinhança
            para o processo X em término de
            execução




Pearson Education
                                               18
                             Sistemas Operacionais Modernos – 2ª Edição
Algoritmos de
         Alocação de Memória

      Best-Fit  (melhor ajuste):
      Worst-Fit (pior ajuste):

      First-Fit (primeiro ajuste):

      Next-Fit (próximo ajuste):
        Todos melhoram em performance se existirem listas
         distintas para processos e espaços, embora o
         algoritmo fique mais complexo.
        Listas ordenadas por tamanho de espaço melhoram a
         performance.



Pearson Education
                                                    19
                                  Sistemas Operacionais Modernos – 2ª Edição
Modelagem de Multiprogramação
           Utilização da CPU como uma função do
            número de processos na memória




Pearson Education
                                                 20
                               Sistemas Operacionais Modernos – 2ª Edição
Análise de Desempenho de
        Sistemas de Multiprogramação
       Chegada de 4 jobs e suas necessidades de trabalho
       Utilização da CPU por até 4 jobs com 80% de espera por
        E/S
       Sequência de
        eventos entre a
        chegada e o
        término dos jobs
            Note que os
             números
             mostram
             quanto tempo
             da CPU cada
             job obtém em
             cada intervalo


Pearson Education
                                                       21
                                     Sistemas Operacionais Modernos – 2ª Edição
Memória Virtual
           Técnica onde memória principal e secundária são
            combinadas de forma a “emular” uma memória de
            tamanho maior que a memória principal (real);
           A memória secundária é usada como extensão da
            memória principal;
           Permite um maior número de processos
            compartilhando a memória principal;
           Não vincula o endereçamento dos programas aos
            endereços físicos da memória principal;
           Programas não ficam mais limitados ao tamanho da
            memória principal disponível;
           Minimiza o problema de fragmentação.



Pearson Education
                                                        22
                                      Sistemas Operacionais Modernos – 2ª Edição
Memória Virtual
                                                                      Memória Principal
                                                                         Espaço de
                      Espaço de Endereçamento:                      Endereçamento Real

        Memória Virtual
          Espaço de
     Endereçamento Virtual
                                      Mapeamento
            Estrutura Vetorial




                                                                   Memória
                                                                  Secundária



Pearson Education
                                                                23
                                              Sistemas Operacionais Modernos – 2ª Edição
Memória Virtual
           Mapeamento:
                   Realizado por hardware + S.O. nos sistemas atuais,
                    através da MMU (Memory Management Unit -
                    Unidade de Gerenciamento de Memória).
                   Cada processo com uma tabela de mapeamento
                    própria.
                   No momento da execução, o endereço virtual é
                    mapeado para o endereço físico, pois o processador
                    só acessa endereços do espaço real;
                   Nas trocas de contexto, um registrador é
                    responsável por indicar qual a tabela que deve ser
                    utilizada.



Pearson Education
                                                              24
                                            Sistemas Operacionais Modernos – 2ª Edição
Memória Virtual
                                                                               Memória Principal
                                                                                  Espaço de
                          Paginação:                                         Endereçamento Real


                       Espaço Virtual
                       do Processo A     Tabela de
                                        Páginas de A
     Memória Virtual




                       Espaço Virtual
                                         Tabela de
                       do Processo B
                                        Páginas de B
                                                                          Memória   Page In
                                                                         Secundária
                                                          Page Fault



Pearson Education
                                                                         25
                                                       Sistemas Operacionais Modernos – 2ª Edição
Memória Virtual
           Localização e função da MMU
            (Memory Management Unit)




Pearson Education
                                               26
                             Sistemas Operacionais Modernos – 2ª Edição
Memória Virtual
           Memória Virtual por Paginação:
                   Memória Virtual e Real divididas em blocos de
                    mesmo tamanho (páginas);
                        Páginas virtuais;
                        Páginas reais ou frames;
                   As tabelas de páginas mapeiam os blocos de
                    informações:
                        Quanto maior o bloco, menor o tamanho das
                         tabelas;
                        Quanto maior o bloco, maior o tempo de
                         transferência do bloco entre memória principal e
                         secundária.




Pearson Education
                                                                 27
                                               Sistemas Operacionais Modernos – 2ª Edição
Memória Virtual
           Memória Virtual por Paginação:
                   Endereço Virtual = Nº da página virtual +
                    deslocamento;
                   Um bit de validade (na tabela de páginas) indica se
                    a página já se encontra na memória principal ou
                    não.
                   Taxa de Paginação = Nº de Page Fault em um
                    intervalo de tempo.
                   Quando ocorre um page fault, o processo em
                    questão passa ao estado de espera.




Pearson Education
                                                              28
                                            Sistemas Operacionais Modernos – 2ª Edição
Memória Virtual
                          Endereçamento Virtual:
                                                                                            Memória Principal
                                                                                               Espaço de
                                   Espaço Virtual                                          Endereçamento Real
                                   do Processo A
     Memória Virtual




                           Página virtual       deslocamento
                                 1                   203
                                ...                   ...
                                 2                   067
                                                                       Endereço
                                                                         Físico

                                                    Tabela de           2        203
                                                   Páginas de A

                                                                                     Memória             Page In
                                            Validade   End. do Frame
                                                                                    Secundária
                                               1             2
                                               0             --                 SO29
Pearson Education                                                 Sistemas Operacionais Modernos – 2ª Edição
Memória Virtual
        Paginação
           A relação entre
            endereços
            virtuais e
            endereços físicos
            de memória dada
            pela tabela de
            páginas




Pearson Education
                                                  30
                                Sistemas Operacionais Modernos – 2ª Edição
Tabelas de Páginas
           Operação interna
            de uma MMU
            com 16 páginas
            de 4KB




Pearson Education
                                                 31
                               Sistemas Operacionais Modernos – 2ª Edição
Tabelas de Páginas
           Entrada típica de uma tabela de
            páginas




Pearson Education
                                                32
                              Sistemas Operacionais Modernos – 2ª Edição
Tabelas de Páginas
           Tabelas de páginas muito grandes
            podem ser inviáveis
               Se armazenadas na MMU ocupariam
                muito espaço;
               Se mantidas em memória, degradariam
                o acesso à memória.
           Uma das soluções é a utilização de
            tabelas de páginas em níveis.


Pearson Education
                                                  33
                                Sistemas Operacionais Modernos – 2ª Edição
Tabelas de Páginas
           Endereço de 32 bits
            com 2 campos para
            endereçamento de
            tabelas de páginas
           Tabelas de páginas
            com 2 níveis
           Tabelas de páginas
            podem existir com
            diversos níveis, mas
            não é comprovada a
            eficiência de tabelas
            com mais de três
            níveis.

Pearson Education
                                                      34
                                    Sistemas Operacionais Modernos – 2ª Edição
Memória Associativa ou TLB
           TLB (translation lookaside buffer)
            para acelerar a paginação




Pearson Education
                                                35
                              Sistemas Operacionais Modernos – 2ª Edição
Algoritmos de
        Substituição de Páginas
           A falta de página força uma escolha
                   Qual página deve ser removida para que seja
                    possível a alocação de espaço para a página a ser
                    trazida para a memória?

           Se a página escolhida foi modificada, deve
            primeiro ser salva
                   se não tiver sido modificada é apenas sobreposta

           Melhor não escolher uma página que está sendo
            muito usada
                   provavelmente ela precisará ser trazida de volta em
                    pouco tempo


Pearson Education
                                                              36
                                            Sistemas Operacionais Modernos – 2ª Edição
O Algoritmo Ótimo
           Substitui a página necessária o mais
            tarde possível
               ótimo   mas não realizável

           Estimada através do registro do uso
            das páginas em execuções
            anteriores



Pearson Education
                                                      37
                                    Sistemas Operacionais Modernos – 2ª Edição
Algoritmo NUR
        Não Usada Recentemente
           Cada página tem os bits Referenciada (R)
            e Modificada (M)
                   Bits são colocados em 1 quando a página é
                    referenciada e modificada
           As páginas são classificadas
                   Classe   0:   não referenciada, não modificada
                   Classe   1:   não referenciada, modificada
                   Classe   2:   referenciada, não modificada
                   Classe   3:   referenciada, modificada
           NUR remove página aleatoriamente da
            classe de ordem mais baixa que não
            estiver vazia


Pearson Education
                                                                38
                                              Sistemas Operacionais Modernos – 2ª Edição
Algoritmo FIFO
           Mantém uma lista encadeada de todas as
            páginas
                   A página mais antiga é colocada no início da
                    lista
                   A página que chegou por último é colocada no
                    final da lista
           Na ocorrência de page fault
                        A página no início da lista é removida
                        A nova página é adicionada no final da lista
           Desvantagem
                   A página há mais tempo na memória pode
                    estar sendo utilizada com muita freqüência



Pearson Education
                                                               39
                                             Sistemas Operacionais Modernos – 2ª Edição
Algoritmo de Substituição de Página
        Segunda Chance (SC)
           Operação do algoritmo segunda chance
                   Listas de páginas em ordem FIFO
                   Exemplo: estado da lista em situação de page fault no
                    instante 20, com o bit de Referenciação da página A em 1
                    (números representam instantes de carregamento das
                    páginas na memória)




Pearson Education
                                                                 40
                                               Sistemas Operacionais Modernos – 2ª Edição
Algoritmo Relógio




Pearson Education
                                              41
                            Sistemas Operacionais Modernos – 2ª Edição
Menos Recentemente
        Usada (MRU)
           Assume que páginas usadas recentemente logo
            serão usadas novamente
                   Retira da memória as páginas que há mais tempo
                    não são utilizadas
           Uma lista encadeada de páginas deve ser mantida
                   A página mais recentemente usada no início da
                    lista, a menos usada no final da lista
                   A atualização da lista deve ser feita a cada
                    referência à memória
           Alternativamente manter contador em cada
            entrada da tabela de página
                   Escolhe página com contador de menor valor
                   Zera o contador periodicamente


Pearson Education
                                                             42
                                           Sistemas Operacionais Modernos – 2ª Edição
O Algoritmo de Substituição de
        Página do Conjunto de Trabalho

           O algoritmo do conjunto de trabalho




Pearson Education
                                               43
                             Sistemas Operacionais Modernos – 2ª Edição
O Algoritmo de Substituição
        de Página WSClock



   Operação
   do Algoritmo
   WSClock




Pearson Education
                                              44
                            Sistemas Operacionais Modernos – 2ª Edição
Políticas de
        Substituição de Páginas:
           Seleção de qual, entre as diversas páginas
            alocadas deve ser liberada.
           Necessidade de verificação se a página foi
            alterada (bit de modificação)
           No caso da página liberada tiver sofrido
            modificação, esta deverá antes ser gravada no
            Arquivo de Paginação (page out).
           Note que as páginas de código não podem ser
            modificadas, logo não sofrem page out.




Pearson Education
                                                      45
                                    Sistemas Operacionais Modernos – 2ª Edição
Políticas de
        Substituição de Páginas:
           Política de Substituição Local:
                   Apenas as páginas do processo que gerou o page
                    fault são candidatas à relocação.
           Política de Substituição Global:
                   Todas as páginas de todos os processos são
                    candidatas à relocação.
                   Algumas páginas nunca são candidatas à relocação,
                    como por exemplo as do núcleo do S.O.




Pearson Education
                                                             46
                                           Sistemas Operacionais Modernos – 2ª Edição
Políticas de
        Busca de Páginas
           Determinação de quando uma página deve ser
            carregada para a memória.
                   Paginação por demanda:
                        Transferência de páginas para memória principal
                         quando são referenciadas.
                        Apenas as páginas necessárias são transferidas.
                   Paginação antecipada:
                        Além da página referenciada, são carregadas
                         outras páginas que também podem (ou não) ser
                         referenciadas futuramente.
                        Economia de tempo na cópia do conjunto de
                         páginas.
                        Risco de trabalho desnecessário.


Pearson Education
                                                                 47
                                               Sistemas Operacionais Modernos – 2ª Edição
Políticas de
        Alocação de Páginas:
           Determina quantos frames cada processo pode
            manter na memória principal.
                   Alocação Fixa:
                        Número máximo de frames (páginas) por processo.
                        Caso o limite seja atingido, alguma página deve ser
                         descartada.
                        O limite de páginas é determinado na criação do
                         processo.
                        Limite de páginas mal dimensionado:
                             Se for pequeno:
                                 Muitos page faults;

                                 Degradação do sistema;

                             Se for grande:
                                 Espaço ocupado maior que o necessário;

                                 Reduz o grau de multiprogramação.


Pearson Education
                                                                     48
                                                   Sistemas Operacionais Modernos – 2ª Edição
Políticas de
        Alocação de Páginas:
                   Alocação Variável:
                      O número máximo de frames de um processo

                       pode variar em função de sua taxa de
                       paginação.
                      Processos com alta taxa de paginação podem

                       aumentar o seu limite máximo de frames.
                      Processos com baixa taxa de paginação

                       podem ter os seus limites máximos de frames
                       reduzido.




Pearson Education
                                                            49
                                          Sistemas Operacionais Modernos – 2ª Edição
Políticas de Alocação X
        Políticas de Substituição
           Relacionamento entre as Políticas de Alocação e
            Políticas de Substituição de páginas.
                   Alocação Fixa:
                        Substituição Local.
                   Alocação Variável:
                        Substituição Global.
                        Substituição Local.
                              O SO avalia a taxa de paginação de um processo e altera
                               o seu limite máximo de frames.




Pearson Education
                                                                      50
                                                    Sistemas Operacionais Modernos – 2ª Edição
Considerações sobre
        Tamanho de Página
           Tamanho de página pequeno
               Vantagens
                     Menos fragmentação interna
                     Menos programa não usados na memória

               Desvantagens
                       Os programas precisam de mais páginas,
                        tabelas de página maiores...




Pearson Education
                                                           51
                                         Sistemas Operacionais Modernos – 2ª Edição
Política de Limpeza
           Processo que executa em background, um
            daemon de paginação
                   Inspeciona periodicamente o estado da
                    memória
           Quando apenas algumas molduras de
            página estão disponíveis
                   Seleciona páginas a serem removidas usando
                    um algoritmo de substituição




Pearson Education
                                                           52
                                         Sistemas Operacionais Modernos – 2ª Edição
Espaços Separados de
        Instruções e Dados

        Espaço de endereçamento único
                      X
        Espaços separados de instruções (I) e
          dados (D)




Pearson Education
                                             53
                           Sistemas Operacionais Modernos – 2ª Edição
Páginas Compartilhadas




     Dois processos que
      compartilham o
      mesmo código de
      programa e, por
      conseqüência, a
      mesma tabela de
      páginas para
      instruções

Pearson Education
                                             54
                           Sistemas Operacionais Modernos – 2ª Edição
Segmentação
           Espaço de
            endereçamento
            unidimensional
            com tabelas
            crescentes
           Uma tabela pode
            atingir outra




Pearson Education
                                                55
                              Sistemas Operacionais Modernos – 2ª Edição
Segmentação
           Permite que cada tabela cresça ou
            encolha, independentemente




Pearson Education
                                               56
                             Sistemas Operacionais Modernos – 2ª Edição
Implementação de
        Segmentação Pura
           (a)-(d) Desenvolvimento de fragmentação externa
           (e) Remoção da fragmentação via compactação




Pearson Education
                                                        57
                                      Sistemas Operacionais Modernos – 2ª Edição
Segmentação
                                           Memória principal

            Programa Segmento;                        S.O.
            Var A: array...
                C: ...                        Procedimento X

                                           Programa Principal
            Procedimento X;
            ...                                   Função Y
            End;
            Function Y;                             Array A
            ...                             programa A
            End;
                                                  Variável C
            Begin
            ...
            End.                                       ...
Pearson Education
                                                   58
                                 Sistemas Operacionais Modernos – 2ª Edição
Segmentação
           A Segmentação possui funcionamento análogo à
            Paginação.
           Mapeamento:
                   Os segmentos são mapeados através da
                    tabela de mapeamento de segmento (TMS);
           O Endereço virtual é formado pelo:
                   Número do segmento;
                   Deslocamento dentro do segmento;




Pearson Education
                                                            59
                                          Sistemas Operacionais Modernos – 2ª Edição
Segmentação com Paginação
           Técnica onde os processos são divididos
            logicamente em Segmentos e cada segmento é
            dividido fisicamente em Páginas.
           Endereço virtual é formado por:
                   Número do segmento;
                   Número de página dentro do segmento;
                   Deslocamento dentro da página.




Pearson Education
                                                            60
                                          Sistemas Operacionais Modernos – 2ª Edição

Mais conteúdo relacionado

Mais procurados

Sistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 DeadlockSistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 DeadlockWellington Oliveira
 
Gerencia de memoria
Gerencia de memoriaGerencia de memoria
Gerencia de memoria37193694
 
Sistemas Operacionais - Aula 08 (Sincronização e Comunicação entre Processos)
Sistemas Operacionais - Aula 08 (Sincronização e Comunicação entre Processos)Sistemas Operacionais - Aula 08 (Sincronização e Comunicação entre Processos)
Sistemas Operacionais - Aula 08 (Sincronização e Comunicação entre Processos)Leinylson Fontinele
 
ApresentaçãO Tipos De Memorias
ApresentaçãO  Tipos De MemoriasApresentaçãO  Tipos De Memorias
ApresentaçãO Tipos De Memoriasecompo
 
Fundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplina
Fundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplinaFundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplina
Fundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplinaHelder Lopes
 
Sistemas Operacionais - Aula 06 (Estrutura do S.O)
Sistemas Operacionais - Aula 06 (Estrutura do S.O)Sistemas Operacionais - Aula 06 (Estrutura do S.O)
Sistemas Operacionais - Aula 06 (Estrutura do S.O)Leinylson Fontinele
 
Sistemas Operacionais (Windows X Linux)
Sistemas Operacionais (Windows X Linux)Sistemas Operacionais (Windows X Linux)
Sistemas Operacionais (Windows X Linux)Paulo Guimarães
 
Sistemas de Arquivos FAT x NTFS
Sistemas de Arquivos FAT x NTFSSistemas de Arquivos FAT x NTFS
Sistemas de Arquivos FAT x NTFSCleber Ramos
 
Capítulo 6 Sistemas Operacionais Modernos
Capítulo 6 Sistemas Operacionais ModernosCapítulo 6 Sistemas Operacionais Modernos
Capítulo 6 Sistemas Operacionais ModernosWellington Oliveira
 
Sistemas operativos 10º
Sistemas operativos 10ºSistemas operativos 10º
Sistemas operativos 10ºteacherpereira
 
SO-05 Gerenciamento de Memória e Alocação
SO-05 Gerenciamento de Memória e AlocaçãoSO-05 Gerenciamento de Memória e Alocação
SO-05 Gerenciamento de Memória e AlocaçãoEduardo Nicola F. Zagari
 
2009 1 - sistemas operacionais - aula 3 - processos
2009 1 - sistemas operacionais - aula 3 - processos2009 1 - sistemas operacionais - aula 3 - processos
2009 1 - sistemas operacionais - aula 3 - processosComputação Depressão
 
Sistema operacional
Sistema operacionalSistema operacional
Sistema operacionalMichael Soto
 

Mais procurados (20)

SO-09 Entrada e Saída: Hardware
SO-09 Entrada e Saída: HardwareSO-09 Entrada e Saída: Hardware
SO-09 Entrada e Saída: Hardware
 
Sistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 DeadlockSistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 Deadlock
 
Windows x Linux - O que preciso saber!
Windows x Linux - O que preciso saber!Windows x Linux - O que preciso saber!
Windows x Linux - O que preciso saber!
 
Gerencia de memoria
Gerencia de memoriaGerencia de memoria
Gerencia de memoria
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 
Sistemas Operacionais - Aula 08 (Sincronização e Comunicação entre Processos)
Sistemas Operacionais - Aula 08 (Sincronização e Comunicação entre Processos)Sistemas Operacionais - Aula 08 (Sincronização e Comunicação entre Processos)
Sistemas Operacionais - Aula 08 (Sincronização e Comunicação entre Processos)
 
Entrada e saida cap 05 (iii unidade)
Entrada e saida  cap 05 (iii unidade)Entrada e saida  cap 05 (iii unidade)
Entrada e saida cap 05 (iii unidade)
 
ApresentaçãO Tipos De Memorias
ApresentaçãO  Tipos De MemoriasApresentaçãO  Tipos De Memorias
ApresentaçãO Tipos De Memorias
 
Gerenciamento de memória
Gerenciamento de memóriaGerenciamento de memória
Gerenciamento de memória
 
Fundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplina
Fundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplinaFundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplina
Fundamentos de Sistemas Operacionais - Aula 1 - Introdução à disciplina
 
Sistemas Operacionais - Aula 06 (Estrutura do S.O)
Sistemas Operacionais - Aula 06 (Estrutura do S.O)Sistemas Operacionais - Aula 06 (Estrutura do S.O)
Sistemas Operacionais - Aula 06 (Estrutura do S.O)
 
Sistemas Operacionais (Windows X Linux)
Sistemas Operacionais (Windows X Linux)Sistemas Operacionais (Windows X Linux)
Sistemas Operacionais (Windows X Linux)
 
Sistemas de Arquivos FAT x NTFS
Sistemas de Arquivos FAT x NTFSSistemas de Arquivos FAT x NTFS
Sistemas de Arquivos FAT x NTFS
 
Capítulo 6 Sistemas Operacionais Modernos
Capítulo 6 Sistemas Operacionais ModernosCapítulo 6 Sistemas Operacionais Modernos
Capítulo 6 Sistemas Operacionais Modernos
 
Sistemas operativos 10º
Sistemas operativos 10ºSistemas operativos 10º
Sistemas operativos 10º
 
Instalação de Servidor de Arquivo
Instalação de Servidor de ArquivoInstalação de Servidor de Arquivo
Instalação de Servidor de Arquivo
 
SO-05 Gerenciamento de Memória e Alocação
SO-05 Gerenciamento de Memória e AlocaçãoSO-05 Gerenciamento de Memória e Alocação
SO-05 Gerenciamento de Memória e Alocação
 
2009 1 - sistemas operacionais - aula 3 - processos
2009 1 - sistemas operacionais - aula 3 - processos2009 1 - sistemas operacionais - aula 3 - processos
2009 1 - sistemas operacionais - aula 3 - processos
 
Processos e threads cap 02 (i unidade)
Processos e threads   cap 02 (i unidade)Processos e threads   cap 02 (i unidade)
Processos e threads cap 02 (i unidade)
 
Sistema operacional
Sistema operacionalSistema operacional
Sistema operacional
 

Semelhante a 2009 1 - sistemas operacionais - aula 8 - memoria

Gerência de Memória
Gerência de MemóriaGerência de Memória
Gerência de Memóriaelliando dias
 
12/03/2010 - Sistemas Operacionais Aula3
12/03/2010 - Sistemas Operacionais Aula312/03/2010 - Sistemas Operacionais Aula3
12/03/2010 - Sistemas Operacionais Aula3Universal.org.mx
 
Sistema operacional introdução
Sistema operacional introduçãoSistema operacional introdução
Sistema operacional introduçãoCleber Ramos
 
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas OperacionaisAula 5a - Sistemas Operacionais
Aula 5a - Sistemas OperacionaisJocelma Rios
 
2009 1 - sistemas operacionais - aula 2 - conceitos basicos
2009 1 - sistemas operacionais - aula 2 - conceitos basicos2009 1 - sistemas operacionais - aula 2 - conceitos basicos
2009 1 - sistemas operacionais - aula 2 - conceitos basicosComputação Depressão
 
M1_Sistemas Operativos.pptx
M1_Sistemas Operativos.pptxM1_Sistemas Operativos.pptx
M1_Sistemas Operativos.pptxDoraestevao
 
Questoesde fso
Questoesde fsoQuestoesde fso
Questoesde fsopaulocsm
 
SO-01 Introdução aos Sistemas Operacionais
SO-01 Introdução aos Sistemas OperacionaisSO-01 Introdução aos Sistemas Operacionais
SO-01 Introdução aos Sistemas OperacionaisEduardo Nicola F. Zagari
 
Sistemas operacionais memória no linux
Sistemas operacionais   memória no linuxSistemas operacionais   memória no linux
Sistemas operacionais memória no linuxCarlos Melo
 
resumo-conceitos-de-sistemas-operacionais.pdf
resumo-conceitos-de-sistemas-operacionais.pdfresumo-conceitos-de-sistemas-operacionais.pdf
resumo-conceitos-de-sistemas-operacionais.pdfRafaelPilan1
 
SO03 - Sistemas-Operacionais - Gerencia de Memoria.pdf
SO03 - Sistemas-Operacionais - Gerencia de Memoria.pdfSO03 - Sistemas-Operacionais - Gerencia de Memoria.pdf
SO03 - Sistemas-Operacionais - Gerencia de Memoria.pdfSilvano Oliveira
 
Visão Geral: Introdução
Visão Geral: IntroduçãoVisão Geral: Introdução
Visão Geral: IntroduçãoAlexandre Duarte
 
Soi2011 parteii
Soi2011 parteiiSoi2011 parteii
Soi2011 parteiipaulocsm
 

Semelhante a 2009 1 - sistemas operacionais - aula 8 - memoria (20)

Gerência de Memória
Gerência de MemóriaGerência de Memória
Gerência de Memória
 
Gerência de memória
Gerência de memóriaGerência de memória
Gerência de memória
 
Aula 04-gerenciamento-basico-de-memoria
Aula 04-gerenciamento-basico-de-memoriaAula 04-gerenciamento-basico-de-memoria
Aula 04-gerenciamento-basico-de-memoria
 
S.o aula 3132
S.o aula 3132S.o aula 3132
S.o aula 3132
 
12/03/2010 - Sistemas Operacionais Aula3
12/03/2010 - Sistemas Operacionais Aula312/03/2010 - Sistemas Operacionais Aula3
12/03/2010 - Sistemas Operacionais Aula3
 
Sistema operacional introdução
Sistema operacional introduçãoSistema operacional introdução
Sistema operacional introdução
 
Aula revisão ok
Aula revisão       okAula revisão       ok
Aula revisão ok
 
Aula 5a - Sistemas Operacionais
Aula 5a - Sistemas OperacionaisAula 5a - Sistemas Operacionais
Aula 5a - Sistemas Operacionais
 
2009 1 - sistemas operacionais - aula 2 - conceitos basicos
2009 1 - sistemas operacionais - aula 2 - conceitos basicos2009 1 - sistemas operacionais - aula 2 - conceitos basicos
2009 1 - sistemas operacionais - aula 2 - conceitos basicos
 
M1_Sistemas Operativos.pptx
M1_Sistemas Operativos.pptxM1_Sistemas Operativos.pptx
M1_Sistemas Operativos.pptx
 
Questoesde fso
Questoesde fsoQuestoesde fso
Questoesde fso
 
1844
18441844
1844
 
SO-01 Introdução aos Sistemas Operacionais
SO-01 Introdução aos Sistemas OperacionaisSO-01 Introdução aos Sistemas Operacionais
SO-01 Introdução aos Sistemas Operacionais
 
Gerenciamento memoria
Gerenciamento memoriaGerenciamento memoria
Gerenciamento memoria
 
Sistemas operacionais memória no linux
Sistemas operacionais   memória no linuxSistemas operacionais   memória no linux
Sistemas operacionais memória no linux
 
resumo-conceitos-de-sistemas-operacionais.pdf
resumo-conceitos-de-sistemas-operacionais.pdfresumo-conceitos-de-sistemas-operacionais.pdf
resumo-conceitos-de-sistemas-operacionais.pdf
 
SO03 - Sistemas-Operacionais - Gerencia de Memoria.pdf
SO03 - Sistemas-Operacionais - Gerencia de Memoria.pdfSO03 - Sistemas-Operacionais - Gerencia de Memoria.pdf
SO03 - Sistemas-Operacionais - Gerencia de Memoria.pdf
 
02 04 2012__15_10_03resp_exercicios_sistema_operacional
02 04 2012__15_10_03resp_exercicios_sistema_operacional02 04 2012__15_10_03resp_exercicios_sistema_operacional
02 04 2012__15_10_03resp_exercicios_sistema_operacional
 
Visão Geral: Introdução
Visão Geral: IntroduçãoVisão Geral: Introdução
Visão Geral: Introdução
 
Soi2011 parteii
Soi2011 parteiiSoi2011 parteii
Soi2011 parteii
 

Mais de Computação Depressão

Sd08 (si) sistemas de arquivos distribuídos
Sd08 (si)   sistemas de arquivos distribuídosSd08 (si)   sistemas de arquivos distribuídos
Sd08 (si) sistemas de arquivos distribuídosComputação Depressão
 
Sd02 (si) gerenciamento de entrada e saída
Sd02 (si)   gerenciamento de entrada e saídaSd02 (si)   gerenciamento de entrada e saída
Sd02 (si) gerenciamento de entrada e saídaComputação Depressão
 

Mais de Computação Depressão (20)

Sd08 (si) sistemas de arquivos distribuídos
Sd08 (si)   sistemas de arquivos distribuídosSd08 (si)   sistemas de arquivos distribuídos
Sd08 (si) sistemas de arquivos distribuídos
 
Sd06 (si) exclusão mútua
Sd06 (si)   exclusão mútuaSd06 (si)   exclusão mútua
Sd06 (si) exclusão mútua
 
Sd05 (si) relógios e sincronização
Sd05 (si)   relógios e sincronizaçãoSd05 (si)   relógios e sincronização
Sd05 (si) relógios e sincronização
 
Sd04 (si) comunicação em sd
Sd04 (si)   comunicação em sdSd04 (si)   comunicação em sd
Sd04 (si) comunicação em sd
 
Sd03 (si) conceitos básicos de sd
Sd03 (si)   conceitos básicos de sdSd03 (si)   conceitos básicos de sd
Sd03 (si) conceitos básicos de sd
 
Sd02 (si) gerenciamento de entrada e saída
Sd02 (si)   gerenciamento de entrada e saídaSd02 (si)   gerenciamento de entrada e saída
Sd02 (si) gerenciamento de entrada e saída
 
Sd01 (si) sistemas de arquivos
Sd01 (si)   sistemas de arquivosSd01 (si)   sistemas de arquivos
Sd01 (si) sistemas de arquivos
 
Sd07 (si) eleição
Sd07 (si)   eleiçãoSd07 (si)   eleição
Sd07 (si) eleição
 
Ufbamat2013
Ufbamat2013Ufbamat2013
Ufbamat2013
 
Ufbaingles2013
Ufbaingles2013Ufbaingles2013
Ufbaingles2013
 
Ufbagab mat 2013
Ufbagab mat 2013Ufbagab mat 2013
Ufbagab mat 2013
 
Ufbagab ingles2013
Ufbagab ingles2013Ufbagab ingles2013
Ufbagab ingles2013
 
Ufbagab fis 2013
Ufbagab fis 2013Ufbagab fis 2013
Ufbagab fis 2013
 
Ufbafisqui2013
Ufbafisqui2013Ufbafisqui2013
Ufbafisqui2013
 
Ufbagab qui 2013
Ufbagab qui 2013Ufbagab qui 2013
Ufbagab qui 2013
 
Questesdetecnologia ano2002
Questesdetecnologia ano2002Questesdetecnologia ano2002
Questesdetecnologia ano2002
 
Questesdematemtica ano2003
Questesdematemtica ano2003Questesdematemtica ano2003
Questesdematemtica ano2003
 
Questesdematemtica ano2002
Questesdematemtica ano2002Questesdematemtica ano2002
Questesdematemtica ano2002
 
Questesdefundamentos ano2003
Questesdefundamentos ano2003Questesdefundamentos ano2003
Questesdefundamentos ano2003
 
Questesdefundamentos ano2002
Questesdefundamentos ano2002Questesdefundamentos ano2002
Questesdefundamentos ano2002
 

2009 1 - sistemas operacionais - aula 8 - memoria

  • 1. Sistemas Operacionais -Gerência de Memória Ernesto Massa (slides fornecidos pela Prentice Hall e adaptados para esta disciplina) 1 Pearson Education Sistemas Operacionais Modernos – 2ª Edição
  • 2. Gerenciamento de Memória  Idealmente, o que se deseja é dispor de uma memória que seja  Grande, rápida e não volátil.  Hierarquia de memórias  Cache  pequena quantidade de memória rápida, de alto custo.  Memória Principal  Quantidade considerável de velocidade média, custo médio.  Armazenamento em disco  Velocidade e custo baixos. Pearson Education 2 Sistemas Operacionais Modernos – 2ª Edição
  • 3. Gerenciamento de Memória  Algumas funções do Gerenciador de memória:  Controlar quais as unidades de memória estão ou não estão em uso, para que sejam alocadas quando necessário;  Liberar as unidades de memória que foram desocupadas por um processo que finalizou;  Tratar do Swapping entre memória principal e memória secundária.  Transferência temporária de processos residentes na memória principal para memória secundária. Pearson Education 3 Sistemas Operacionais Modernos – 2ª Edição
  • 4. Gerenciamento Básico de Memória: Monoprogramação  Sistema operacional com apenas um processo de usuário (a) Inicialmente utilizados em Mainframes (b) Sistemas Embarcados (c) Primeiros Microcomputadores Pessoais Pearson Education 4 Sistemas Operacionais Modernos – 2ª Edição
  • 5. Alocação Contígua Simples  Alocação implementada nos Memória principal primeiros sistemas e ainda usada nos monoprogramáveis; Sistema  A Memória é dividida em duas Operacional áreas:  Área do Sistema Operacional  Área do Usuário  Um usuário não pode usar uma Área de área maior do que a disponível; Programas  Sem proteção: do usuário  Um usuário pode acessar a área do Sistema Operacional. Pearson Education 5 Sistemas Operacionais Modernos – 2ª Edição
  • 6. Alocação Contígua Simples  Registrador de proteção delimita Memória principal as áreas do sistema operacional e do usuário; Sistema  Sistema verifica acessos à Reg Operacional memória em relação ao endereço do registrador;  A forma de alocação era Área de simples, mas não permitia Programas utilização eficiente de do usuário processador e memória; Pearson Education 6 Sistemas Operacionais Modernos – 2ª Edição
  • 7. Alocação Contígua Simples  Programas de usuário Memória principal limitados pelo tamanho da memória principal disponível. Sistema Operacional  Solução: Overlay  Dividir o programa em Área do módulos; Módulo  Permitir execução Principal independente de cada módulo, usando a mesma Área de área de memória; Overlay  Área de Overlay  Área de memória comum onde módulos compartilham A B C Pearson Education mesmo espaço. 7 Sistemas Operacionais Modernos – 2ª Edição
  • 8. Multiprogramação: Alocação Particionada  Multiprogramação.  Necessidade do uso da memória por vários usuários simultaneamente.  Ocupação mais eficiente do processador;  A memória foi dividida em pedaços de tamanho fixo chamados partições;  O tamanho de cada partição é estabelecido na inicialização do sistema;  Para alteração do particionamento, é necessário uma nova inicialização com uma nova configuração. Pearson Education 8 Sistemas Operacionais Modernos – 2ª Edição
  • 9. Alocação Particionada Estática  Proteção: Memória principal  Registradores com limites inferior e superior de Sistema memória acessível. Reg Operacional  Programas não ocupam totalmente o espaço das Reg Partição A partições, gerando uma fragmentação interna. Partição B Partição C Pearson Education 9 Sistemas Operacionais Modernos – 2ª Edição
  • 10. Alocação Particionada Estática  Alocação Particionada Estática Absoluta:  Compiladores gerando código absoluto;  Endereços relativos ao início da memória;  Programas exclusivos para partições específicas.  Alocação Particionada Estática Relocável:  Compiladores gerando código relocável;  Endereços relativos ao início da partição;  Programas podem rodar em qualquer partição. Pearson Education 10 Sistemas Operacionais Modernos – 2ª Edição
  • 11. Multiprogramação com Partições Fixas (Estática)  Partições fixas de memória  (a) Filas de entrada para cada partição  (b) Fila única de entrada Pearson Education 11 Sistemas Operacionais Modernos – 2ª Edição
  • 12. Alocação Particionada Dinâmica  Não existe o conceito de Memória principal partição dinâmica.  O espaço utilizado por um Sistema programa é a sua partição. Operacional  Não ocorre fragmentação interna. Processo A  Ao terminarem, os programas deixam espalhados espaços pequenos de memória, Processo C provocando a fragmentação Processo F externa. Processo E Pearson Education 12 Sistemas Operacionais Modernos – 2ª Edição
  • 13. Considerações sobre Relocação e Proteção  Não se sabe com certeza onde o programa será carregado na memória  As Localizações de endereços de variáveis e de código de rotinas não podem ser absolutos  Soluções:  Instruções do programa são modificadas segundo a partição de memória em que ele será carregado  Uma solução para relocação e proteção: uso de registradores com valores base e limite  As localizações de endereços são somadas ao valor base antes de serem mapeadas na memória física  Referência a endereços superiores ao limite indicam erro. Pearson Education 13 Sistemas Operacionais Modernos – 2ª Edição
  • 14. Alocação Dinâmica: Troca de Processos (ou Swapping)  Alterações na alocação de memória à medida que processos entram e saem da memória  Regiões sombreadas correspondem a regiões de memória não utilizadas naquele instante Pearson Education 14 Sistemas Operacionais Modernos – 2ª Edição
  • 15. Alocação Dinâmica: Troca de Processos (ou Swapping)  Um processo residente na memória é levado para o disco (Swapped-Out), dando lugar a outro;  O processo Swapped-Out retorna à memória (Swapped-In), sem “perceber” o que ocorreu. Sistema Memória principal Sistema Operacional Operacional programa A Swap Out programa A programa B Swap In programa H programa E programa E B B programa A programa B programa G Pearson Education 15 Sistemas Operacionais Modernos – 2ª Edição
  • 16. Memória Extra  Alocação de espaço para uma área de dados em expansão  Alocação de espaço para uma pilha e uma área de dados, ambos em expansão Pearson Education 16 Sistemas Operacionais Modernos – 2ª Edição
  • 17. Gerenciamento de Memória com Mapas de Bits e Lista Encadeada  Parte da memória com 5 segmentos de processos e 3 segmentos de memória livre  pequenos riscos simétricos denotam as unidades de alocação  regiões sombreadas denotam segmentos livres  Mapa de bits correspondente  Mesmas informações em uma lista encadeada Pearson Education 17 Sistemas Operacionais Modernos – 2ª Edição
  • 18. Gerenciamento de Memória com Listas Encadeadas  Quatro combinações de vizinhança para o processo X em término de execução Pearson Education 18 Sistemas Operacionais Modernos – 2ª Edição
  • 19. Algoritmos de Alocação de Memória  Best-Fit (melhor ajuste):  Worst-Fit (pior ajuste):  First-Fit (primeiro ajuste):  Next-Fit (próximo ajuste):  Todos melhoram em performance se existirem listas distintas para processos e espaços, embora o algoritmo fique mais complexo.  Listas ordenadas por tamanho de espaço melhoram a performance. Pearson Education 19 Sistemas Operacionais Modernos – 2ª Edição
  • 20. Modelagem de Multiprogramação  Utilização da CPU como uma função do número de processos na memória Pearson Education 20 Sistemas Operacionais Modernos – 2ª Edição
  • 21. Análise de Desempenho de Sistemas de Multiprogramação  Chegada de 4 jobs e suas necessidades de trabalho  Utilização da CPU por até 4 jobs com 80% de espera por E/S  Sequência de eventos entre a chegada e o término dos jobs  Note que os números mostram quanto tempo da CPU cada job obtém em cada intervalo Pearson Education 21 Sistemas Operacionais Modernos – 2ª Edição
  • 22. Memória Virtual  Técnica onde memória principal e secundária são combinadas de forma a “emular” uma memória de tamanho maior que a memória principal (real);  A memória secundária é usada como extensão da memória principal;  Permite um maior número de processos compartilhando a memória principal;  Não vincula o endereçamento dos programas aos endereços físicos da memória principal;  Programas não ficam mais limitados ao tamanho da memória principal disponível;  Minimiza o problema de fragmentação. Pearson Education 22 Sistemas Operacionais Modernos – 2ª Edição
  • 23. Memória Virtual Memória Principal Espaço de  Espaço de Endereçamento: Endereçamento Real Memória Virtual Espaço de Endereçamento Virtual Mapeamento Estrutura Vetorial Memória Secundária Pearson Education 23 Sistemas Operacionais Modernos – 2ª Edição
  • 24. Memória Virtual  Mapeamento:  Realizado por hardware + S.O. nos sistemas atuais, através da MMU (Memory Management Unit - Unidade de Gerenciamento de Memória).  Cada processo com uma tabela de mapeamento própria.  No momento da execução, o endereço virtual é mapeado para o endereço físico, pois o processador só acessa endereços do espaço real;  Nas trocas de contexto, um registrador é responsável por indicar qual a tabela que deve ser utilizada. Pearson Education 24 Sistemas Operacionais Modernos – 2ª Edição
  • 25. Memória Virtual Memória Principal Espaço de  Paginação: Endereçamento Real Espaço Virtual do Processo A Tabela de Páginas de A Memória Virtual Espaço Virtual Tabela de do Processo B Páginas de B Memória Page In Secundária Page Fault Pearson Education 25 Sistemas Operacionais Modernos – 2ª Edição
  • 26. Memória Virtual  Localização e função da MMU (Memory Management Unit) Pearson Education 26 Sistemas Operacionais Modernos – 2ª Edição
  • 27. Memória Virtual  Memória Virtual por Paginação:  Memória Virtual e Real divididas em blocos de mesmo tamanho (páginas);  Páginas virtuais;  Páginas reais ou frames;  As tabelas de páginas mapeiam os blocos de informações:  Quanto maior o bloco, menor o tamanho das tabelas;  Quanto maior o bloco, maior o tempo de transferência do bloco entre memória principal e secundária. Pearson Education 27 Sistemas Operacionais Modernos – 2ª Edição
  • 28. Memória Virtual  Memória Virtual por Paginação:  Endereço Virtual = Nº da página virtual + deslocamento;  Um bit de validade (na tabela de páginas) indica se a página já se encontra na memória principal ou não.  Taxa de Paginação = Nº de Page Fault em um intervalo de tempo.  Quando ocorre um page fault, o processo em questão passa ao estado de espera. Pearson Education 28 Sistemas Operacionais Modernos – 2ª Edição
  • 29. Memória Virtual  Endereçamento Virtual: Memória Principal Espaço de Espaço Virtual Endereçamento Real do Processo A Memória Virtual Página virtual deslocamento 1 203 ... ... 2 067 Endereço Físico Tabela de 2 203 Páginas de A Memória Page In Validade End. do Frame Secundária 1 2 0 -- SO29 Pearson Education Sistemas Operacionais Modernos – 2ª Edição
  • 30. Memória Virtual Paginação  A relação entre endereços virtuais e endereços físicos de memória dada pela tabela de páginas Pearson Education 30 Sistemas Operacionais Modernos – 2ª Edição
  • 31. Tabelas de Páginas  Operação interna de uma MMU com 16 páginas de 4KB Pearson Education 31 Sistemas Operacionais Modernos – 2ª Edição
  • 32. Tabelas de Páginas  Entrada típica de uma tabela de páginas Pearson Education 32 Sistemas Operacionais Modernos – 2ª Edição
  • 33. Tabelas de Páginas  Tabelas de páginas muito grandes podem ser inviáveis  Se armazenadas na MMU ocupariam muito espaço;  Se mantidas em memória, degradariam o acesso à memória.  Uma das soluções é a utilização de tabelas de páginas em níveis. Pearson Education 33 Sistemas Operacionais Modernos – 2ª Edição
  • 34. Tabelas de Páginas  Endereço de 32 bits com 2 campos para endereçamento de tabelas de páginas  Tabelas de páginas com 2 níveis  Tabelas de páginas podem existir com diversos níveis, mas não é comprovada a eficiência de tabelas com mais de três níveis. Pearson Education 34 Sistemas Operacionais Modernos – 2ª Edição
  • 35. Memória Associativa ou TLB  TLB (translation lookaside buffer) para acelerar a paginação Pearson Education 35 Sistemas Operacionais Modernos – 2ª Edição
  • 36. Algoritmos de Substituição de Páginas  A falta de página força uma escolha  Qual página deve ser removida para que seja possível a alocação de espaço para a página a ser trazida para a memória?  Se a página escolhida foi modificada, deve primeiro ser salva  se não tiver sido modificada é apenas sobreposta  Melhor não escolher uma página que está sendo muito usada  provavelmente ela precisará ser trazida de volta em pouco tempo Pearson Education 36 Sistemas Operacionais Modernos – 2ª Edição
  • 37. O Algoritmo Ótimo  Substitui a página necessária o mais tarde possível  ótimo mas não realizável  Estimada através do registro do uso das páginas em execuções anteriores Pearson Education 37 Sistemas Operacionais Modernos – 2ª Edição
  • 38. Algoritmo NUR Não Usada Recentemente  Cada página tem os bits Referenciada (R) e Modificada (M)  Bits são colocados em 1 quando a página é referenciada e modificada  As páginas são classificadas  Classe 0: não referenciada, não modificada  Classe 1: não referenciada, modificada  Classe 2: referenciada, não modificada  Classe 3: referenciada, modificada  NUR remove página aleatoriamente da classe de ordem mais baixa que não estiver vazia Pearson Education 38 Sistemas Operacionais Modernos – 2ª Edição
  • 39. Algoritmo FIFO  Mantém uma lista encadeada de todas as páginas  A página mais antiga é colocada no início da lista  A página que chegou por último é colocada no final da lista  Na ocorrência de page fault  A página no início da lista é removida  A nova página é adicionada no final da lista  Desvantagem  A página há mais tempo na memória pode estar sendo utilizada com muita freqüência Pearson Education 39 Sistemas Operacionais Modernos – 2ª Edição
  • 40. Algoritmo de Substituição de Página Segunda Chance (SC)  Operação do algoritmo segunda chance  Listas de páginas em ordem FIFO  Exemplo: estado da lista em situação de page fault no instante 20, com o bit de Referenciação da página A em 1 (números representam instantes de carregamento das páginas na memória) Pearson Education 40 Sistemas Operacionais Modernos – 2ª Edição
  • 41. Algoritmo Relógio Pearson Education 41 Sistemas Operacionais Modernos – 2ª Edição
  • 42. Menos Recentemente Usada (MRU)  Assume que páginas usadas recentemente logo serão usadas novamente  Retira da memória as páginas que há mais tempo não são utilizadas  Uma lista encadeada de páginas deve ser mantida  A página mais recentemente usada no início da lista, a menos usada no final da lista  A atualização da lista deve ser feita a cada referência à memória  Alternativamente manter contador em cada entrada da tabela de página  Escolhe página com contador de menor valor  Zera o contador periodicamente Pearson Education 42 Sistemas Operacionais Modernos – 2ª Edição
  • 43. O Algoritmo de Substituição de Página do Conjunto de Trabalho  O algoritmo do conjunto de trabalho Pearson Education 43 Sistemas Operacionais Modernos – 2ª Edição
  • 44. O Algoritmo de Substituição de Página WSClock Operação do Algoritmo WSClock Pearson Education 44 Sistemas Operacionais Modernos – 2ª Edição
  • 45. Políticas de Substituição de Páginas:  Seleção de qual, entre as diversas páginas alocadas deve ser liberada.  Necessidade de verificação se a página foi alterada (bit de modificação)  No caso da página liberada tiver sofrido modificação, esta deverá antes ser gravada no Arquivo de Paginação (page out).  Note que as páginas de código não podem ser modificadas, logo não sofrem page out. Pearson Education 45 Sistemas Operacionais Modernos – 2ª Edição
  • 46. Políticas de Substituição de Páginas:  Política de Substituição Local:  Apenas as páginas do processo que gerou o page fault são candidatas à relocação.  Política de Substituição Global:  Todas as páginas de todos os processos são candidatas à relocação.  Algumas páginas nunca são candidatas à relocação, como por exemplo as do núcleo do S.O. Pearson Education 46 Sistemas Operacionais Modernos – 2ª Edição
  • 47. Políticas de Busca de Páginas  Determinação de quando uma página deve ser carregada para a memória.  Paginação por demanda:  Transferência de páginas para memória principal quando são referenciadas.  Apenas as páginas necessárias são transferidas.  Paginação antecipada:  Além da página referenciada, são carregadas outras páginas que também podem (ou não) ser referenciadas futuramente.  Economia de tempo na cópia do conjunto de páginas.  Risco de trabalho desnecessário. Pearson Education 47 Sistemas Operacionais Modernos – 2ª Edição
  • 48. Políticas de Alocação de Páginas:  Determina quantos frames cada processo pode manter na memória principal.  Alocação Fixa:  Número máximo de frames (páginas) por processo.  Caso o limite seja atingido, alguma página deve ser descartada.  O limite de páginas é determinado na criação do processo.  Limite de páginas mal dimensionado:  Se for pequeno:  Muitos page faults;  Degradação do sistema;  Se for grande:  Espaço ocupado maior que o necessário;  Reduz o grau de multiprogramação. Pearson Education 48 Sistemas Operacionais Modernos – 2ª Edição
  • 49. Políticas de Alocação de Páginas:  Alocação Variável:  O número máximo de frames de um processo pode variar em função de sua taxa de paginação.  Processos com alta taxa de paginação podem aumentar o seu limite máximo de frames.  Processos com baixa taxa de paginação podem ter os seus limites máximos de frames reduzido. Pearson Education 49 Sistemas Operacionais Modernos – 2ª Edição
  • 50. Políticas de Alocação X Políticas de Substituição  Relacionamento entre as Políticas de Alocação e Políticas de Substituição de páginas.  Alocação Fixa:  Substituição Local.  Alocação Variável:  Substituição Global.  Substituição Local.  O SO avalia a taxa de paginação de um processo e altera o seu limite máximo de frames. Pearson Education 50 Sistemas Operacionais Modernos – 2ª Edição
  • 51. Considerações sobre Tamanho de Página  Tamanho de página pequeno  Vantagens  Menos fragmentação interna  Menos programa não usados na memória  Desvantagens  Os programas precisam de mais páginas, tabelas de página maiores... Pearson Education 51 Sistemas Operacionais Modernos – 2ª Edição
  • 52. Política de Limpeza  Processo que executa em background, um daemon de paginação  Inspeciona periodicamente o estado da memória  Quando apenas algumas molduras de página estão disponíveis  Seleciona páginas a serem removidas usando um algoritmo de substituição Pearson Education 52 Sistemas Operacionais Modernos – 2ª Edição
  • 53. Espaços Separados de Instruções e Dados Espaço de endereçamento único X Espaços separados de instruções (I) e dados (D) Pearson Education 53 Sistemas Operacionais Modernos – 2ª Edição
  • 54. Páginas Compartilhadas  Dois processos que compartilham o mesmo código de programa e, por conseqüência, a mesma tabela de páginas para instruções Pearson Education 54 Sistemas Operacionais Modernos – 2ª Edição
  • 55. Segmentação  Espaço de endereçamento unidimensional com tabelas crescentes  Uma tabela pode atingir outra Pearson Education 55 Sistemas Operacionais Modernos – 2ª Edição
  • 56. Segmentação  Permite que cada tabela cresça ou encolha, independentemente Pearson Education 56 Sistemas Operacionais Modernos – 2ª Edição
  • 57. Implementação de Segmentação Pura  (a)-(d) Desenvolvimento de fragmentação externa  (e) Remoção da fragmentação via compactação Pearson Education 57 Sistemas Operacionais Modernos – 2ª Edição
  • 58. Segmentação Memória principal Programa Segmento; S.O. Var A: array... C: ... Procedimento X Programa Principal Procedimento X; ... Função Y End; Function Y; Array A ... programa A End; Variável C Begin ... End. ... Pearson Education 58 Sistemas Operacionais Modernos – 2ª Edição
  • 59. Segmentação  A Segmentação possui funcionamento análogo à Paginação.  Mapeamento:  Os segmentos são mapeados através da tabela de mapeamento de segmento (TMS);  O Endereço virtual é formado pelo:  Número do segmento;  Deslocamento dentro do segmento; Pearson Education 59 Sistemas Operacionais Modernos – 2ª Edição
  • 60. Segmentação com Paginação  Técnica onde os processos são divididos logicamente em Segmentos e cada segmento é dividido fisicamente em Páginas.  Endereço virtual é formado por:  Número do segmento;  Número de página dentro do segmento;  Deslocamento dentro da página. Pearson Education 60 Sistemas Operacionais Modernos – 2ª Edição