Em relação ao sistema operacional e aos recursos a ele asso...
I. Um computador tem em geral uma variedade de diferentes recursos que podem ser adquiridos, mas um recurso é algo que pode ser usado por somente um único processo em um dado instante de tempo.
II. Um recurso preemptível é aquele que pode ser retirado do processo proprietário sem nenhum prejuízo, sendo a memória um exemplo de recurso preemptível.
III. Em alguns sistemas operacionais, o processo é automaticamente bloqueado quando sua requisição de recurso falha; ele será acordado quando o recurso se tornar disponível.
IV. Em alguns sistemas operacionais, a falha na requisição do recurso resulta em um código de erro e, nesse caso, cabe ao processo solicitante esperar um pouco e tentar novamente.
Está correto o que se afirma em
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa Correta: E - I, II, III e IV
Vamos entender por que a alternativa correta é a E, considerando cada afirmativa:
I. Um computador tem em geral uma variedade de diferentes recursos que podem ser adquiridos, mas um recurso é algo que pode ser usado por somente um único processo em um dado instante de tempo.
Essa afirmativa está correta. No contexto dos sistemas operacionais, recursos como CPU, memória e dispositivos de entrada/saída são compartilhados entre processos. Entretanto, muitos desses recursos são exclusivos, ou seja, podem ser utilizados por apenas um processo de cada vez. Isso evita conflitos e inconsistências.
II. Um recurso preemptível é aquele que pode ser retirado do processo proprietário sem nenhum prejuízo, sendo a memória um exemplo de recurso preemptível.
Também está correto. Um recurso preemptível é aquele que pode ser interrompido e retirado de um processo sem causar problemas, permitindo que outro processo o utilize. A memória, por exemplo, pode ser gerida de maneira a ser realocada conforme necessário, utilizando técnicas como swap.
III. Em alguns sistemas operacionais, o processo é automaticamente bloqueado quando sua requisição de recurso falha; ele será acordado quando o recurso se tornar disponível.
Correto novamente. Em muitos sistemas operacionais, quando um processo solicita um recurso que não está disponível, ele é colocado em um estado de bloqueio, aguardando até que o recurso possa ser alocado para ele. Esse é um mecanismo comum para evitar que processos continuem a execução sem os recursos necessários.
IV. Em alguns sistemas operacionais, a falha na requisição do recurso resulta em um código de erro e, nesse caso, cabe ao processo solicitante esperar um pouco e tentar novamente.
Essa afirmativa também está correta. Em certos cenários, quando um recurso não está disponível, o sistema operacional pode retornar um código de erro ao processo. Cabe então ao processo decidir como proceder, frequentemente implementando uma lógica de espera e nova tentativa.
Ao analisar cada afirmativa, vemos que todas estão corretas, confirmando que a alternativa correta é E - I, II, III e IV.
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
Um computador tem em geral uma variedade de diferentes recursos que podem ser adquiridos, mas um recurso é algo que pode ser usado por somente um único processo em um dado instante de tempo.
Se o recurso fosse um processador, tudo bem, mas não poderá a memória (que também é um recurso) em determinado instante ser usada por vários processos (prontos e em espera, por ex.)?
Obrigado.
Apesar de mais de um processo poder estar na memória principal, só um pode acessá-la por vez. Acho que foi isso que o item quis dizer. O mesmo vale para o HD e outros recursos de hardware.
@Thaise
Processos tbm podem compartilar área de memória. O compartilhamente não precisa ser feito exclusivamente por threads. A segmentação, por exemplo, é um esquema de gerenciamento de memória que facilita o compartilamento de determinada área da memória entre dois ou mais processos. Por exemplo: uma área de dados somente para leitura ou que possua código reentrante. Mesmo assim, somente um processo (ou thread) poderá acessar o recurso por vez.
Espero ter ajudado.
Em relação ao item I, pense no recurso, não como um hardware, e sim como uma "funcionalidade". Exemplificando o acesso a memória, poderiamos ter um recurso como sendo a variavel "X" e neste momento um determinado processo "P" pega os dados desta variavel para alterar seu valor... ou seja, neste mesmo momento, nenhum outro processo ira poder acessar esta variavel X, pois ela é um recurso exclusivo de "P"... quando "P" liberar o recurso, outros processos irao poder acessar o X.
Nao sei se fui claro, mas a linha é mais ou menos essa!
bons estudos!
Concordo com o Fernando.
A generalização da afirmativa I é errada. Isso é certo se considerarmos a CPU, mas a memória não.
gabarito bem estranho da FCC.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo