27
Conceitos sobre Processos Disciplina: Sistemas Operacionais Prof. Filipe Arantes Fernandes [email protected]

Conceitos sobre Processos · Disciplina: Sistemas Operacionais Prof. Filipe Arantes Fernandes ... DEITEL, H., DEITEL, P. & CHOFFNES, D., 2013. Sistemas Operacionais. 3ª Ed. Editora

Embed Size (px)

Citation preview

Conceitos sobre ProcessosDisciplina: Sistemas Operacionais

Prof. Filipe Arantes [email protected]

Agenda

Introdução aos Processos dos SOs Definição de Processos Estados de um Processo

Introdução aos Processos

● Muitos sistemas na natureza realizam operações em simultâneo (ou concorrentemente), tal como o corpo humano.

Introdução aos Processos

● Os computadores também executam operações concorrentemente.

● Os SOs utilizam as abstrações de processo e thread para manter os controles de atividades que são executados simultaneamente.

Definição de Processo

● Há dois conceitos fundamentais sobre processos, segundo DEITEL et al. (2013);– 1°: “um processo é uma entidade”;

– 2°: “um processo é um programa em execução”;

1º: um processo é uma entidade

● Cada processo tem seu próprio espaço de endereço que, normalmente consiste em:– Região de Texto:

– Região de Dados:

– Região de Pilha:

1º: um processo é uma entidade

● Cada processo tem seu próprio espaço de endereço que, normalmente consiste em:– Região de Texto:

● Armazena o código que o processador executa.

– Região de Dados:

– Região de Pilha:

1º: um processo é uma entidade

● Cada processo tem seu próprio espaço de endereço que, normalmente consiste em:– Região de Texto:

– Região de Dados:● Armazena variáveis e memória alocada dinamicamente que o

processo usa durante a execução.

– Região de Pilha:

1º: um processo é uma entidade

● Cada processo tem seu próprio espaço de endereço que, normalmente consiste em:– Região de Texto:

– Região de Dados:

– Região de Pilha:● Armazena instruções e variáveis locais para chamadas ativas ao procedimento.● O conteúdo da pilha cresce à medida que um processo emite chamadas

aninhadas ao procedimento e diminui quando o procedimento chamado retorna.

2º: Um processo é um programa em execução

● Um programa é uma entidade inanimada; somente quando um processador lhe “sopra vida” é que ele se torna a entidade ativa que chamamos de processo.

Estados de um Processo:Ciclo de Vida do Processo

Introdução

● O SO deve assegura que cada processo receba uma quantidade suficiente de tempo do processador.

● Nos SOs o número de processos verdadeiramente executados em concorrência é OBRIGATORIAMENTE igual ao número de processadores, MAS, em geral, há um número maior de processos do que processadores.

● Portanto, alguns processos podem ser executados e outros não.● Ao longo de seu tempo de vida, o processo passa por uma série de

Estados de Processos distintos.

Estados de Processos

● Vários eventos podem fazer que um processo mude de estado;

● Os estados mais comuns são:– Execução:

– Pronto:

– Bloqueado:

Estados de Processos

● Vários eventos podem fazer que um processo mude de estado;

● Os estados mais comuns são:– Execução: processo executando no processador;

– Pronto:

– Bloqueado:

Estados de Processos

● Vários eventos podem fazer que um processo mude de estado;

● Os estados mais comuns são:– Execução:

– Pronto:

– Bloqueado:

Estados de Processos

● Vários eventos podem fazer que um processo mude de estado;

● Os estados mais comuns são:– Execução:

– Pronto: processo pronto para execução se houver processador disponível;

– Bloqueado:

Estados de Processos

● Vários eventos podem fazer que um processo mude de estado;

● Os estados mais comuns são:– Execução:

– Pronto:

– Bloqueado: processo esperando algum evento antes de prosseguir.

Estados de Processos

● Por questão de simplicidade, consideramos um sistema uniprocessador apenas que um processo pode ser executado por vez;

● Mas diversos outros podem estar prontos e outros bloqueados; ● O SO mantém uma lista de prontos e uma lista de bloqueados;● A lista de prontos é ordenada por prioridades;● A lista de bloqueados é desordenada;

Pronto

Em execução

Pronto

Despacho

Em execução

Pronto

Despacho

Temporizador

Em execução

Pronto

Despacho

Em execução

Pronto Bloqueado

Despacho Bloqueio

Em execução

Pronto Bloqueado

Despacho Bloqueio

Despertar

Em execução

Pronto Bloqueado

Despacho

Temporizador

Bloqueio

Despertar

Acordado Adormecido

Exercícios

1)Os termos “processos” e “programa” são sinônimos?

2)Como o SO impede que um processo monopolize um processador?

3)Qual a diferença entre processos que estão acordados e processos que estão adormecidos?

Referências

DEITEL, H., DEITEL, P. & CHOFFNES, D., 2013. Sistemas Operacionais. 3ª Ed. Editora Pearson.

TANENBAUM, A.S. & WOODHULL, A.S., 2016. Sistemas Operacionais Modernos. 4ª Ed. Editora Pearson.