Quando um job chega para ocupar uma partição de memória, ou...

Próximas questões
Com base no mesmo assunto
Q111573 Sistemas Operacionais
Quando um job chega para ocupar uma partição de memória, ou ele é colocado em uma fila de entrada da menor partição capaz de armazená-lo ou ele é colocado em uma fila de entrada única para todas as partições.
No contexto de gerenciamento de memória trata-se de uma afirmativa típica da

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é: A - Multiprogramação com partições fixas.

Vamos entender o tema abordado nesta questão. No contexto de gerenciamento de memória, um sistema operacional precisa alocar a memória disponível para diferentes processos (ou jobs) de maneira eficiente. Existem várias estratégias para fazer isso, e a questão específica fala sobre a situação em que um job é colocado em uma partição de memória adequada ou em uma fila de entrada única para todas as partições.

O conceito de multiprogramação refere-se ao gerenciamento de múltiplos processos pela CPU, permitindo que vários programas (ou partes de programas) estejam em execução "simultaneamente". A multiprogramação com partições fixas é uma técnica que divide a memória principal em várias partições de tamanho fixo. Cada partição pode conter exatamente um job, e o sistema operacional tenta encontrar a partição que possa acomodar o job de forma eficiente.

Na alternativa A, a descrição se encaixa perfeitamente no conceito de partições fixas. Quando um job chega, ele é alocado na menor partição capaz de contê-lo ou é colocado em uma fila de entrada única para todas as partições. Isso é característico dos sistemas de multiprogramação onde as partições são predefinidas e fixas. Portanto, a resposta correta é a alternativa A.

Outras alternativas, como monoprogramação (B e D), não são adequadas porque se referem a sistemas onde apenas um job é executado por vez e não há necessidade de gerenciar múltiplas partições de memória. A multiprogramação com troca (C) envolve a troca de jobs dentro e fora da memória, geralmente utilizando técnicas como paginação ou segmentação, o que não é mencionado na questão. Já a multiprogramação com partições dinâmicas (E) indica que as partições podem variar de tamanho, diferentemente das partições fixas abordadas na questão.

Espero que esta explicação tenha esclarecido o conceito de multiprogramação com partições fixas e como ele se aplica à questão apresentada. Se tiver alguma dúvida, estou à disposição para ajudar!

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Segue um resumo do livro do Tanenbaum a respeito do tema:

Gerenciamento Básico de Memória

Os Sistemas de Gerenciamento de Memória podem ser divididos em duas classes: aqueles que movem processos de um lado para outro entre a memória principal e o disco durante a execução (fazendo troca e paginação) e aqueles que não o fazem. As próximas seções apresentam os mesmos.

 

1. Monoprogramação sem troca ou paginação

Este é o esquema mais simples possível: só é possível executar um programa de cada vez, compartilhando a memória entre o programa e o S.O. Existem três variações para este modelo. Quando o sistema está organizado desta maneira somente um processo por vez pode estar executando.

 

2. Multiprogramação com Partições Fixas

A maneira mais simples de implementar a multiprogramação, em termos de memória, é dividir a mesma em n partições desiguais. Quando um job chega, há duas possibilidades: ele é colocado em uma fila de entrada da menor partição capaz de armazená-lo ou ele é colocado em uma fila de entrada única.

Uma vez que as partições são fixas, qualquer espaço não ocupado por um job é perdido. A desvantagem de classificar os jobs em entradas separadas é apresentada quando uma fila para uma partição grande está vazia e filas para partições pequenas estão muito cheias. Uma possível alternativa é colocar todos os jobs em uma única fila de entrada e sempre que uma partição encontra-se livre, alocar para o próximo job da fila. Para não desperdiçar espaço pode-se realizar uma pesquisa para selecionar o job que melhor se ajuste ao tamanho da partição. No entanto, isto pode deixar jobs pequenos de fora, o que também é indesejável. Neste caso, é interessante dispor de pelo menos uma partição pequena para jobs pequenos ou criar uma regra que limite o número de vezes que um job pode ser ignorado, obrigando que o mesmo seja selecionado em um determinado momento.

Complementando o comentário do colega acima, segue uma imagem do livro do Tanembaum.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo