Introdução à Processos - Sistemas Operacionais

endersonlinhares20 0 views 24 slides Sep 26, 2025
Slide 1
Slide 1 of 24
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24

About This Presentation

Processos


Slide Content

Processos

Agenda
•Multiprogramação
•Modelo de Processos
•Criação de Processos

Finalização de Processos

Finalização de Processos
•Hierarquia de Processos
•Estados de um Processo
•Implementação de Processos
•Processos no Linux

Multiprogramação
•Execução simultânea de vários aplicativos
•Troca de Contexto de Execução
•Quais são as implicações da multiprogramação
para o projetista de SO?

Modelo de Processos
•Processo
–Programa em execução, incluindo seu espaço de
endereçamento e todos os recursos alocados,
como: arquivos, dispositivos de E/S,... como: arquivos, dispositivos de E/S,...
–Processos executam independentes uns dos
outros
–Algoritmo de escalonamento decide a ordem de
execução dos processos
–Qual é a diferença entre processo e programa?

Criação de Processos
•Eventos que causam a criação de um processo
–Inicialização do sistema
–Execução de uma chamada de sistema de criação
de processo por um processo em execução de processo por um processo em execução
–Requisição do usuário
–Inicialização de um batch job

Terminação de Processos
•Eventos que causam a finalização de um
processo
–Finalização voluntária

Erro de execução

Erro de execução
–Recebimento de um sinal de killde outro processo

Hierarquia de Processos
•O processo A que cria um novo processo B é
dito como processo pai, e B como processo
filho

Um grupo de processos é formado

Um grupo de processos é formado
•Presente em sistemas UNIX
•No Windows, os processos não possuem
hierarquia

Estados de um Processo
•Cite os eventos causadores das transições

Estados de um Processo
•Organização Básica
•Eventos E/S são tratados pelo SO
•Escalonador ordena a execução dos processos

Implementação de Processos
•Tabela de Processos
–Informações armazenadas para cada processo

Processos no Linux
•Obtendo o ID do processo e do pai do
processo

Processos no Linux
•Criação de Processos
–fork()
•Duplica um processo

Um processo filho é criado, com as mesmas

Um processo filho é criado, com as mesmas características do processo pai
–Espaço de Endereçamento
–Descritores de Arquivos
–PID diferente
–Um processo chama fork, dois processos recebem o re torno

Processos no Linux
•Executando um novo programa
–forkduplica um processo
–Como executar um novo programa no processo
recém criado? recém criado?
•Família exec
–Termina a execução do programa corrente, e começa a
execução de um novo programa do início

Processos no Linux
•Esperando pela finalização de um processo
–Em alguns casos, é interessante que o processo
pai espere pela finalização do processo filho

A chamada
wait

A chamada
wait
•Bloqueia um processo até que um de seus filhos
termine ou um erro aconteça

Processos no Linux
•Processos Zumbis
–O processo pai tem a obrigação de receber o
status da finalização de seus filhos

Processo zumbi é um processo finalizado cujo

Processo zumbi é um processo finalizado cujo status não foi lido pelo processo pai

Criando um Zumbi

Exercícios
•Implemente os exemplos de código mostrados
na apresentação
•Implemente uma versão simplificada de um
shell
, utilize o pseudocódigo mostrado no livro
shell
, utilize o pseudocódigo mostrado no livro
texto e as chamadas de sistema Linux
apresentadas
•Faça uma pesquisa sobre as outras chamadas
de sistemas das famílias exece wait. Descreva
a função de cada uma.

Exercícios
•Suponha que você está projetando um sistema
operacional para um arquitetura de
computadores avançada que faz a troca de
contexto do processo em hardware. Quais contexto do processo em hardware. Quais informações a CPU iria precisar?
•Quando uma interrupção ou chamada de sistema
transfere o controle para o sistema operacional,
uma área de pilha do kernelseparada da pilha do
processo é usada. Por quê?

Exercícios
•Sugira outros estados possíveis que um
processo pode assumir.
•Discuta sobre o overhead existente na
operação de troca de contexto entre operação de troca de contexto entre processos. Como podemos diminuí-lo?

Referências
•TANENBAUM, Andrew S., SistemasOperacionais
Modernos, 2°ed., Ed. Pearson Education, 2003.
•MITCHEL, M., OLDHAM J. e SAMUEL A., Advanced
Linux Programming, 1
°
ed.,
New
Riders
Publisher,
2001.