Você está na página 1de 23

Universidade Estadual do Piauí - UESPI

Campus Alexandre Alves de Oliveira - Parnaíba/PI


Bacharelado em Ciência da Computação

Noções de Processos

Átila Rabelo Lopes


Sistemas Operacionais I
Introdução

• Programa (software):
• Uma seqüência finita de instruções;
• Entidade passiva (não se altera com o passar do tempo);
• Armazenado em disco.

• Processo:
• Abstração de programa em execução;
• Entidade dinâmica (altera seu estado durante a execução);
• Armazenado na memória.
• Pode haver mais de um processo instanciando um programa
único.
Introdução

• Bloco de Controle de Processo – PCB


• Estrutura de dados utilizada na gerência dos processos;
• Exclusivo para cada processos
• Mantém um conjunto de informações de um processo, tais
como:
• Identificação;
• Prioridade;
• Estado corrente;
• Recursos alocados, etc.;

Here comes your footer


3
Introdução

Ponteiros
Estado do processo
Nome do processo
Prioridade
Registradores
PCB

Limites de memória
Arquivos abertos
.
.

Here comes your footer


4
Estrutura do processo

• O processo é composto por 3 elementos básicos:


• Contexto de hardware

• Contexto de software

• Espaço de endereçamento.

Here comes your footer


5
Estrutura do processo

5 – Processo
 Estrutura do Processo
Arquitetura de Sistemas Operacionais – Machado/Maia

Contexto de Contexto de
Software Hardware

Programa

Espaço de
Endereçamento

5/1
Here comes your footer
6
Estrutura do processo

Contexto de hardware
• Consiste basicamente no conteúdo dos registradores:

• Processo em execução  Contexto de hardware armazenado


nos registradores;

• Processo interrompido  Informações dos registradores


salvas no Contexto de Hardware;

Here comes your footer


7
Estrutura do processo

Mudança de Contexto:
Troca na execução dos processos

1- Salva o conteúdo dos registradores no Contexto de


Hardware (processo interrompido);

2- Carrega o Contexto de Hardware nos registradores


(processo que será executado);

Here comes your footer


8
Estrutura do processo

Processo A Processo B

...
executando ...
Salva registradores do ..
processo A

Carrega registradores do
processo B

executando

Salva registradores do
processo B

Carrega registradores do
processo A

executando

Here comes your footer


9
Estrutura do processo

• Contexto de software
• Conjunto de informações importantes que influenciam a
execução do processo:
• Numero máximo de arquivos abertos (permitidos);
• Tamanho do Buffer;
• Etc.
• Tipos de contexto de software (informações):
• Identificação;
• Quotas;
• Privilégios.

Here comes your footer


10
Estrutura do processo

• Identificação:
• Número de identificação do processo – PID;
• Identificação do usuário – UID;
• Atribuídos na criação dos processos;
• Servem como métodos de segurança;

Here comes your footer


11
Estrutura do processo

• Quotas:
• Limites de cada processo;
• Caso uma quota seja insuficiente, o processo pode ser
executado lentamente ou nem ser executado.
• Tipos:
• Número máximo de arquivos abertos simultaneamente;
• Número máximo de memória alocada pelo processador;
• Número máximo de operações de E/S pendentes;
• Número máximo de processos e sub-processos que podem ser criados.

Here comes your footer


12
Estrutura do processo

• Privilégios:
• Define as ações que o processo pode fazer em relação ao
sistema e aos outros processos;

• Tipos de privilégios:
• Segurança
• Gerencia do sistema
• Operações

Here comes your footer


13
Estrutura do processo

• Espaço de Endereçamento
• Área da memória alocada ao processo;
• Armazena os dados utilizados pelo processo durante a execução
• Individual a cada processo
• Protegido para os demais processos

Here comes your footer


14
Estados do processo
• Representa o comportamento do processo em determinado
instante

• O processo pode assumir qualquer um dos estados possíveis,


em um determinado momento

• Todo processo muda varias vezes de estado durante sua


execução

• Tipos de estado:
• Executando
• Pronto
• Bloqueado ou espera
Here comes your footer
15
Estados do processo

• Estado “executando”
• Instante em que o processo está sendo executado

• Sistemas monoprocessador – só um processo fica no estado


executando, em determinado momento

• Sistemas multiprocessador – vários processos ficam no estado


executando, em determinado momento

Here comes your footer


16
Estados do processo

• Estado “pronto”
• Instante em que o processo está pronto para executar
• Mantido na fila de prontos
• Esperando ser escalonado

• Estado “bloqueado” (espera)


• Instante em que o processo fica impedido de executar
• Mantido na fila de espera ou bloqueados
• Esperando por dados ou eventos externos para continuar a
execução

Here comes your footer


17
Estados do processo

• Mudança de Estado (mudança de contexto)


• Situações em que um processo muda de estado durante a sua
execução

• Existem 4 tipos de mudanças de estado:


• Pronto – execução
• Execução - pronto
• Execução – bloqueado
Execução
• Bloqueado - pronto

Bloqueado Pronto

Here comes your footer


18
Criação e eliminação de processos
• Os processos são criados quando o SO:
• Aloca um espaço de endereçamento e
• Adiciona um novo PCB para o processo

• Somente após a conclusão dessas tarefas o SO reconhece a


existência do novo processo

• Os processos são eliminados quando o SO:


• Libera todos os recursos alocados ao processo e
• Elimina PCB do processo

• O SO estabeleça dois estados adicionais (new e término) durante


a criação e eliminação de Processos
Here comes your footer
19
Criação e eliminação de processos

Execução Estado
de
Término

Bloqueado Pronto Estado


de
criação

Here comes your footer


20
Tipos de processos

• A classificação dos processos é baseada no tipo de


processamento e modelo de comunicação

• Classificação pelo tipo de processamento:


• CPU-Bound: passa a maior parte do tempo no estado de
execução (aplicações matemáticas e cientificas)
• Realiza poucas operações de leitura e gravação

• I/O-Bound: passa a maior parte do tempo em estado de


espera (bloqueado)
• Realiza muitas operações de E/S
• Encontrado em aplicações comerciais, programas interativos

Here comes your footer


21
Tipos de processos

E/S
E/S

CPU
CPU

(I/O-Bound) Tempo
(CPU-Bound) Tempo

Here comes your footer


22
Tipos de processos

• Classificação pela comunicação:


• Foreground – permite a comunicação direta entre usuário e
processo durante sua execução
• Estão associados aos canais de E/S (teclado, monitor, mouse)
• Programas interativos

• Background – não existe a comunicação com o usuário durante


sua execução
• Processamento Batch

Here comes your footer


23

Você também pode gostar