Simulado Tribunal Regional Eleitoral do Pará - TRE/PA | Técnico Judiciário - Operação de Computadores | 2019 | Questão 25

Fundamentos de Computação / Organização e arquitetura de computadores / Componentes de um computador (hardware e software)


Quando um processo quer imprimir um arquivo na impressora, insere o nome do arquivo em um diretório de spool. Um outro
processo verifica periodicamente se existe algum arquivo a ser impresso e, se houver, o imprime e remove seu nome do
diretório. Suponha que o diretório de spool tenha vagas numeradas 0, 1, 2,... etc e que cada vaga é capaz de conter um nome
de arquivo. Suponha que existem duas variáveis compartilhadas: Out, que indica o próximo arquivo a ser impresso e Free, que
indica a próxima vaga livre do spool. Em um dado instante as vagas anteriores estão ocupadas e Free = 7. Quase
simultaneamente, os processos A e B decidem colocar um arquivo na fila de impressão e ocorre a sequência de ações:


1. O processo A lê Free e armazena o valor 7 na sua variável local chamada proximavagalivre.

2. Em seguida ocorre uma interrupção do relógio e a CPU decide que o processo A já executou o suficiente e alterna para o
processo B.

3. O processo B também lê Free e obtém o valor 7. B armazena 7 na sua variável local proximavagalivre.

4. Neste momento, ambos os processos têm a informação de que a vaga livre é a 7.

5. B prossegue sua execução, armazenando o nome do seu arquivo na vaga 7 e atualiza Free para 8.

6. Em seguida, o processo A executa novamente de onde parou. Verifica sua variável local proximavagalivre, que é
igual a 7, e então escreve o nome do seu arquivo na vaga 7. O processo A atualiza o valor de Free para 8.



Nesta situação,

Voltar à pagina de tópicos Próxima

Fonte: ANALISTA JUDICIáRIO - ESPECIALIDADE INFORMáTICA/INFRAESTRUTURA / TRF 5ª / 2017 / FCC