SóProvas


ID
666133
Banca
FUNCAB
Órgão
MPE-RO
Ano
2012
Provas
Disciplina
Sistemas Operacionais
Assuntos

A cada dia que passa, os programadores necessitam de mais memória e mais programas rodando simultaneamente. Um importante ofensor do gerenciamento de memória é:

Alternativas
Comentários
  • Gabarito está D.

     

    Mas eu não entendi, não sei por que a Segmentação está cacacterizada como um ofensor do gerenciamento de memória.

     

    Não seria fragmentação?

  • Questão nível HARD! Precisa entender porque a melhor resposta é a letra D.

     

    a) Memória Virtual. Um meio que permite aos processos que exigem mais memória do que a disponível fisicamente possam ser executados. A memória virtual utiliza a memória secundária como extensão da memória principal.

    b) Memória Cache: tem o objetivo de melhorar o desempenho da CPU ao armazenar dados necessários para execução dos processos. Desonera a utillização da memória principal.

    c) Páginação.          - A ofensa ao gerenciamento de memória está dentre essas duas. Mas qual a pior? Explico abaixo.

    d) Segmentação.

    e) translation Lookaside Buffer: Funciona como uma memória cache, no processo de paginação, na tradução de end. virtual em físico.

     

    Diferenças entre PAGINAÇÃO e SEGMENTAÇÃO (uma é praticamente o contrário da outra)


    PAGINAÇÃO                                                SEGMENTAÇÃO
    Gera fragmentação interna;                             Gera fragmentação externa;
    Páginas de tamanhos fixos;                             Segmentos podem crescer ou diminuir diferente das páginas que possuem tamanho fixo;
    As páginas não precisam ser consecutivas;        O segmento necessita de um espaço de endereço sequencial;
    Como melhorar? TLB;                                      Como melhorar? Compactação;
    A MMU é auxiliada por "Tabelas de Páginas";     A MMU é auxiliada por "Registradores" (base e limite);
    Mapeamento ocorre por "Tabelas de Páginas".   Mapeamento ocorre por "Registradores".

     

    Na Paginação ocorre o TRASHING!
    Ou seja, toda vez que quero executar um programa, e não o encontro carregado na Memória Principal, tenho que ficar buscando na Memória Secundária e isso fica constantemente gerando "page fault". Logo, o SO fica consumindo mais tempo de processamento substituindo essas páginas do que utilizado a CPU para a execução dos processos.

     

    Na Segmentação ocorre a FRAGMENTAÇÃO EXTERNA!
    Aqui não acontece a fragmentação interna porque o segmento ocupa o tamanho necessariamente que ele precisa. Na segmentação temos a fragmentação externa, pois a segmentação exige um espaço contíguo de memória. Qdo esse espaço é liberado, há o aparecimento desses buracos, causando a fragmentação.
    Para resolver isso necessita realizar-se a Compactação.
    Não confunda aqui com compactação de arquivo, que é fazer com que o arquivo ocupe um espaço menor em disco.
    A compactação de memória é algo completamente diferente, pois esse procedimento faz com que os segmentos livres sejam reagrupados em uma área única, onde novos processos podem ser armazenados. Esse é um processo extremamente oneroso.

     

    Dessa forma, comparando Fragmentação Externa e Trashing, é menos pior que tenhamos o último, pois o trabalho realizado na memória para realizar a COMPACTAÇÃO é muito maior do que o problema gerado pelo TRASHING... e essa é a razão da alternativa D ser a correta, porque o maior ofensor no Ger. de Mem. é a Fragmentação (externa)... que só ocorre na Segmentação.

     

    Dê um pulo na questão Q51024... seus comentários são pertinentes.