Conceitos Fundamentais de Processos e Threads em SO
Classificado em Computação
Escrito em em
português com um tamanho de 3,84 KB
Processo: Conceito e Estrutura
Processo é um conjunto necessário de informações para que o Sistema Operacional (S.O.) implemente a concorrência de programas. É importante no projeto de sistemas multiprogramáveis, pois são executados concorrentemente, compartilhando o uso de processador e outros recursos.
Componentes de um Processo
Um processo é composto por:
- Contexto de Hardware: Identifica quais recursos de hardware o processo necessita. A troca refere-se à saída de um processamento para que outro assuma.
- Contexto de Software: Especifica os limites que podem ser alocados e abertos simultaneamente, juntamente com suas prioridades.
- Espaço de Endereçamento: Instruções e dados são armazenados para execução.
Estrutura do PCB (Process Control Block)
O PCB mantém todas as informações sobre os contextos e endereçamentos de cada processo.
Estados do Processo
Os estados principais são:
- Criação: Adiciona nova PCB.
- Execução: Processado pela UCP (Unidade Central de Processamento).
- Pronto: Aguarda ser executado.
- Espera: Aguardando um evento externo.
- Término: Nenhum programa executado no contexto.
A Mudança de Estado é acionada por uma system call.
Conceitos Relacionados
- Processos: São instâncias que estão na fila para execução.
- Thread: Partes de um processo em execução.
- Subprocesso: Apresentados sob uma hierarquia.
- Foreground: Há interação com o usuário.
- Background: Sinal batch sem interação com o usuário.
- CPU-Bound (CPU-B): Processos internos do S.O.
- I/O-Bound (I/O): Processos executados com operações de E/S (Entrada/Saída).
Gerenciamento e Métricas
Sinais: Gerenciam os processos; o sinal enviado interrompe ou executa um processo.
Escalonador: Define as políticas de escalonamento do sistema.
Dispatcher: Responsável pelo chaveamento ou troca dos processos.
Métricas de Tempo
- Tempo de Execução: Estado de execução.
- Espera: Fica na fila de pronto.
- Turnaround: Tempo da criação ao término.
- Resposta: Tempo entre a requisição e a exibição da resposta.
Preempção
- Preemptivo: Pode interromper um processo no estado de execução e passá-lo para pronto.
- Não Preemptivo (Não P): Só deixa de executar quando termina sua execução.
Alocação de Memória
- Best Fit: Alocação ocorre no menor espaço disponível.
- Worst Fit: Ocorre no maior espaço disponível.
- First Fit: No primeiro espaço disponível.
Swapping: Resolve o problema de falta de Memória Principal (MP) através de uma maior taxa de utilização da memória principal.
Algoritmos de Escalonamento
- FIFO (First-In, First-Out): Escalonamento não preemptivo, sendo necessária apenas uma fila.
- Circular (Round Robin): É preemptivo, parecido com FIFO, mas usa fatia de tempo (quantum).
- SJF (Shortest Job First): Seleciona o processo com o menor tempo de processador.
- Prioridades: Preemptivo com prioridade de execução; fatia de tempo não existe.