Considere a implementação de um compilador em que as etapas de análise Iéxica e sintática possam compartilhar o mesmo processador de forma concorrente. Considere, ainda, uma solução para o problema, cujo pseudocódigo é mostrado abaixo. O analisador Iéxico lê os lexemas e identifica os respectivos tokens do arquivo-fonte por meio da chamada ao procedimento leia. O analisador sintático verifica a sequência dos tokens por meio da chamada ao procedimento Case. Os dois processos compartilham a constante N e as variáveis bu f deE, ve z e cont.constante N = 10;inteiro buffer N], vez = 0, cont = 0; Analísador Lexico:01inteiro token, in — 0; 02enquanto verdadeiro faça 03Leia(token);04enquanto cont = N - 1 aguarde;05enquanto vez = 1 aguarde;06buffer[in]token;07contcont + 1;08vez1;09in = (in + 1) mod N;10im enquantoAnalisador Sintatico:11inteiro token, out = 0;12enquanto verdadeiro faça13enquanto cont — 0 aguarde;14enquanto vez = 0 aguarde;15token buffer[out] ;16contcont - 1:17vez0;18out — (out + 1) mod N;19Case(token);20Hm enquantoA partir da análise da solução, avalie as asserções a seguir e a relação proposta entre elas.I.A eliminação da variável cont e das linhas 4, 7,13 e 16 causa erro de sincronismo entre os processos.PORQUEII.A variável cont é responsável pelo controle do acesso à seção crítica do código. A respeito dessas asserções, assinale a opção correta.@ As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I.@ As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa correta da I. Oasserção I é uma proposição verdadeira, e a II uma proposição falsa.O A asserção I é uma proposição falsa, e a II uma proposição verdadeira.O As asserções I e II são proposições falsas.
#ENADE
Respostas
respondido por:
2
As asserções I e II são proposições falsas. Letra E.
Para a resolução da questão, é preciso destacar que um processo que realiza a execução de um analisar léxico que faz uso da variável cont para a indicação de que se pode colocar um token no buffer, em caso dele estar cheio e a variável para indicação de que é a vez do processo executar.
Em que pode-se utilizar outro processo para a execução concorrente da variável cont para que não seja feita a leitura dos token do buffer.
Bons estudos!
Perguntas similares
5 anos atrás
5 anos atrás
5 anos atrás
8 anos atrás
8 anos atrás
9 anos atrás
9 anos atrás