Concorrência, Deadlock e Starvation em Sistemas Operacionais: Conceitos e Questões

ComputaçãoAtualizado em 4,76 KB

Resumo

O texto apresenta os conceitos de concorrência em sistemas operacionais multiprogramáveis e explica situações como deadlock, starvation e condição de corrida. Também aborda a fragmentação interna da memória e traz questões de revisão sobre processos, swapping, chamadas de sistema e região crítica.

Pontos-chave

  • Sistemas multiprogramáveis surgiram para superar o desperdício de recursos (processador, memória e E/S) dos sistemas monoprogramáveis.
  • Deadlock é um impasse em que dois ou mais processos ficam bloqueados, esperando uns pelos outros.
  • Deadlock pode ocorrer mesmo com um único processo que use múltiplas threads que disputam recursos entre si.
  • Starvation ocorre quando um processo nunca consegue acesso a um recurso compartilhado.
  • Condição de corrida é uma falha em que o resultado depende inesperadamente da sequência ou sincronia de eventos.
  • Fragmentação interna acontece quando um programa não ocupa totalmente a partição de memória alocada.
  • Região crítica é a parte do programa que gera disputa por um recurso compartilhado.

Teste-se

Conceitos de Concorrência

O conceito de concorrência é o princípio básico para o projeto e a implementação dos sistemas operacionais multiprogramáveis.
• Os sistemas multiprogramáveis surgiram a partir de limitações dos sistemas monoprogramáveis, nos quais recursos computacionais como processadores, memórias e dispositivos de entrada e saída eram utilizados de maneira pouco eficiente, limitando o desempenho dessas arquiteturas.
Muitos desses recursos de alto custo permaneciam ociosos por longos períodos.
• Nos sistemas monoprogramáveis há um evidente desperdício dos recursos do processador, visto que esse permanecia ocioso enquanto a entrada de dados era efetuada, por exemplo.
• A memória principal também é subutilizada nos sistemas monoprogramáveis, uma vez que apenas um programa por vez era carregado, deixando grandes áreas livres. Nos sistemas multiprogramáveis, vários programas podem estar na memória, concorrendo pelo acesso ao processador


Deadlock em Sistemas Operacionais

Deadlock, no contexto de sistemas operacionais, refere-se a uma situação em que ocorre um impasse, e dois ou mais processos ficam impedidos de continuar suas execuções - ou seja, ficam bloqueados, esperando uns pelos outros.
O deadlock (interbloqueio, blocagem, impasse) ou melhor nunca vai acontecer. Pode ocorrer mesmo que haja somente um processo no SO, considerando que este processo utilize múltiplos threads e que tais threads requisitem os recursos alocados a outros threads no mesmo processo;
O deadlock independe da quantidade de recursos disponíveis no sistema;
Normalmente o deadlock ocorre com recursos, tais como dispositivos, arquivos, memória etc. Apesar de a CPU também ser um recurso para o SO, em geral é um recurso facilmente preemptível, pois existem os escalonadores para compartilhar o processador entre os diversos processos, quando trata-se de um ambiente multitarefa.


Starvation (morrer de fome) é a situação onde um processo nunca consegue ter acesso a um recurso compartilhado. A política nesta situação é garantir que todos os processos tenham o mesmo tempo de uso do processador.


Racing Conditions (Condição de Corrida)
Uma condição de corrida é uma falha num sistema ou processo em que o resultado do processo é inesperadamente dependente da sequência ou sincronia doutros eventos


Fragmentação da Memória ou Fragmentação Interna


A fragmentação interna acontece quando um programa não ocupa totalmente a partição em que foi alocado.


Em um diagrama de estados do processo, considerando 5 estados possíveis, o estado em que são geradas as estruturas de dados e alocado espaço para o processo, é conhecido por: RESPOSTA; INICIO
O sistema operacional é importante porque; RESPOSTA; ele organiza e administra os recursos do computador para que seja possível usá-lo
A capacidade de execução de várias tarefas permitindo um melhor aproveitamento de recursos, é conhecida como: RESPOSTA; concorrência
A maioria dos sistemas operacionais da atualidade utiliza o recurso chamado Memória Virtual. Uma das funções da Memória Virtual é a paginação ou troca (swapping). Assinale a alternativa que contém a afirmação correta a respeito do swapping. RESPOSTA; Swapping possibilita ao sistema operacional e às aplicações o uso de mais memória do que a fisicamente existente em um computador.
Sobre os processos classificados como do tipo foreground, marque a opção verdadeira: RESPOSTA São processos que podem realizar comunicação direta com o usuário durante sua execução.
Mecanismo usado pelo programa para requisitar um serviço do sistema operacional, ou mais especificamente, do núcleo do sistema operacional RESPOSTA; chamada de sistema
A instância de um programa em execução. Ou ainda, a unidade de carga e alocação de uma tarefa em um sistema operacional, isto é, um programa é carregado para a memória que aloca uma determinada área para código e dados. Essa definição se refere a: RESPOSTA; Processo
Em programação concorrente, quando um processo nunca é executado ("morre de fome"), pois processos de prioridade maior sempre o impedem de ser executado, podemos concluir que ocorreu ? RESPOSTA; Starvation
Como podemos definir Região crítica ou seção crítica ? RESPOSTA: é a parte do programa que gera disputa de um recurso compartilhado.
Quais são as duas principais funções de um sistema operacional? RESPOSTA: Oferecer uma interface mais amigável ao usuário e gerenciar os recursos de hardware

Baixar

PDF Word HTML

Perguntas frequentes

O que é deadlock em sistemas operacionais?

Deadlock é uma situação de impasse em que dois ou mais processos ficam impedidos de continuar sua execução, bloqueados e esperando uns pelos outros. Ele normalmente ocorre com recursos como dispositivos, arquivos e memória.

O que é starvation?

Starvation, ou 'morrer de fome', é a situação em que um processo nunca consegue acesso a um recurso compartilhado. Uma política para evitá-la é garantir que todos os processos tenham o mesmo tempo de uso do processador.

O que é fragmentação interna?

Fragmentação interna acontece quando um programa não ocupa totalmente a partição de memória em que foi alocado. Parte do espaço fica desperdiçada dentro da própria partição.

Teste-se

Cartões de revisão

Clique em um cartão para ver a resposta.

Teste

1. Qual é o principal objetivo dos sistemas multiprogramáveis em relação aos monoprogramáveis?
2. O que caracteriza um deadlock?
3. Segundo o texto, o deadlock pode ocorrer em qual situação?
4. Qual termo descreve a situação em que um processo nunca tem acesso a um recurso compartilhado?
5. Como se define uma condição de corrida?
6. O que é a região crítica de um programa?

Perguntas geradas com IA a partir do documento: verifique as respostas com o texto.