2. O que são processos?
• Programa ou comando que está sendo
executado pelo computador.
– Cada processo 1 pai e 0..* filhos
• Processo Quantidade de Tempo
– Política de escalonamento
4. AIX - Comandos -1/2
• nice
– altera prioridade no start dos processos
• renice
– altera prioridade em processos ativos
Usuário root tem acesso geral.
Usuário normal só tem acesso aos processos dos
quais é dono.
5. AIX - Comandos - 2/2
• ps
– lista os processos do sistema
• kill
– finaliza um processo
– usuário normal só pode encerrar os próprios
processos
– usuário root pode encerrar qualquer um
6. Estados de um Processo - 1/2
• Processo comum Sinal Descrição
O Nonexistent
A Active
W Swapped
I Idle
Z Canceled
T Stopped
7. Estados de um Processo - 2/2
• Kernel threads Sinal Descrição
O Nonexistent
R Running
S Sleeping
W Swapped
Z Canceled
T Stopped
8. Scheduling
• 5 políticas de escalonamento
– FIFO
• FIFO1, FIFO2, FIFO3
– Round Robin
• (SCHED_RR)
– Fair Round Robin
• (SCHED_OTHER)
9. Prioridades - 1/4
• Variam de 0 a 255
– 0 a 127 nas versões anteriores ao AIX 5
0 = prioridade mais alta
255 = prioridade mais baixa
10. Prioridades - 2/4
• Utiliza um vetor de 256 bits
– nível vazio, bit setado como 0
• Identifica rapidamente qual o primeiro
nível não-vazio para executar.
12. Prioridades - 4/4
• A partir do AIX 5
– 1 fila por CPU
– 1 fila global
• Filas múltiplas podem não ser desejadas
– configurável através de uma variável.
– aumento de performance (Fair Round Robin)
13. FIFO - 1/3
• Algoritmos mais simples
• Menos utilizada por ser naturalmente não
preemptiva
14. FIFO - 2/3
• Processo só deixa a CPU quando:
– devolve o controle para a CPU executando
uma função que o coloque para dormir
– seja bloqueado por falta de recurso
– necessite de I/O
15. FIFO - 3/3
• Variações:
– FIFO2
• Processo é colocado na frente da fila se ele se
manteve em execução por um período de tempo
menor que uma quantia predefinida.
– FIFO3
• Processo é sempre colocado na frente da fila
quando ele estiver no estado pronto pra executar.
16. Round Robin - 1/3
• Algoritmo mais antigo que o próprio UNIX
• AIX implementa 256 níveis
• A CPU é compartilhada com todos os
processos com a mesma prioridade
17. Round Robin - 2/3
• Processo só deixa a CPU quando:
– necessite de outro processo
– acabe a sua fatia de tempo
– necessite de I/O
18. Round Robin - 3/3
• Quando a fatia de tempo termina:
– se houver um processo de igual ou maior
prioridade pronta para execução o processo
atual é colocado no final da fila para esperar
até a sua próxima vez de execução.
19. Fair Round Robin - 1/2
• Padrão do AIX
• Criada com o padrão POSIX
• Diferença:
– SCHED_RR: prioridade estática
– SCHED_OTHER: prioridade dinâmica
20. Fair Round Robin - 2/2
• Processo com uso excessivo da CPU
prioridade vai diminuindo
– objetivo: permitir que outros processos
ganhem também ganhem a CPU.
• Processo tem prioridade muito baixa
prioridade vai aumentando
– objetivo: permitir que o processo ganhe a
CPU, execute e finalize.
21. Bibliografia:
• CCUEC – Unicamp
– Curso Administração de Sistemas AIX
– http://www.ccuec.unicamp.br/CCUEC/
• CPU monitoring and tuning
– http://www.ibm.com/developerworks/aix/librar
y/au-aix5_cpu/index.html