Conceitos Essenciais de Processos em Sistemas Operacionais
Classificado em Computação
Escrito em em português com um tamanho de 3,4 KB
Conceitos Fundamentais de Processos
O que é um Processo?
O processo é a base para a implementação de sistemas multiprogramáveis.
Estrutura do Processo
Um processo pode ser entendido inicialmente como um programa em execução, mas o conceito é mais abrangente.
Hardware e Sistemas Multiprogramáveis
O hardware é fundamental para a implementação dos sistemas multiprogramáveis, onde os processos se alternam na utilização da UCP, podendo ser interrompidos e posteriormente restaurados.
Software e Alocação de Recursos
No software, são especificadas as características e limites dos recursos que podem ser alocados pelo processo, como o número máximo de arquivos abertos simultaneamente. (Ex: Grupos de identificação, quotas, privilégios).
Espaço de Endereçamento
Cada processo possui seu próprio espaço de endereçamento, que deve ser devidamente protegido do acesso dos demais processos.
Estados do Processo
Ciclo de Vida e Transições de Estado
O processo muda de estado durante seu processamento em função de eventos originados por ele próprio ou pelo sistema operacional.
Estado de Execução
Quando o processo está sendo processado pela UCP.
Estado Pronto
Quando o processo aguarda apenas para ser executado.
Estado de Espera
Quando o processo aguarda por algum evento ou recurso para prosseguir seu processamento.
Gerenciamento do Ciclo de Vida
Criação de um Processo
Ocorre a partir do momento em que o sistema operacional adiciona um novo PCB (Process Control Block) à sua estrutura e aloca um espaço de endereçamento na memória para uso.
Eliminação de um Processo
Todos os recursos associados ao processo são desalocados e o PCB é eliminado pelo sistema operacional.
Classificação de Processos
Processos CPU-Bound
Um processo CPU-Bound passa a maior parte do tempo no estado de execução e realiza poucas operações de leitura e gravação. É encontrado em aplicações científicas.
Processos I/O-Bound
Um processo I/O-Bound passa a maior parte do tempo no estado de espera. É encontrado em aplicações comerciais que se baseiam em leitura e gravação.
Processos Foreground
Um processo Foreground é aquele que permite a comunicação direta do usuário com o processo durante o seu processamento.
Processos Background
Um processo Background é aquele onde não existe comunicação com o usuário durante o seu processamento.
Formas de Criação de Processos
- Logon interativo
- Via linguagem de comando
- Via rotina do sistema operacional
Tipos e Relações entre Processos
Processos Independentes
É a maneira mais simples de implementar a concorrência em sistemas multiprogramáveis.
Subprocessos
São processos criados dentro de uma estrutura hierárquica.
Threads
A Thread foi introduzida na tentativa de reduzir o tempo gasto em criação, eliminação e troca de contexto.
Sinais
É um mecanismo que permite notificar processos de eventos pelo sistema operacional ou por outros processos.