SóProvas


ID
334630
Banca
FCC
Órgão
TRT - 23ª REGIÃO (MT)
Ano
2011
Provas
Disciplina
Sistemas Operacionais
Assuntos

São funções do gerenciador de memória:

I. Controlar quais as unidades de memória estão ou não estão em uso, para que sejam alocadas quando necessário.

II. Liberar as unidades de memória que foram desocupadas por um processo que finalizou.
III. Tratar do Swapping entre memória principal e memória secundária.

Está correto o que se afirma em:

Alternativas
Comentários
  • Segundo Tanenbaum:

    O gerenciador de memória deve ser capaz de controlar que parte da memória está em uso (e quais não estão), alocar memória para processos quando eles necessitam e desalocar quando eles terminam e, principalmente, gerenciar a troca entre a memória principal e o disco, quando a memória principal é muito pequena para armazenar todos os processos.

  • A redação do enunciado influencia bastante!

    "I. Controlar quais as unidades de memória estão ou não estão em uso, (...) "
    é diferente de, conforme comentario do colega acima:
    "O gerenciador de memória deve ser capaz de controlar que parte da memória está em uso"

    Você tem N módulos de memória no computador, X deles estão pifados, o pc ligar numa boa e depois o gerenciador de memória, em execução, sabe qual unidade de memória ele tem que alocar!

  • A alocação pode ser:

    Estática: criada programa é compilado. o Sistema operacional o lê e cria um processo, programa em execução, recebendo um espaço na memória. Para alocação estática, o compilador deve saber o total de memória livre, mandar esta informação para o SO ele criar um segmento de dados.

    Alocação Dinâmica: permite Swapping. Os objetos alocados dinamicamente podem ser criados e liberados a qualquer momento, em qualquer ordem. A memória dinâmica  para objetos é heap. Em linguagem C, organização do heap é lista encadeada de blocos livres, o que causa fragmentação dos blocos. Em linguagens com gerenciamento automático (Java), heap depende da parte do sistema que faz esse gerenciamento - garbage collection.

    Fragmentacao pode ser


    Interna: quando o processo não ocupa todos blocos de memória (páginas) reservados quando o tamanho do processo não é um múltiplo do tamanho da página de memória.

    Externa: lacunas cada vez menores de espaços entre as páginas quando os programas terminam. Quando estes espaços sao pequenos demais para alocarem um processo, ficam inutilizados.