Você está na página 1de 16

DEPARTAMENTO DE CIÊNCIAS E

TECNOLOGIA
LICENCIATURA EM: ENGENHARIA INFORMÁTICA DE
GESTÃO

SISTEMAS OPERATIVOS

Gestão de Processos

DOCENTE: MISAEL LOPES


CAPÍTULO 2- GESTÃO DE PROCESSOS
DEFINIÇÃO DE PROCESSO
❑Um processo é um programa em execução.

❑Consiste no código do programa, seus dados, e outras informações


relacionadas à execução.

❑Cada processo tem seu próprio espaço de endereçamento e


contexto de execução.

❑Um processo é uma instância e possui dados de entrada, dados de


saída e um estado (executando, bloqueado, pronto).
CONCEITOS COMPLEMENTARES

❑Thread: unidade de execução dentro de um processo. Um


processo pode ter múltiplas threads, e elas compartilham o
mesmo espaço de endereçamento e recursos do processo.
❑Fork: sistema de chamada de sistema em sistemas Unix-like que
cria uma cópia exata do processo pai, resultando em dois
processos independentes em execução.
❑Núcleo (Kernel): O núcleo é a parte central do sistema
operacional que gerencia os recursos do sistema, como
processos, memória, dispositivos de entrada/saída, entre outros.
CONCEITOS COMPLEMENTARES
❑ Programa: conjunto de instruções que realizam uma tarefa específica quando
executado em um computador.

❑Registros: pequenas áreas de armazenamento dentro da CPU usadas para


armazenar temporariamente dados durante a execução de instruções de um
programa.

❑ Escalonador (Scheduler): O escalonador é um componente do sistema


operacional responsável por decidir qual processo ou thread será executado pelo
processador em um determinado momento. Ele gerencia a alocação do tempo de
CPU entre os processos concorrentes.
TIPOS DE PROCESSOS

1. Processo em Primeiro Plano


❑ Interage com o utilizador
Exemplos: Ler um arquivo, iniciar um programa, etc.

2. Processo em Segundo Plano (Background)


❑ Processos com funções específicas que não dependem da interação do utilizador.
Exemplos: Recepção e envio de emails, Serviços de impressão.
CADA PROCESSO POSSUI

1. Um conjunto de instruções;
2. Espaço de endereçamento (espaço reservado para que o
processo possa ler e escrever - 0 até max; código, dados e pilha);
3. Contexto de hardware (valores nos registradores, como PC,
ponteiro de pilha, e reg. prop. gerais);
4. Contexto de software (atributos em geral, como lista de arquivos
abertos, variáveis, etc.);
ESPAÇO DE ENDEREÇAMENTO

1. Texto: código executável dos programas


2. Dados: as variáveis
3. Pilha de execução:
1. Controla a execução do processo;
2. Empilhando chamadas a procedimentos, seus
parâmetros e variáveis locais, etc.
TABELA DE PROCESSOS

1. Também chamada de BCP (Bloco Controle de Processo).


2. Contém informações de contexto de cada processo;
3. Contém informações necessárias para trazer o
processo de volta, caso o SO tenha que tirá-lo de
execuçāo;
4. Contém estados de um processo em um determinado
tempo.
CARACTERÍSTICAS DE PROCESSO
1. Processos orientados à CPU (CPU-bound): processos que
utilizam muito o processador;
⮚ Tempo de execução é definido pelos ciclos de processador;
2. Processos orientados à E/S (I/O-bound ): processos que realizam
muito E/S;
⮚ Tempo de execução é definido pela duração das operações de
E/S;
⮚ IDEAL: existir um balanceamento entre processos orientados à
CPU e orientados à E/S;
CRIAÇÃO DE PROCESSOS

a) Inicialização do sistema;
b) Execução de uma chamada de sistema para criação de processo,
realizada por algum processo em execução;
c) Requisição de usuário para um novo processo (ex.: duplo clique do
mouse, etc.)
d) Inicialização de um processo em batch (em sistemas mainframes
com processamento em batch).
FINALIZANDO PROCESSOS

1. Término normal (voluntário):


a) A tarefa a ser executada é finalizada;
b) Ao terminar, o processo executa uma chamada (comunicando ao
SO que terminou): exit (UNIX) e ExitProcess (Windows)
2. Término por erro (voluntário):
a) O processo sendo executado não pode ser finalizado.
FINALIZANDO PROCESSOS

3. Término com erro fatal (involuntário)


a) Erro causado por algum erro no programa

4. Término (involuntário) causado por algum outro processo via chamada a:


b) Kill (UNIX)
c) TerminateProcess (Windows)
ESTADOS DE PROCESSO

1. Executando: realmente usando a CPU naquele momento;


2. Bloqueado: incapaz de executar enquanto um evento externo não
ocorrer;
3. Pronto: em memória, pronto para executar (ou para continuar sua
execução), apenas aguardando a disponibilidade do processador.
ESTADOS DE PROCESSO
ESTADOS DE PROCESSO

Você também pode gostar