Professional Documents
Culture Documents
jose.cavalcanti@ifpb.edu.br
http://www.ifpb.edu.br
Processos
n Conceito de processo;
n Estado de um processo;
n Implementao de processos;
n Fila de processo;
n Escalonador;
n Um programa em execuo;
n Um processo inclui:
q Pilha;
q Seo de dados;
Processos
n Exemplo:
n Processo pai cria processos filho que, por sua vez, criam
outros processos, formando uma rvore de processos:
q Compartilhamento de recursos;
q Pai e filhos compartilham todos os recursos;
q Filhos compartilham subconjunto dos recursos do pai;
q Pai e filho no compartilham recursos;
n Execuo:
q Pai e filhos executam simultaneamente;
q Pai espera at que filhos terminem;
Criao de Processos
n Espao de endereos:
q Filho duplica do pai;
q Filho tem um programa carregado;
n Exemplos do UNIX:
q Chamada do sistema fork cria novo processos;
q Chamada do sistema exec usada aps um fork para
substituir o espao de memria do processo por um novo
programa;
n Exemplos do Windows:
q Chamada do sistema CreateProcess cria novo processos;
Criao de Processos
n Exemplos do UNIX:
q Chamada do sistema exit sada normal;
q Chamada do sistema kill sada por outro processo;
n Exemplos do Windows:
q Chamada do sistema ExitProcess;
q Chamada do sistema TerminateProcess sada por outro
processo;
Trmino de um Processo
n Novo:
q Processo est sendo criado;
n Executando (running):
q Instrues esto sendo executadas;
n Esperando (wait):
q Processo est esperando que ocorra algum evento;
n Pronto (ready):
q Processo est esperando para ser executado;
n Terminado:
q Processo terminou a execuo;
Estados de um Processo
Troca de Contexto
n Fila de job:
q Conjunto de todos os processos no sistema;
n Fila de pronto:
q Conjunto de todos os processos residindo na memria
principal, prontos e esperando para execuo;
n Filas de dispositivo:
q Conjunto de processos esperando por um dispositivo de E/S;
n Tipos de escalonadores:
q Longo prazo:
v Seleciona quais processos devem ser trazidos para a fila
de pronto;
v invocado com pouca frequncia (segundos, minutos);
v Controla o grau de multiprogramao;
q Curto prazo:
v Seleciona qual processo deve ser executado em seguida
e aloca CPU;
v invocado muito frequentemente (milissegundos);
Atividades Laboratrio Simulador Sosim (Pg 79)
n Criao de Processos;
n Tipos de Processos;
n PCB;
n Estatsticas;
n Log de execuo;
n Comparativo:
Threads
n Recursos:
n Recursos:
n Comandos comuns:
n Implementao:
v nvel de usurio
v em nvel de kernel
v forma hbrida;
n Em nvel de usurio:
n Em nvel de usurio:
n Em nvel de kernel:
n Em nvel de kernel:
n Estratgia hbrida:
n Sugestes de implementao?
n Exemplos:
n Problemas:
q Desabilitar interrupes;
q Chaveamento obrigatrio;
q Soluo de Peterson;
q Dormir e acordar;
q Semforos;
q Mutex;
q Monitores;
Comunicao entre Processos
n Desabilitar interrupes:
n Chaveamento obrigatrio:
n Soluo de Peterson:
q Usa uma varivel turn para definir quem a vez para usar a
regio crtica;
Comunicao entre Processos
n Dormir e acordar:
n Dormir e acordar:
q Sleep() e Wakeup():
n Semforos:
n Mutex:
n Monitores:
n Duas formas:
q Memria compartilhada;
q Troca de mensagem;
Comunicao entre Processos
n Troca de mensagens:
q Sistema de mensagem:
v Processos se comunicam entre si sem lanar mo de
variveis compartilhadas;
n H vrios tipos:
q Batch;
q Interativo;
q Tempo Real;
Escalonamento Tipos
n Batch:
n Iterativo:
q Mudana rpida;
n Tempo Real:
n Todos os sistemas:
n Sistemas em lote(batch):
n Sistemas interativos:
n Troca de Contexto:
Escalonamento
n Critrios:
n No Preemptivos:
n Preemptivos:
n Algoritmos na literatura:
q Filas Mltiplas;
n Exemplo:
Escalonamento Algoritmo FIFO
n Exemplo:
Escalonamento Algoritmo FIFO
n Exemplo:
Escalonamento Algoritmo FIFO
n Exemplo:
Escalonamento Algoritmo SJF
q Dois esquemas:
n Exemplo:
Escalonamento Algoritmo SJF
n Exemplo:
Escalonamento Algoritmo SJF
n Exemplo:
Escalonamento Algoritmo SJF
n Exemplo:
Escalonamento Algoritmo SJF
n Exemplo:
Escalonamento Algoritmo Circular (Round Robin)
n Preemptivo;
n Exemplo:
Escalonamento Algoritmo Circular (Round Robin)
n Exemplo:
Escalonamento Algoritmo Circular (Round Robin)
n Exemplo:
Escalonamento Algoritmo Circular (Round Robin)
n Exemplo:
Escalonamento Algoritmo Circular (Round Robin)
n Exemplo:
Escalonamento Algoritmo Circular (Round Robin)
n Exemplo:
Escalonamento Algoritmo Circular (Round Robin)
n Exemplo:
Escalonamento Algoritmo Circular (Round Robin)
n Exemplo:
Escalonamento Algoritmo Circular (Round Robin)
n Exemplo:
Escalonamento Algoritmo Circular (Round Robin)
n Exemplo:
Escalonamento Algoritmo Circular com Prioridade
n Preemptivo;
n Exemplo:
Escalonamento Algoritmo Filas Mltiplas
n Exemplo:
Atividade Laboratrio Simulador Sosim (Pg 143)
n Escalonamento Circular;
n Leitores e escritores
n Barbeiro
Sistemas Operacionais
Prof. MSc. Jos Hermano Cavalcanti Filho
jose.cavalcanti@ifpb.edu.br
http://www.ifpb.edu.br