Fundamentos de Sistemas Operacionais: Processos e Threads

Classificado em Computação

Escrito em em português com um tamanho de 4,06 KB

Conceitos Básicos de Sistemas Operacionais (SO)

  • SO: Programa ou conjunto de programas que fazem a intermediação entre o hardware e o usuário.
  • SO Estático: Projetado para executar uma única operação.
  • SO Dinâmico: Possui um número variável de processos; necessita de formas de criar e destruir processos.
  • Multiprogramados: Mantêm mais de um programa simultaneamente na memória para permitir o compartilhamento efetivo do tempo.
  • Multiprocessados: Executam suas tarefas em múltiplas UCPs.

Gerenciamento de Processos

  • Processo: Programas em execução, incluindo valores correntes do contador de programa, registradores e variáveis. É um conceito dinâmico.
  • Criação: Inicialização do sistema, requisição do usuário ou processo em execução que chama outro.
  • Término: Saída normal, erro, erro fatal ou destruído por outro processo.
  • BCP (Bloco de Controle de Processo): Contém informações sobre o processo: identificação, estado, prioridade, localização e contador.

Estados e Transições de Processos

  • Indefinido: Processo desconhecido pelo SO.
  • Bloqueado: Aguarda um evento.
  • Pronto para execução: Aguardando outro processo sair do processador.
  • Em execução: Processo dentro do processador.
  • Criar: Processo na memória, torna-se conhecido pelo SO.
  • Acordar: Libera o andamento.
  • Despachar: Dá sequência imediata ao andamento.
  • Bloquear: Para o andamento do processo enquanto aguarda evento.
  • Preempção: Para por motivos alheios.
  • Destruir: Libera a área de memória ocupada pelo processo.

Escalonamento de Processos

  • Escalonador: Avalia os processos e decide qual rodará primeiro.
  • Escalonamento: Atividade organizacional que prioriza processos (ex: I/O).
  • Critérios: Uso da CPU, fração de tempo ocupada, tempo de espera e tempo de chegada.
  • Algoritmos:
    • FIFO: Primeiro que chega, primeiro a ser executado.
    • SJF: Menor processo ganha a CPU.
    • SRT: Escolhido quem possui o menor tempo restante.
    • RR (Round Robin): Utiliza um quantum (tempo fixo) para cada processo.
  • Preemptivo vs. Não Preemptivo: O preemptivo libera o processador para outro processo via quantum; o não preemptivo roda pelo tempo necessário.

Threads e Multithreading

  • Threads: Linhas de execução. Possuem interdependência, mas mantêm privadamente: contador de programa, registradores, pilha e estado.
  • Multithread: Existência de várias threads no mesmo processo.
  • Vantagens: Permite que o processo continue rodando mesmo se uma thread estiver bloqueada em I/O.
  • Tipos:
    • ULT (User Level Threads): Gerenciadas pelo programador.
    • KLT (Kernel Level Threads): Gerenciadas pelo SO, mais lentas devido à troca de contexto.

Arquitetura e Classificação

  • Máquina Multinivel: Aplicações, Software Básico (SO/Compiladores) e Hardware.
  • Carga de Trabalho:
    • Serial: Recursos dedicados a um único programa.
    • Concorrente: Recursos reassociados entre vários programas.
  • Classificação: Monoprogramado, Batch (Lote), Interativo e Tempo Real.
  • Máquinas Virtuais (VM): Nível intermediário que oferece uma cópia virtual do hardware.

Entradas relacionadas: