GoConqr hat ein neues Design! Sag uns, wie es dir gefällt.

Mindmap

Processos

Carlos Henrique Portugiesisch

Mapa mental sobre Processos e Threads: Estados, Memória do processo, Comunicação/Sincronização, Deadlock

Mapa mental: Processos e Threads

Inhalt der Mindmap

Processos

  1. Possui entrada, saída, contexto e um estado. Programa em Execução

  2. Pronto. Em espera. Em execução. Encerrado

  3. Escalonador

    • Ambiente
      • Interativo
        • Preemptivos
          • Garantido
            • 1/n - Difícil
          • Loteria
            • Ticket é sorteado
          • SJF
          • Múltiplas Filas
            • Filas com diferentes prioridades
          • Prioridade
          • Fair Share
            • Cada usuário recebe um tempo para todos os seus processos
          • Round - Robin
            • Trade-off do Quantum
          • Múltiplas Filas com Realimentação
            • Windows/Linux - Prioridade para I/O por ser pequeno
        • Escalonamento em dois níveis: Memória e CPU
      • Batch
        • Não ou Preemptivo com quantum alto
          • Três níveis
            • Escalona: Admissão, Memória, CPU
              • Processos com menor tempo de acesso à CPU e maior  tempo de interação com dispositivos de E/S primeiro
          • FIFO
            • Não Preemptivo. Fácil. Ruim em caso de processos grandes.
          • SJF
            • Não preemptivo. Redução do turnround
          • Shortest remaining time next (SRTN)
            • SJF Preemptivo. Starvation em processos pequenos
      • Tempo Real
        • Hard/Soft
        • Eventos Periódicos ou Aperiódicos
        • Algoritmos estáticos ou dinâmicos
    • Processo que cuida da troca de contexto. Nível 0.
      • Overhear salvar BCP
    • Utiliza Hw e Sw
  4. Threads

    • Usuário
      • Vantagens: mais rápido, escalonamento próprio, menos chamas ao kernel
      • Desvantagens: Processo inteiro é bloqueado se uma Thread realiza uma chamada bloqueante (PageFault). Escalonamento dentro do processo é complicado
      • Criação e escalonamento sem conhecimento do Kernel
      • Tabela de Thread por processo - Run Time System
    • Kernel
      • Vantagens: Processo inteiro não é bloqueado, apenas a thread (Page Fault)
      • Desvantagens: Gerenciamento mais caro.
      • Criação e escalonamento feito em Kernel
    • Utilização o mesmo espaço de enderaçamento de um processo
    • Pilhas de execução por threads
    • Fáceis de gerenciar, mais leves, mais paralelismo, aplicações interativas(Servidor Web)
    • Modelos 1:1, 1:M, M:N
    • Separa os recursos da execução
  5. Memória do processo: stack, heap, data, code

  6. Espaço de endereçamento, Lista de alocação, Conjunto de Registradores

  7. Comunicação/Sincronização de Processos

    • Race Conditions
      • Exclusão Mútua
        • 4 Condições
          • Seção crítica não pode executada simultaneamente
          • Não considerar velocidade da execução dos processadores
          • Um processo que não está na região crítica não pode bloquear outro
          • Nenhum processo deve esperar infinitamente para ter acesso a seção crítica
        • Soluções
          • Espera Ocupada
            • Processo fica esperando, desperdício de processador.
            • Desabilitar Interrupções
              • Processos desabilitam a interrupções do escalonador
              • Processo pode não habilitar interrupções. Só funciona para um processador.
              • Para um único processador
            • Instrução TSL
              • Instrução atômica em HW
              • Processo fica testando se valor de Lock é 0
              • Para múltiplos processadores
          • Sem espera ocupada
            • Passagem de Mensagem
              • Alternativa para sistemas distribuídos
              • Send/Receive
              • Tratamento de erros na rede
            • Monitores
              • Processos são implementados dentro de um monitor e só um pode está ativo
              • Uso de condições além de variáveis inteiras
              • Wait/Signal
              • Depende da Linguagem de programação
            • Semáforos
              • Variável inteira acessada de forma Atômica: Down e Up
                • Se 2 processos derem Down em dois semáforos a ordem de execução pode causar deadlock - Espera Circular.
              • Mutex/Binário Garante exclusão mútua
              • Processos bloqueados vão para um fila de espera
            • Sleep/Wakeup
        • Controle da Seção Crítica
          • Trecho de código que faz acesso aos recursos compartilhados
      • Dois ou mais processos disputando um recurso e o resultado depende da ordem
    • Problemas Clássicos
      • Jantar dos Filósofos
        • Deadlock caso todos os filósofos pegam um só garfo ao mesmo tempo.
        • Filósofos ficam infinitamente pegando um só garfo e não comem
        • Semáforos para dizer se um filósofo está comendo, pensando ou faminto
        • Processos que competem por um conjunto de recursos limitados
        • Starvation se o tempo de uso for aleatório
      • Leitor/Escritor
        • Não pode haver leitura durante escrita
        • Semáforo Mutex para SC de escrita
      • Barbeiro
        • Três semáforos: Customer, Barber e Mutex
      • Produtor Consumidor
        • Empty/Binário
          • Garanti que o produtor dorme caso buffer cheio
          • Garante exclusão mútua
        • Full
          • Sincronização Número de itens inseridos no Buffer
        • Empty
          • Sincronização buffer vazio
    • Interprocess Comunications
      • Send/Receive
        • Nomeação
        • Sincronização
          • Envio Bloqueante ou não
          • Recepção Bloqueante ou não
        • Bufferização
          • Capacidade Zero
          • Limitada
          • Limitada ou não limitada
  8. Contexto de Hw(PC. SP.) Sw (pId, permissão), e Espaço de Endereçamento de Memória - Tudo fica no BCP

  9. Pseudoparalelismo x Paralelismo real

  10. Criados ao iniciar o S.O ou a partir de outro processo.

  11. Término pode ser voluntário, pelo S.O, por outro processo.

  12. Tabela de processos na memória - Coleção de BCP

  13. DEALOCK

    • 4 Condições para que ocorra
      • Exclusão Mútua (Ñ share recurso): impossível de evitar
      • Posse e Espera: Impossível de Evitar
      • Não-preempção de um recurso: Evitável
        • Adquirir todos os recursos previamente. Se um recurso naõ estiver disponível, liberar os demais. Inviável
      • Espera Circular: Evitável
        • Evitar grafo acíclico. Ex: Jantar dos Filósofos
    • 4 Estratégias para tratar Deadlock
      • Ignorar/Avestruz
      • Detecção e Recuperação
        • Preempção
        • Eliminação do Processo
      • Evitação dinâmica por meio da alocação segura de recursos
      • Prevenção de uma das 4 condições

Informationen

Beschreibung
Mindmap am Processos, erstellt von Carlos Henrique am 26/07/2016.
Erstellt von
Carlos Henrique
Aufrufe
6
Bewertung

Mehr zu Processos e threads

Feedback

Worum geht es?

Wie gefällt dir das neue Design?

Dein Eindruck