Please enable JavaScript.
Coggle requires JavaScript to display documents.
PROCESSOS, MAPA MENTAL 3 DISCIPLINA: SO 2025/2 ALUNO(A): Raquel…
PROCESSOS
3.1 Conceito de Processo
Definição
Entidade ATIVA (memória + CPU) ≠ programa Passivo (disco)
Execução sequencial
um programa em execução
Componentes
Código programa (text)
Contador programa
Pilha (stack)
Dados (data)
Heap (alocação dinâmica)
Estados
New: sendo criado
Ready: aguarda CPU (atribuição)
Running: usando CPU (instruções)
Waiting: aguarda evento (I/O)
Terminated: finalizado
PCB (Bloco Controle)
Estado processo
Contador programa
Registradores CPU
Info escalonamento
Info memória
Info contabilização
Status I/O
Threads
Processo tradicional: 1 thread
SO modernos: múltiplas threads
PCB expandido
3.2 Escalonamento de Processos
Objetivos
Multiprogramação: CPU sempre ocupada
Compartilhamento tempo: alternância rápida
Escalonador: seleciona processos
Filas
Job: todos processos sistema
Pronto: memória, aguarda execução
Dispositivo: aguarda I/O
Migração entre filas
Escalonadores
Escalonador Longo Prazo
Frequência: minutos/segundos
Pode ser lento
Controla: grau multiprogramação
Seleciona: processos → fila pronto
Escalonador Médio Prazo
Swapping (memória ↔ disco)
Controla uso memoria, reduz grau ...
Escalonador Curto Prazo
Seleciona: próximo processo CPU
Frequência: milissegundos (~100ms)
DEVE ser rápido
Tipos Processo
I/O-Bound: mais I/O, bursts curtos
CPU-Bound: mais cálculo, bursts longos
Balanceamento necessário
Troca Contexto
Contexto = PCB
Salva estado antigo
Carrega estado novo
Overhead (sem trabalho útil)
Tempo: milissegundos
Depende hardware
Apple: mais restrição
Android: nenhuma, notificação
3.4 Comunicação Interprocessos
Independente: não afeta/é outros
Cooperativo: afeta/é afetado
Motivos Cooperação
Compartilhamento informações
Agilidade computação
Modularidade
Conveniência
Modelos IPC
Memória Compartilhada
Região comum
Velocidade máxima
Baixa intervenção kernel
Mais rápida
Troca Mensagens
Via mensagens send/receive
Pequenas quantidades
Evita conflitos
Mais fácil implementar
3.4.1 Sistemas Memória Compartilhada
Processos estabelecem região
Removem proteção SO
Formato/local: responsabilidade processos
Sincronização: processos garantem
3.4.2 Sistema Transmissão/Troca Mensagens
Operações
send(message)
Fixo: implementação simples, programação difícil
receive(message)
Variável: implementação complexa, programação simples
Nomeação
Direta
send(P, msg) / receive(Q, msg)
send(envia de y pra x) receive(recebe y de x)
Nomeação explícita
Link automático
1 link por par
Indireta
send(A, msg) / receive(A, msg)
Via caixas postais (portas)
ID exclusiva
Link se compartilhar caixa
Sincronização
Bloqueio (Síncrono)
Send: bloqueia até receber
Receive: bloqueia até disponível
Sem Bloqueio (Assíncrono)
Send: envia e continua
Receive: válida ou nula
Armazenamento Buffer
Zero: send bloqueia
Limitada: send bloqueia se cheio
Ilimitada: send nunca bloqueia
3.0 Introdução
Processo
unidade de trabalho em um sistema moderno de tempo compartilhado.
processos do x: executando o codigo do x
3.3 Operações sobre Processos
Criação
Árvore hierárquica
Compartilhamento de Recursos pai e filhos
executam juntos, pai espera filho
Encerramento
exit(): Última instrução, Recursos desalocados
abort() pelo pai: Excesso recursos,
Tarefa não necessária, Pai terminando
MAPA MENTAL 3
DISCIPLINA: SO 2025/2
ALUNO(A): Raquel Nascimento