Você está na página 1de 22

Sistemas Operacionais

Aula 3 - Multiprogramação: processos

Prof. Luan Pereira


Engenharia de Computação - UEMA
Roteiro
 Conceito
 Processos
• Ciclos
• Relacionamentos
• Estados

2
Multiprogramação
 Tornar mais eficiente o aproveitamento dos recursos do
computador.

 Execução de vários programas


 Diversos programas são mantidos na memória
 A maioria dos programas não utiliza toda a memória
 Sem multiprogramação a memória não utilizada pelo
programa ficaria sem utilização

3
Multiprogramação (Ilustração)

4
Multiprogramação: conceitos

 Processo

 Interrupção

 Proteção entre processos

5
Processo
 Diferenciação entre o programa e sua execução
 Programa
 Entidade estática e permanente
 Sequência de instruções
 Passivo sob o ponto de vista do sistema operacional

 Processo
 Entidade dinâmica
 Altera seu estado a medida que avança a execução
 Composto por programa (código), dados e contexto
(valores)

6
Processo

 Abstração que representa um programa em execução

 Diferentes instâncias
 Um programa pode ter várias instâncias em execução
 Mesmo código (programa) porém dados e momentos de
execução diferentes

7
Processo

 Forma pela qual o sistema operacional “enxerga” um


programa e possibilita sua execução

 Processos executam
 Programas de usuários
 Programas do próprio sistema operacional

8
Ciclos de um processo

 Criação

 Execução

 Término

9
Ciclos de um processo

 Criação

 Momento da execução

 Chamadas de sistemas

 Podem ser associados a uma sessão de trabalho

10
Ciclos de um processo

 Execução

 Processos apresentam dois ciclos de básicos de operação


 Ciclo de processador
 Tempo que ocupa a CPU

 Ciclo de entrada e saída


 Tempo em espera pela conclusão de um evento

 Primeiro ciclo é sempre de processador

11
Ciclos de um processo

 Processos
 CPU bound
 I/O bound

 Situação ideal
 Misturar processos CPU bound com I/O bound

12
Ciclos de um processo

 Término

 Final de execução (normal)


 Por erros
 Intervenção de outros processos
 Log off de usuários

13
Relacionamentos entre processos

 Processos independentes
 Não possuem relacionamento com outros processos

 Grupo de processos
 Apresentam algum tipo de relacionamento
 Podem compartilhar recursos

14
Relacionamentos entre processos
 Hierarquia de processos :
 Pai – Criador
 Filho – Criado

 Representação através de uma árvore


 Evolução dinâmica

 Processo destruído
 Todos os processos filhos acabam
 Manter a representação do processo pai que foi destruído
 Vincular os processos com o processo acima do pai

15
Relacionamentos entre processos

16
Estados de um processo
 Após criado o processo necessita entrar em ciclo de
processador

 Hipóteses:
 Processador não está disponível
 Vários processos sendo criados

 Solução
 Criação de uma fila de aptos

17
Estados de um processo

18
Modelo dos estados
 Manter uma fila de processos aptos a executar
 Esperando pelo processador ficar livre

 Escalonador
 Atribui o processador a um processo da fila de aptos
 Pode prevenir um único processo de monopolizar o
processador

19
Modelo dos estados (Ilustração I)

20
Modelo dos estados (Ilustração II)

21
Próxima Aula...
 Continuação: multiprogramação
• Gerenciamento de Filas
• Mecanismos de interrupção
• Proteção entre Processos
• Proteção de Periféricos
• Proteção de Memória
• Proteção do Processador

22

Você também pode gostar