Você está na página 1de 18

Processos

Solander Patrício Lopes Agostinho


Definição  “Programa em execução…?”
 Esta do processo
 Valor do PC
 Area de registradores
 Info de Escalonamento
de processos
Bloco de  Info de gerenciamento
controle do de memorias
 Contabilidade do
processo processo
 E/S
Endereçament
o
Estrutura geral
do Sistema
Processo de
boot no Unix
Boot no Kernel
Processos no Unix
(Linux)
Uso, tratamento, interrupções…
Primeiro processo a executar
Nunca termina (Causa Shutdown se
Processo de morrer)
boot no Init
Lê arquivos de configuração
Dispara demais processos
 Fork(): cópia do processo pai
 Exec(): Substitui o processo por novo programa
 Formas de comunicação:
 Memória
Fork() e Exec()  Semáforos
 Pipes
 Msgs
 Processos, Threads de aplicação (pthreads)
 Fork()
 Cria-se uma cópia da memória do processo pai
 Recursos de E/S são compartilhados
Criação de
 Exec()
processo  S.O busca programa da memória e o carrega sobre a área do
programa que fez a chamada
 Execução passa para o inicio do programa principal carregado
Processo a
partir do INIT
Processo a
partir do INIT
Processo a
partir do
LOGIN
Procedimento:
Inicio-Fim
 Edição e compilação de programas:
 Editar o conteúdo do programa utilizando um editor de textos, por
exemplo o gedit;
 Para compilar o programa, execute o seguinte comando em um
terminal:
 gcc -o prog prog.c onde -o prog dá o nome do programa
executável, prog no caso.
 Execute seu programa com prog ou ./prog (dependendo da
configuração do seu Linux, ele não procura programas no diretório
corrente; o ./prog avisa que você realmente quer o programa prog
do diretório corrente).
 Cada vez que modificar o programa, é necessário salvá-lo pelo
editor e compilar novamente
Usando Fork()
e Exec()

Você também pode gostar