Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Processos
IC - UFF
O conceito de processos
No captulo 1, fizemos as seguintes afirmativas quanto aos processos: Mais geral que programa Consiste em um cdigo executvel e seus dados associados, alm de um contexto de execuo Tudo em sistemas atuais est em torno de processos
IC - UFF
Enfim, ...
IC - UFF
IC - UFF
Estados de um Processo
Definida pelo PC
PC pode apontar para diferentes processos Manipulao realizada pelo dispatcher (despachante)
Trace de um processo
IC - UFF
Estados de um Processo
MP
dispatcher
x y
A
B
Cada ciclo = uma instruo quantum = 6 ciclos Trace: x, x+1, ..., x+5, y, ...y+5, x, x+1, ..., x+5, z, ..., z+5, x, x+1, ..., x+5, w, ...w+5,...
IC - UFF
entra
fila
despacho
sai
UCP
pausa
IC - UFF
Criando de processos
O que faz o SO para criar processos? constri estruturas de dados aloca espao de endereamento
IC - UFF
Criando de processos
Quando cria?
IC - UFF
Terminando processos
Quando terminar? execuo da instruo Halt; condies de erro; ... Algumas razes para o trmino: tempo excedido; falta de memria; uso de instruo privilegiada; trmino do processo pai; ...
IC - UFF
No: pode estar bloqueado esperando E/S! despachante no pode simplesmente pegar um processo que esteja na fila
IC - UFF
finalizado
IC - UFF
Modelo de 5 estados
Novo
criado, mas no necessariamente admitido no sistema Trmino da execuo no mais pronto Ainda com dados para anlise de desempenho Time-slice ou por prioridade (neste caso, preempo)
Finalizado
IC - UFF
Modelo de 5 estados
Preempo X no preempo Executando <-> bloqueado
Chamada ao sistema: E/S, alocao de MP, comunicao entre processos Chamada foi atendida
IC - UFF
despacho
liberao
UCP
pausa
espera evento
IC - UFF
despacho
liberao
UCP
pausa
fila evento 1
evento 1 ocorre
espera evento 1
fila evento 2
evento 2 ocorre
IC - UFF
espera evento 2
despacho
UCP
fila evento 1
evento 1 ocorre
espera evento 1
fila evento 2
evento 2 ocorre
IC - UFF
espera evento 2
O estado Suspenso
Ocupao desnecessria de MP
IC - UFF
O estado Suspenso
Swapping
Imagem do processo sai temporariamente da MP Quando nenhum processo em MP est pronto (quase todos bloqueados esperando por eventos) um operao de E/S
despacho admisso novo pronto pausa espera evento executando liberao sada
ativao
suspenso suspenso
IC - UFF
liberao sada
ativa
pronto
suspende pausa evento espera ocorre evento ativa suspensobloqueado bloqueado suspende
IC - UFF
Em um sistema multi-tarefas, o SO dever: escalonar e despachar processos para execuo alocar recursos aos processos responder a pedidos de recursos feitos pelos programas dos usurios Como fazer?
IC - UFF
Tabelas!
Tabelas de memria Info sobre alocao de MP (e MS, caso MV seja implementada) aos processos Atributos de proteo, regies compartilhadas Tabelas de E/S Para controle de dispositivos e canais do sistema estado de dispositivo de E/S
IC - UFF
Tabelas!
Tabelas de arquivos localizao de arquivos em MS Tabelas de processos lista de processos existentes As tabelas esto conectadas entre si So utilizadas por diferentes gerenciadores (mdulos do SO)
IC - UFF
Controlando processos
Para gerenciar processos o SO precisa conhecer: onde o processo est localizado os atributos do processo Como representado um processo? imagem do processo: programa + dados + pilha(s) + atributos atributos = info necessrias pelo SO imagem est na MP
IC - UFF
Atributos do processo
O conjunto dos atributos de um processo conhecido como bloco de controle do processo (PCB, em ingls) PCB pode ser dividido em trs partes: identificao do processo informao de estado do processador informao de controle do processo
IC - UFF
Identificao do processo
Feita por identificadores numricos que incluem: identificador do processo em referncia cruzada Tabelas Comunicao entre processos identificador do processo que o criou (pai) identificador do usurio (que um processo)
IC - UFF
Contida nos registradores do processador: registradores visveis ao usurio (aqueles referenciados por programa) registradores de controle e estado (e.g., PC, IR, SO, PSW (cdigos de condio)) apontadores de pilha
IC - UFF
Informao de controle
Estado e escalonamento, que inclue: estado do processo (e.g., pronto) nvel corrente de prioridade suporte ao escalonamento (e.g., h quanto tempo o processo est esperando) evento (e.g., identificao do evento que o processo est esperando)
IC - UFF
Informao de controle
Estruturao de dados (e.g., relao pai-filho) Comunicao entre processos (e.g., sinais) Privilgios (e.g., tipos de instrues que podem ser executadas) Gerenciamento de memria (e.g., ponteiro para tabela de pginas) Propriedade e uso de recursos (e.g., arquivos abertos)
IC - UFF
O que modo dual de operao? proteo do sistema O que o ncleo (kernel) do SO? modo privilegiado/supervisor/ncleo certas funes so somente executadas em modo privilegiado Modo do usurio modo de execuo dos processos comuns
IC - UFF
IC - UFF
Vimos os dados armazenados para controle dos processos. Os dados manipulados pelo SO so necessrios para realizar:
Funes do ncleo: gerenciamento de processos gerenciamento de memria gerenciamento de E/S funes de suporte
IC - UFF
Gerenciamento de processos
Funes tpicas:
criao e trmino de processos escalonamento e despacho Chaveamento entre processos sincronizao entre processos gerenciamento de PCBs
IC - UFF
Gerenciamento de processos
Criao de processos atribuio de identificador nico ao processo adio de nova linha tabela de processos alocao de espao para a imagem cdigo+dados+pilha+bloco de controle iniciao do PCB inclui identificao nas listas apropriadas (e.g., lista de prontos para escalonamento)
IC - UFF
Gerenciamento de processos
Chaveamento entre processos interrupes relgio (mudana de estado, escalonamento) E/S falta de memria (pgina ou segmento) o processo fica bloqueado para leitura de disco traps: condies anormais chamada ao sistema (e.g., operao de E/S)
IC - UFF
Gerenciamento de processos
Tratamento de interrupo Processador fica em modo kernel/ncleo informaes de controle salvas no PCB despachante pode escalonar outro processo depois do tratamento ou, no caso de interrupo por E/S, o SO pode escolher o processo interrompido para continuar a ser executado e economizar tempo na troca de contexto
IC - UFF
salva contexto do processo atualiza bloco de controle do processo (PCB) gravao do novo estado (pronto/bloqueado/suspenso...) gravao do motivo da mudana de estado move o processo (PCB) para a fila apropriada escolhe novo processo para execuo atualiza PCB do novo processo e dados relativos a MP restaura contexto do novo processo
IC - UFF
Gerenciamento de memria
swapping
IC - UFF
Executando o SO
depende de como o projetista implementa o SO funes executadas como processo de usurio: s h chaveamento de modo SO como conjunto de processos de sistema: funes principais do ncleo como processos
IC - UFF
Ncleo separado
ncleo fora dos processos, alocado em uma determinada regio da MP salva contexto, escalona e despacha processos.... o processo interrompido para o SO entrar em ao
P1
P2
Pn
Ncleo
IC - UFF
comum em microcomputadores: as funes chamadas no processo esto embutidas na imagem deste cdigo e dados compartilhados entre o processo e SO quando interrupo, o prprio processo colocado em modo privilegiado
P1
P2
Pn
Funes do SO
Funes do SO
Funes do SO
SO em mdulos pequenos processos SO (e.g., servios) troca de contexto menos custosa mais vantajoso para multicomputadores
U1
Un
Funes do SO1
Funes do SOm
liberao fim
executando
IC - UFF
IC - UFF