Você está na página 1de 2

Discipl

ina

Sistemas Operacionais

Questes de fixao do contedo


1. O que um escalonador? Fornea 2 exemplos de escalonadores num computador.
Um escalonador uma multiprogramao do SO, em que organiza os processos para decidir
quais sero executados, levando em considerao sua prioridade e tempo de execuo,
deixando-os executando o tempo todo para maximizar a utilizao da CPU.
Temos como exemplos:
- Escalonador de Jobs (curto prazo)
- Escalonados de CPU (longo prazo)
2. O que so processos limitados por CPU
Fazendo parte do escalonador de longo prazo que o responsvel pela quantidade de
processos que o sistema ir executar, os processos limitados por CPU tem um longo tempo de
execuo e raramente espera pela I/O, como o principal fator, passa-se a maior parte do tempo
realizando operaes e efetuando comprimento do uso de CPU.
3. O que so processos limitados por I/O
Em relao tambm com o escalonador de longo prazo, os processos limitados por I/O so
classificados por no fazerem requisies de I/O particularmente longas, sendo assim no
executam muita computao entre elas e utilizam menos tempo do processador, onde passa a
maior parte do tempo em operaes de I/O.
4. Descreva um escalonador de mdio prazo
Um escalonador de mdio prazo realiza uma seleo entre os processos que esto
na memria virtual, fazendo com que reduza o grau de multiprogramao, onde
temporariamente remove o processo da memria principal e o coloca na memria secundria
(swap), realizando as operaes de swapping in e swapping out.
5. Como funciona a troca de contexto de processos?
Primeiramente ocorre alternao entre os processos, onde o SO salva o estado do processo
atual que estava sendo executado e logo aps carrega o estado do novo processo ali chamado
para executar, sendo assim os estados so representados atravs da PCB-Process Control
Block (Bloco de Controle de Processos), onde o tempo de troca chamado de tempo perdido
(overhead).
6. Descreva o que voc entende por Thread.
Thread, tambm conhecido como processos leves, pode-se dizer que seria mltiplos fluxos
(sub-processos) de controle no mesmo endereamento, executando quase em paralelo, como
se fosse processos separados. Dizendo melhor, a forma de um processo dividir a si mesmo
em diversas tarefas que podem ser executadas, assim agilizando a programao, assim tendo
partes do processo rodando em paralelo (vrias execues dentro do mesmo ambiente de
processo de forma independente uma das outras). Contm um count (contador de programa),
registradores e suas variveis, sendo executada em modo pilha para o escalonamento dos
processos.
7. Fornea dois exemplos de programao de multithreading com desempenho melhorado
em relao a uma soluo de thread nico.
- Navegador web: permite que o usurio utilize certa funcionalidade (tenha interao) do
ambiente enquanto outras linhas de execuo realizam outras operaes, por exemplo,
carregar imagens.

- 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

Você também pode gostar