Please enable JavaScript.
Coggle requires JavaScript to display documents.
Processo (Estado (pronto(ready) (waiting->ready(E/S ou evento…
Processo
Estado
Novo(new)
Criado processo
executando(Running)
instruções executadas
ready->running(schedule dispatch)
esperando(waiting)
esperando evento
running->waiting(E/S ou espera de evento)
Terminado(terminated)
termino execução
running->terminated(sair)
pronto(ready)
waiting->ready(E/S ou evento completado)
new -> ready (addmited)
Esperando CPU
running->ready(interromper)
Bloco de controle de processo(PCB)
Informação associada por processo
Estado do processo
registradores CPU
informações
Gerenciamento de memória
status de E/S
contabilidade
escalonamento da cpu
PCB(Nó)
ligado com outros nós por endereço
'Lista encadeada'
Escalonadores
médio prazo
Swapping
curto prazo(escalonador CPU)
Próximo processo
Rápido
Longo prazo(escalonador de job)
seleciona processo pra fila pronto
lento
CPU-BOUND
Mais tempo fazendo calculo
'processos obcecados pelo CPU'
limitado pelo CPU
I/O-BOUND
Limitados pelo I/O
Gasta mais tempo I/O
ex: download, mover processos de diretório.
BUFFER(TM)
msg conectada ao link
capacidade
zero
emissor espera receptor
limitada
emissor espera se link estiver cheio
ilimitada
emissor nunca espera
Guarda informação temporariamente
Transição de sistemas(velocidade diferentes)
'3 ponte'
Escalonamento
Multiprogramação
Ocupa CPU tempo todo
compartilhamento de tempo
Alterna programas execução
Interação com usuário
Escalonador de processo
seleciona processo disponivel
Atribui CPU
Numero de processo
Número de CPU disponivel
Comunicação
independente
Não afeta
Não é afetado
Cooperativo
Afeta
é afetado
compartilha dados de outros processos
Beneficios
Compartilhar informações
agilidade na computação
modularidade
divisão das funções
conveniência
trabalha em varias tarefas
IPC(Interprocess communication)
Troca de mensagem(TM)
Simples implementação
pequenas trocas de dados
send(msg)
tamanho da msg fixa/variável
link comunicação
fisico
memória compartilhada/barramento de hardware
lógico
própriedades lógicas
Comunicação
Direta
Nomeia processo
Estabelece link automaticamente
um link por par(processos)
unidirecional/bidirecional(normalmente)
par de processo -> 1 link
sabe quem recebe
Indireta
caixa de correio(portas)
ID exclusiva
Comunicação de processo
Link de comunicação
caixa em comum
associado a muitos/nenhum processo
(uni/bi)direcional
Compartilha varios links
receive(msg)
Memória compartilhada
região memória cmp
remove mecanismo de proteção
conveniência de comunicação
Meio mais rapido de comunicação.
baixa intervenção do kernel
administra as áreas
conflito
sincronização
SO não interfere
Conceito de SO
Processo
Programa em execução
Sequêncial execution
Contador de programa
PILHA
dados temporarios
LIFO
Seção de dados
'variaveis globais'
HEAP
'Malloc'
Memória alocada dinâmicamente
Tempo de execução(só)
Seção de texto
código do programa
Sistema Batch
Lote
'Cartão perfurado'
retorna resultado final
Sistema compartilhados no tempo
Programa/tarefa de usuário
Filas de escalonamento
Fila
Job
Todos processos do sistema
Pronto
processos na memória principal
esperando execução
dispositivos
Esperando por Dispositivo E/S
Processo migra entre filas
Troca contexto
contexto
PCB do processo
Troca de processo
Salva processo antigo
carrega no novo processo
ovehead
sistema não faz nada
Tempo (hardware)
Criação
Pai cria filho
estrutura de Árvore
compartilha
Todos/Alguns/Nenhum
recursos
executa
Simultaneamente/ Espera o filho acaba
Termino
exit()
filho executa ultima instrução
Notifica o pai
pai espera via wait()
abort()
Pai termina execução dos filhos
'filho excedeu recursos'
'pai saindo'
alguns SO não permite filho terminar
termino em cascata
close()
'gentil'
pergunta se quer fechar
kill()
'finalizar agora (gerenciador de tarefas win)
'apertar o x'
'Morreu'
Acabou o processo
Sincronismo(TM)
Síncrono/bloqueio
envio
Receber msg
emissor bloqueado
recepção
receptor bloqueado
msg disponivel
Tela de login
assíncrono/não bloqueio
envio
emissor envia e continua
recepção
receptor receba msg válida ou nula.