Professional Documents
Culture Documents
Processos e Threads
Thiago Leite
<thiago.leite@udf.edu.br>
Processos e Threads
• Processo
• Programa em execução
• Abstração de processo
• Programa executável
• Dados do programa
• Registradores
• Arquivos abertos
• Alarmes pendentes
• Pilha
• Heap
• extensão da memória
• Data
• variáveis inicializadas
• Texto
• instruções do programa
Processo Unix
Área de Endereçamento
Processos e Threads
• Multiprogramação
• Árvore de Processos
• Hierarquias de processos
• Em Windows todos os
processos são iguais
Processos e Threads
• Início do sistema
• Requisição do usuário
• Foreground
• Background
Processos e Threads
• Processos em Foreground
• Processos em Background
• daemons em Unix
• serviços em Windows
Processos e Threads
• entrada padrão
saída de
saída
• saída com erro
Processos e Threads
• Término de processo
• Processos em Unix
• identificação de um processo
• Diretório de trabalho
• Instruções do programa
• Descritores de arquivos
• Ações de sinais
• Bibliotecas compartilhadas
• Interrupções
• Inicialização
• Bloqueio
Processos e Threads
• Escalonador
• Salvar registradores
• SJF (Shortest Jog First), SPN (Shortest Process Next) e SRT (Shortest Remaning
Time)
• Por prioridade
• Round-Robin ou circular
A
First-come-first B
served (FCFS) C
D
E
A
Round-robin B
(RR), q ! 1 C
Tempo de Tempo de
D Processo
chegada Processament
E o
A A 0 3
Round-robin B
(RR), q ! 4 C
B 2 6
D C 4 4
E
D 6 5
A
Shortest process B E 8 2
next (SPN) C
D
E
Shortest remaining
time (SRT)
FIFO ou FCFS
A
B
C
D
Exemplo de escalonamento
E
A
Highest response B
ratio next (HRRN) C
Algoritmo de tarefa mais curta (SJF)
Processos de menor carga têm prioridade
D
E
A
Shortest process B
next (SPN) C
D
E
A
Shortest remaining B
time (SRT) C
D
E
A Tempo de Tempo de
Highest response B Processo Processament
chegada
ratio next (HRRN) C o
D A 0 3
E
B 2 6
A
Feedback B C 4 4
q!1 C
D D 6 5
E
E 8 2
A
Feedback
q ! 2i
Exemplo de Escalonamento por
B
C
SJF, SPN e SRT
D
E
Exemplo
0 de
5 escalonamento
10 15 20
The normalized turnaround time for process Y is way out of line compared to the
Algoritmo por Prioridade
Processos de maior prioridade possuem preferencia
Processo B possui maior prioridade de execução
P = Pronto
E = Execução
W = Espera
A
Round-robin B
(RR), q ! 1 C
D
E
A
Round-robin B
(RR), q ! 4 C
D
E
A Tempo de Tempo de
Shortest process Processo Processament
B chegada
next (SPN) o
C
D A 0 3
E
B 2 6
A
Shortest remaining B C 4 4
time (SRT) C D 6 5
D
E E 8 2
A
Highest response B
Escalonamento Round-Robin
ratio next (HRRN) C
D
E
com Adiferentes tempos de preempção
Feedback B
q!1 C
D
E
Processos e Threads
• Métodos compostos de escalonamento
• CPU Bound
• I/O Bound
• Orientado a Entrada/Saída
• “Miniprocessos”
• Exclusão mútua
• Espera ociosa
• utilizada em sistemas
multiprogramados
• inicialização
• operação wait
• operação signal
Processos e Threads
• Inicialização de semáforo
• Mutex
$ ls
$ cd diretorio
Laboratório
• Comandos Bash Shell
$ rm arquivo
Laboratório
• Comandos Bash Shell
$ sudo comando
$ su
Laboratório
• ; - finalização de um comando
comando1 ; comando2
comando \
continuaçãocomando;
Laboratório
• Redirecionamento de entradas e saídas em Bash Shell
comando &
fg 1
bg 1
Laboratório
• Comandos em Bash Shell
ps aux
kill -9 1000