Você está na página 1de 17

Criada pelo Decreto N.

º 44-A/01 do Conselho de Ministros, em 06 de Julho de 2001

SISTEMAS OPERATIVOS
SLIDE 04
Professor P@ulo Mbonzi
paulo.mbonzi@itsl.ao/paulombonzi83.pm@gmail.com
telemoveis: +244 925 984 940/+244 919 975 722

segunda-feira, 24 de outubro de 2022


AULA Nº 04
SISTEMAS OPERATIVOS

GESTÃO DE PROCESSOS

2/15
CHAMADAS DE SISTEMAS
Contextualizando
Na aula passada:
1)Chamadas de Sistemas
2)Interrupções

Aula de hoje:
1)Gestão de processos

3/15
GESTÃO DE PROCESSOS
DEFINIÇÃO DE PROCESSO:
Um processo é caracterizado por um programa em
execução.
A execução do processo precisa ocorrer de maneira
sequencial.
Diferença entre processo e programa?
Exemplo: “se eu dou duplo click no browser do
crome, ele abre um processo e se der outro click,
vai abrir outro processo”, ao contrário o que se
diz de que há vários programas abertos na barra
de tarefa.
Um processo é uma instância de um programa e
possui dados de entrada, dados de saída e um
estado (executando, bloqueando, pronto). 4/15
GESTÃO DE PROCESSOS
PROGRAMA VS PROCESSO

Um programa pode ter várias instâncias em


execução (em diferentes processos).
Algoritmo codificado.
Forma como o programador vê a tarefa a ser
executada.
Um processo é único.
Código acompanhado de dados e estado.
Forma pela qual o SO vê um programa e
possibilita sua execução;

5/15
GESTÃO DE PROCESSOS
PROCESSO EM PRIMEIRO PLANO
1) Interação especifica ou direita com o usuário.
“Quando por exemplo você abre um browser, ao digitar
um endereço, desta forma, está a interagir de forma
directa com o processo”.
Exemplos: 1) Ler um arquivo;
2) Iniciar um programa (linha de comando ou
um duplo clique no mouse).

6/15
GESTÃO DE PROCESSOS
PROCESSO EM SEGUNDO PLANO
Processos com funções específicas que independem
de usuários:
“Um processo em segundo plano ou background, é um
processo genérico”, que vai servir uma quantidade
grande de usuários, ao contrário do processo de 1º
plano que é específico.
Exemplos: 1) Recepção e envio de e-mails (o
servidor de e-mail, vai servir para n processos e
para n usuários distintos).
2) Serviços de impressão.

7/15
GESTÃO DE PROCESSOS
CADA PROCESSO POSSUI

1)Conjunto de instruções
2)Espaço de endereçamento (espaço reservado
para que o processo possa ler e escrever – 0
até max)
3)Contexto de hardware (valores nos
registradores, como PC, ponteiro de pilha, e
reg. de prop. gerais)
4)Contexto de software (atributos em geral,
como lista de arquivos abertos, variáveis,
etc.)

8/15
GESTÃO DE PROCESSOS
ESPAÇO DE ENDEREÇAMENTO
1)Texto: código executável do(s) programa(s);
2)Dados: as variáveis;
3)Pilha de Execução:
a) Controla a execução do processo;
b) Empilhando chamadas a procedimentos,
seus parâmetros e variáveis locais, etc.

9/15
GESTÃO DE PROCESSOS
TABELA DE PROCESSOS
“Como estamos num ambiente multiprogramado,
existe muitos processos em execução, eu preciso
de uma tabela, para se determinar quem é quem”.
1)Também chamada de BCP (Bloco Controlo de
Processo).
2)Contém informações de contexto de cada processo
(ex. ponteiros de arquivos abertos, posição do
próximo byte a ser lido em cada arquivo, etc.)
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.
10/1
GESTÃO DE PROCESSOS
CARACTERISTICAS DE PROCESSOS
1) Processos CPU-bound (orientados à CPU):
processos que utilizam muito o
processador;
Tempo de execução é definido pelos
ciclos de processador;
2) Processos I/O-bound (orientados à E/S):
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 CPU-bound e I/O-bound;
11/1
GESTÃO DE PROCESSOS
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 criar um novo
processo (duplo clique do mouse, etc.).
(d) Inicialização de um processo em batch (em
sistemas mainframes com proc. Em
batch).

12/1
GESTÃO DE PROCESSOS
FINALIZAÇÃO DE 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. Ex: gcc filename.c; o arquivo
filename.c não existe.

13/1
GESTÃO DE PROCESSOS
FINALIZAÇÃO DE PROCESSOS (Cont.)
1) Término com erro fatal (involuntário):
(a) Erro causado por algum erro no programa (bug);
Ex: Divisão por 0 (zero); Referência à memória
Inexistente; Execução de uma instrução ilegal;

2) Término por erro (involuntário) causado por algum


outro processo, via chamada a:
(a) kill (UNIX).
(b) TerminateProcess (Windows)

14/1
GESTÃO DE PROCESSOS
ESTADOS DE PROCESSOS

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.

15/1
GESTÃO DE PROCESSOS
TRANSIÇÃO ENTRE PROCESSOS

Quando tem
a CPU a seu
controlo 1.O processo bloqueia
aguardando uma entrada
2.O escalonador seleciona outro
processo
3.O escalonador seleciona esse
processo
4.A entrada torna-se disponível
Quando
Quando
possui
executa
tudo, menos
operação de
a CPU
E/S

16/1
CONCLUINDO
Foram abordados nesta aula:
Foram abordadas nesta aula:
✓ Gestão de Processos

Estes slides estão baseados na bibliografia:


Bibliografia:
▪ Sistemas Operacionais Modernos;
Tanenbaum, A.S. 4ª Edição.

Na próxima aula:
Processos e Escalonamento. 17/15

Você também pode gostar