Logo Passei Direto
Buscar

Respostas Lista 2 SO

Gabarito da Lista 2 (Sistemas Operacionais): define processo e thread; explica registradores, pilhas e preempção; discute threads em espaço do usuário; aborda condições de corrida, sincronização (semáforos, mutexes, monitores), exclusão mútua, desabilitar interrupções e espera ocupada.

Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

<p>Respostas Lista 2 SO:</p><p>1. Um processo é uma instância de um programa em execução, com seu</p><p>próprio espaço de endereço, conjunto de recursos e um ou mais threads.</p><p>Uma thread, por sua vez, é uma unidade de execução dentro de um</p><p>processo, compartilhando o espaço de endereço e alguns recursos com</p><p>outras threads do mesmo processo, mas possuindo seu próprio contador de</p><p>programa, pilha e registradores.</p><p>2. Cada thread necessita de seu próprio conjunto de registradores para manter</p><p>seu estado de execução de forma independente. Compartilhar os</p><p>registradores impediria a execução simultânea de múltiplas threads.</p><p>3. Sim, uma thread pode sofrer preempção por uma interrupção do relógio,</p><p>mesmo em um modelo de threads no espaço do usuário. Isso ocorre para</p><p>garantir que todas as threads tenham a oportunidade de executar.</p><p>4. A vantagem de implementar threads no espaço do usuário é a maior</p><p>flexibilidade e controle para o programador. A desvantagem é o menor</p><p>desempenho e a possibilidade de comprometer todo o processo em caso de</p><p>falha em uma thread.</p><p>5. Cada thread precisa de sua própria pilha para armazenar informações locais,</p><p>endereços de retorno e outros dados temporários, garantindo a</p><p>independência de seu contexto de execução.</p><p>6. Condições de corrida ocorrem quando duas ou mais threads acessam um</p><p>recurso compartilhado simultaneamente e a ordem de acesso afeta o</p><p>resultado final. Para evitá-las, utilizam-se mecanismos de sincronização</p><p>como semáforos, mutexes ou monitores.</p><p>7. Exclusão mútua significa que apenas uma thread pode acessar um recurso</p><p>compartilhado por vez. Ela é empregada para evitar condições de corrida e</p><p>garantir a consistência dos dados.</p><p>8. Não, uma condição de corrida só ocorre quando há acesso simultâneo a um</p><p>recurso compartilhado.</p><p>9. Desabilitar interrupções pode levar à perda de resposta do sistema,</p><p>deadlocks e violações de segurança.</p><p>10.A espera ocupada é ineficiente pois desperdiça ciclos de CPU e pode causar</p><p>problemas de prioridade.</p>

Mais conteúdos dessa disciplina