SóProvas


ID
695206
Banca
FCC
Órgão
TRF - 2ª REGIÃO
Ano
2012
Provas
Disciplina
Sistemas Operacionais
Assuntos

Quando segmentos de memória alocados a processos e segmentos de memória livres são mantidos em uma lista ordenada por endereço, é possível utilizar diversos
algoritmos para alocar memória a um processo recém criado. Presumindo que o gerenciador de memória saiba o tamanho de memória que deve ser alocada ao processo, ele procurará ao longo da lista de segmentos de memória por um segmento livre que seja suficientemente grande para esse processo. O segmento é quebrado em duas partes, se for o caso, sendo uma parte alocada ao processo e a sobra transforma-se em um segmento de memória livre. O texto trata do algoritmo

Alternativas
Comentários
  •  

    Algoritmo da primeira alocação (first fit): procura-se pelo primeiro espaço na lista o suficientemente grande para armazenar o processo. É um algoritmo rápido pois ele gasta o tempo mínimo em procura. Se o processo não ocupa todo o espaço o restante é disponibilizado como buraco na lista. A pesquisa por espaço sempre inicia na parte baixa de memória, independentemente dos locais escolhidos para alocar os dados.
    Algoritmo da melhor alocação (best fit): busca em toda a lista o espaço cujo o tamanho seja o mais próximo possível do tamanho do processo. Este algoritmo é mais lento que o anterior pois precisa pesquisar em toda a lista para descobrir qual a melhor opção.
    A algoritmo da próxima alocação (next fit): semelhante ao first-fit, só que a próxima alocação inicia com uma busta a partir da página onde terminou a alocação anterior e não da parte baixa da memória.
    Algoritmo da pior alocação (worst fit): procura pelo maior espaço capaz de armazenar o processo, de tal forma que o espaço restante seja grande o suficiente para armazenar outro processo.
     
  • Eu entendi que a lista está ordenada, porém ele procura um espaço "suficientemente grande" ao longo da lista, e não o primeiro que acha nesta condição. Esta questão foi muito mal formulada.

  • Essa questão foi muito mal formulada, pois de acordo com o livro do Galvin, Gagne e Silberschatz na página 171, quando estão falando de "Gerenciamento de memória" e cita de forma bem clara: "Primeiro apto (First Fit) - Aloca o primeiro intervalo que seja suficientemente grande. A busca pode começar tanto no início do conjunto de intervalos como na localização onde a busca anterior pelo primeiro apto terminou. Podemos encerrar a busca assim que encontrarmos um intervalo livre que seja suficientemente grande."
  • Como satisfazer a uma requisição de tamanho n a partir de uma lista de blocos livres

    •  First-Fit: Aloca o primeiro bloco com tamanho suficiente

    •  Best-Fit: Aloca o menor bloco com tamanho suficiente; é necessário procurar a lista inteira, a menos que esteja ordenada por tamanho. Produz o menor bloco restante

    •  Worst-Fit: Aloca o maior bloco; também é necessário procurar a lista inteira. Produz o maior bloco restante. 

    First-Fit e Best-Fit são melhores que Worst-Fit em termos de velocidade e utilização de armazenamento.


  • questão mal explicada, eu entendi com esse trecho: "ele procurará ao longo da lista de segmentos de memória por um segmento livre que seja suficientemente grande ..." que ele vai percorrer todos os segmentos de memoria, achar o que seja suficientemente grande e alocar. o frst-fit encontra o primeiro que seja suficientemente grande e aloca, e encerra a busca, o best-fit, procura o espaço mais próximo ao necessário, que seja grande o suficiente, mas antes ele percorre toda a lista.

  • Conforme o enunciado da questão, confundi com a técnica de Best-Fit.

  • É uma questão de interpretação, quando eu li a primeira vez eu não tinha certeza da resposta correta, mas após analisar esse trecho: "ele procurará ao longo da lista de segmentos de memória por um segmento livre que seja suficientemente grande para esse processo.", cheguei a conclusão que a resposta correta é o First Fit letra C.
    Já que esse algoritmo ordena a lista por endereço, e a medida quando ele sai percorrendo a lista, no momento que ele encontrar um espaço que seja grande o suficiente para alocar seu processo ele aloca e para por aí mesmo!

  • First fit -> ganha em velocidade para alocação do processo, mas pode prejudicar o desempenho. É aquele cara que chega no auditório e senta na primeira cadeira da ponta da fileira mesmo que tenham outras cadeiras vazias. A medida que outras pessoas vão chegado o negócio vai ficando caótico.

    Best fit -> perde em velocidade de alocação do processo em prol da manutenção de um bom desempenho ao longo da execução do programa. É o cara que chega no auditório e percorre todo o espaço a procura de um lugar para sentar de modo que não atrapalhe ninguém, ou o mínimo de pessoas. E esse cara gosta de ficar perto das pessoas.

    Worsk fit -> perde em velocidade de alocação do processo e privilegia o maior segmento vazio. É o cara que chega no auditório, percorre todo o espaço e escolhe aquele lugar mais vazio. Lá, ele vai atrapalhar o maior número de pessoas ou, talvez, não atrapalhe ninguém. Depende do quórum da palestra.

  • O unico que procurará ao longo da lista e o First fit;

  • Mal formulada, deveria informar que aloca no primeiro segmento livre. O termo "SUFICIENTEMENTE GRANDE" apenas, quer dizer muita coisa.

  • A interpretação ficou sutil... requer atenção.

    .
    Com base no argumento "procurará por um segmento livre", vamos analisar:
    Ele não mencionou o segmento de tamanho mais adequado, por isso descarta-se a letra C (BF);
    Como não citou uma referência ao último armazenamento, então descarta-se a letra A (NF);
    Ele tbém não cita o maior espaço entre todos os disponíveis... então descarta-se a letra D (WF);
    Logo só pode ser a letra B.
    Não existe o algoritmo presente na letra E.

    .

    FF - procurará o primeiro espaço livre suficiente que caiba o processo
    NF - procurará o primeiro espaço livre suficiente que caiba o processo e que seja de forma mais contígua possível ao seu último armazenamento.
        -> Se for o primeiro processo, será o primeiro espaço na MP que encontrar. Ele guarda a posição, por meio de ponteiro, de seu último armazenamento para a próximo processo a ser alocado.
    BF - Melhor alocação baseada no espaço mais adequado, com o tamanho mais próximo possível do tamanho do processo caso não encontre um espaço igual ao tamanho do processo.
    WF - Alocação baseada no maior espaço dentre todos os espaços presentes, e que caiba o processo.

     

  • b-

    first fit é um tipo de greedy algorithm. Ele pega uma liga de blocos disponiveis e aceita o 1° com tamanho suficiente para acomodar o processo. Se o bloco for muito maior do que necessario, ele é dividido, e o bloco sem nada colocado na lista como disponivel