Buscar

lista de exercicios 4 - processos e threads partes 2 e 3

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 6 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 6 páginas

Prévia do material em texto

Sistemas 
Operacionais 
Professor: Lucas Cambuim  
alunos: Edvaldo Ribeiro, 
Elvison Victor 
Lista de exercícios 4  
Processos e threads partes 2 e 3 
 
 
1. ​Enumere pelo menos três motivos para adotar múltiplos threads ao invés de múltiplos processos 
 
- Simplificação do modelo de programação: Em muitas aplicações ocorrem múltiplas atividades 
simultaneamente, e algumas delas podem ser bloqueadas de tempo em tempos. Ao decompor uma 
aplicação em múltiplos threads sequenciais que executam quase em paralelo, há uma simplificação do 
modelo de programação. 
 
- Threads são mais rápidos de criar e destruir se comparado aos processos, uma vez que não possuem 
quaisquer recursos associados a eles. 
 
- Desempenho: quando há grande quantidade de computação e de E/S, os threads permitem que essas 
atividades se sobreponham, acelerando a aplicação. 
 
 
 
2. ​Diga as vantagens e desvantagens de se implementar threads no espaço do usuário em relação 
a threads no espaço do núcleo 
Modo usuário 
Vantagens : 
- possibilidade de sistema operacional que não suporta threads, implementar aplicações multithreads. 
- Utilizando a biblioteca, múltiplos threads podem ser utilizados, compartilhando o mesmo espaço de 
endereçamento do processo e outros recursos. 
- Threads em modo usuário são rápidos e eficientes, por dispensar acesso ao kernel do sistema para a 
criação, eliminação, sincronização e troca de contexto das threads. 
- A biblioteca oferece todo o suporte necessário em modo usuário, sem a necessidade de chamadas ao 
sistema 
- O sistema operacional desconhece a existência dos threads, sendo responsabilidade da biblioteca 
particionar o tempo de CPU do processo (timeslice) entre os diversos threads existentes. 
- Como cada aplicação possui sua cópia da biblioteca, é possível implementar uma política de 
escalonamento diferente, em função da sua necessidade. 
 
Desvantagens: 
- Threads em modo usuários são difíceis de implementar 
- compartilhamento de variáveis da biblioteca multithread sem a devida sincronização. 
 
Modo Kernel 
Vantagens: 
- O sistema operacional (escalonador) sabe da existência de cada thread e pode escalona-los 
individualmente. 
- O sistema operacional (escalonador) sabe da existência de cada thread e pode escalona-los 
individualmente. 
- No caso de múltiplos processadores, os threads de um mesmo processo podem ser 
executados simultaneamente. 
- compartilhamento de variáveis, tratamento de sinais, chamadas síncronas, escalonamento em 
múltiplos processadores. 
 
Desvantagens: 
- O grande problema para pacotes em modo kernel é o seu desempenho, sendo da ordem de 
dez vezes mais lento que o modo usuário. 
- Enquanto que pacotes em modo usuário todo tratamento é feito sem a ajuda do sistema 
operacional, ou seja, sem a mudança do modo de acesso (usuário-kernel-usuário), pacotes em 
modo kernel utilizam chamadas ao sistema e consequente mudança de modo de acesso. 
 
 
3. ​Descreva o que é implementação de threads em modo híbrido e sua principal vantagem. 
Nesta arquitetura existe a ideia de combinar as vantagens de threads implementados em modo usuário e modo 
kernel. Os threads em modo kernel chamados de TMKs e os de modo usuário de TMUs. Um processo pode ter 
vários TMKs e, por sua vez, um TMK pode ter vários TMUs. O núcleo do sistema reconhece os TMKs e pode 
escaloná-los individualmente. Um TMU pode ser executado em um TMK, em um determinado momento, e no 
instante seguinte ser executado em outro. 
O programador desenvolve a aplicação em termos de TMUs e especifica quantos TMKs estão associados ao 
processo. Os TMU são mapeados em TMK enquanto o processo está sendo executado. 
O programador pode utilizar apenas TMKs, TMUs ou uma combinação de ambos. A principal vantagem do pacote 
híbridoé possuir maior flexibilidade,porém também apresenta problemas herdados de ambas as implementações. 
Por exemplo, quando um TMK realiza uma chamada bloqueante, todos os TMUs são colocados no estado de 
espera. TMUs que desejam utilizar vários processadores devem utilizar diferentes TMKs, o que influenciará no 
desempenho. 
 
4. ​Qual a vantagem da thread Pop-up em relação a uma thread operando a maior parte do tempo em 
modo bloqueado. 
- Por serem criadas novas threads no caso de threads pop-up, não existem: registradores, pilhas ou 
qualquer coisa a ser restaurada, e com isso a criação de uma nova thread é bem mais rápida. 
2

Outros materiais