-
Gabarito: B.
Os conceitos de condição de corrida e região crítica, assim como ocorre com deadlock e starvation, podem confundir um pouco, dependendo de como o assunto é abordado pela banca.
Condição de corrida [situação] - processos querendo acessar uma área de memória compartilhada ao mesmo tempo.
Região crítica [área] - parte do programa que acessa dados compartilhados.
-
Trata-se de uma anomalia, em que o SO precisa realizar uma tratativa para evitar conflitos.
Isso normalmente acontece qdo há o compartilhamento de algum recurso entre dois processos, pode ser um arquivo, uma impressora... qquer necessidade que possa afetar a conclusão de um processo.
Isso é indesejável na condição de um sistema.
Qdo a utilização do recurso é exclusiva, certamente não ocorre a "condição de corrida".
Letra B
-
swapping está relacionado com memória
seção crítica é parte de código que realiza acesso a um recurso de forma compartilhada
escalonamento de processo é uma função do kernnel que seleciona determinado processo para execução segundo algum algoritmo.
a situação em que vários processos realizam ações de leitura/escrita de algum dado compartilhado e que o resultado final depende de quando e de quem as executa é uma situação de concorrência.
-
Condição de corrida:
Dois ou mais processos estão lendo ou escrevendo algum dado compartilhado cujo resultado final depende de quem executa precisamente e quando.
Fonte: SO Modernos 3° edição - Tanenbaum
@papirobizurado
-
CONDIÇÃO DE CORRIDA:
Conjunto de eventos que geram resultados não determinísticos.
Quando dois ou mais processos estão lendo ou gravando dados compartilhados e a ordem de execução interfere no resultado final.