Sistemas Operacionais
Por: ClebersonCardoso • 18/11/2019 • Trabalho acadêmico • 498 Palavras (2 Páginas) • 176 Visualizações
1a) Os threads de usuário são implementadas pela aplicação e não pelo sistema
operacional, neste modo, o SO não sabe da existência de múltiplos threads, sendo
responsabilidade da aplicação gerenciar e sincronizar os diversos threads existentes, já os
threads de kernel são implementadas pelo núcleo do SO, através de chamadas a rotinhas
do sistema que oferecem todas as funções de gerenciamento.
2a) Threads são partes de um processo que compartilham o mesmo espaço de
endereçamento, por conta disso a comunicação entre eles pode ser realizada de forma
rápida e eficiente, segundo Vahalia enquanto um processo tem tempo de criação igual a
1700, um thread tem 52.
3a) Por compartilharem o mesmo espaço dentro de um processo, a comunicação e troca
de dados são realizadas de maneira mais simples e rápida. Por outro lado, existe uma
desvantagem, por estarem no mesmo espaço os threads conseguem alterar os dados dos
demais.
4a) Programas concorrentes com múltiplos threads são mais rápidos do que programas
concorrentes implementados com múltiplos processos, pois operações de criação, troca
de contexto e eliminação dos threads geram menor overhead, e por dividirem o mesmo
espaço dentro de um processo a comunicação acaba sendo mais rápida.
5a) No modelo de usuário existe uma pilha por processo, dessa forma o SO gerencia cada
processo como se existisse apenas um único thread, quando um thread é colocado em
estado de espera, todo o processo é colocado também, mesmo havendo outras threads
executando ou pronta para execução. Como os threads de modo kernel são implementadas
pelo processo SO existem um pilha por thread, o escalonamento é feito de forma
individual.
6a) Seção Crítica é uma área de código de um algoritmo que acessa um recurso
compartilhado que não pode ser cedido concorrentemente por mais de uma linha de
execução. É usada geralmente quando um programa multitarefa deve atualizar diversas
variáveis relacionadas sem que outra linha de execução faça modificações conflitantes
nos dados. É importante para a implementação de exclusão mútua, usada para evitar
condições de corrida.
7a)
a) A Exclusão Mútua é um método usado para que dois ou mais processos acessem um
mesmo recurso simultaneamente. Para isso, enquanto um processo estiver acessando
...