Threads e Escalonadores
Threads e Escalonadores
Threads e Escalonadores
ina
Sistemas Operacionais
- Jogos e vdeos: pode ser modelado com linhas de execuo diferentes, sendo uma para
desenho de imagem e outra para udio, logo um thread seria para tratar das rotinas de
desenho e o outro thread para tratar a rotina do udio.
8. Quais so as duas diferenas entre threads de usurio e de kernel? Em que circunstncias
um tipo melhor do que o outro?
Os threads de usurio tm aes mais limitadas em comparao do kernel, onde o mesmo tem
aes de execuo apenas de um subconjunto de instrues, acesso limitado a atributos das
instrues, funes que envolvem I/O e proteo de memria no so acessveis. J no modo
kernel a CPU pode executar qualquer instruo (acesso irrestrito) e tambm tem acesso direto
ao hardware.
Em modo usurio os programas de sistemas ou utilitrios permanecem no controle do usurio,
pois quando ocorre system calls (chamadas de sistema) o controle passado para o sistema
operacional, em que o processo passa a executar em modo kernel.
9. Descreva as aes tomadas por um kernel para trocar contexto entre threads de kernel.
Os threads de kernel, so escalonados diretamente pelo sistema operacional, comumente so
mais lentos que os threads em modo usurio, pois a cada chamada eles necessitam consultar
o sistema, exigindo assim a mudana total de contexto do processador, memria e outros
nveis necessrios para alternar um processo.
10. Que recursos so usados quando um thread criado? Como eles diferem daqueles usados
quando um processo criado?
Os threads quando criados utilizam recursos como manipuladores de excees, prioridade de
escalonamento, contexto de threads, registradores de mquina, pilha do kernel, ambiente de
threds e pilha do usurio no espao de endereamento do processo.
Pode ser diferenciado por conter um controle de fluxo independente e ser escalonvel, porque
mantm a sua prpria pilha, propriedade de escalonamento e dados especficos do thread.
11. Quais so os estados de um thread Java?
Podemos representar da seguinte forma:
API Java > JVM > SO
Onde, o suporte feito atravs da JVM em que se comunica com o cdigo de programao,
para que seja interpretada para o sistema operacional, sendo assim podendo se comunicar
com qualquer mquina que contenha a JVM instalada.
Os estados de um thread java so:
Executando
stop(
)
start(
new
Novo
sleep()
suspend
()
I/O
resume
()
Bloqueado
Terminado