Processo em Sistemas Operacionais:

Maria Isabelli Pinto - Oct 23 - - Dev Community

Um processo em um sistema operacional pode ser considerado um programa em execução, junto com o conjunto de informações necessárias para o gerenciamento da concorrência de programas no sistema. Ele também pode ser visto como o ambiente onde um programa é executado, contendo todos os recursos e dados necessários para a sua execução correta.

Definição de Processo

Segundo o conceito de processo descrito no livro Arquitetura de Sistemas Operacionais, de Francis Machado e Luiz Maia, um processo é uma unidade fundamental de trabalho em sistemas operacionais que possibilita a concorrência de programas. Tanenbaum e Austin reforçam que um processo é um programa em execução, além de toda a informação de estado associada, como memória, registradores, contador de programa e status de entrada/saída (E/S).

Estrutura de um Processo

Um processo é composto por três partes principais:

  1. Contexto de hardware: Armazena o conteúdo dos registradores gerais e específicos da CPU. Quando um processo está em execução, esses dados ficam armazenados diretamente nos registradores do processador.

  2. Contexto de software: Inclui informações como o número de arquivos abertos, prioridade de execução e tamanho do buffer de E/S. Contém três tipos de informações:

    • Identificação: Cada processo possui um número identificador (PID) e a identificação do usuário que o criou (UID).
    • Quotas: Limites de recursos que o processo pode alocar, como memória e arquivos.
    • Privilégios: Define quais ações o processo pode realizar no sistema, como alterar outros processos ou acessar recursos especiais.
  3. Espaço de endereçamento: Refere-se à área da memória que pertence ao processo, onde são armazenadas suas instruções e dados.

Estados de um Processo

Um processo pode estar em três estados principais:

  1. Execução (Running): O processo está sendo processado pela CPU.
  2. Pronto (Ready): O processo está pronto para ser executado, aguardando a sua vez, determinada pelo escalonador.
  3. Espera (Wait): O processo aguarda um evento externo ou a liberação de recursos para continuar sua execução.

Mudança de Contexto (Context Switch)

A mudança de contexto ocorre quando o sistema operacional pausa a execução de um processo para permitir que outro processo seja executado. Durante essa troca, o sistema precisa salvar o estado atual do processo pausado (em seu BCP) e restaurar o estado do processo que será executado em seguida.

Processos em Sistemas Operacionais (UNIX e Windows)

Nos sistemas UNIX e Windows, os processos seguem estruturas e princípios semelhantes. Em ambos os sistemas, cada processo recebe um PID (Process Identifier) e é gerenciado pelo escalonador do sistema operacional, que determina quando ele será executado.

No UNIX, há forte distinção entre processos de usuário e de sistema (kernel), com privilégios claramente definidos. O usuário root, por exemplo, tem permissões ampliadas para executar tarefas administrativas. Já no Windows, os processos também seguem um esquema de privilégios, mas há uma integração mais próxima entre a interface gráfica e os processos, especialmente os processos em segundo plano, como serviços do sistema.

Fontes:

  • TANENBAUM, Andrew S; AUSTIN, Todd. Organização Estruturada de Computadores. São Paulo: Pearson Prentice Hall, 2013.

Esses conceitos são fundamentais para entender o gerenciamento e a execução de processos em sistemas operacionais modernos.

. . . . .
Terabox Video Player