SISTEMAS OPERACIONAISPROCESSOS
Horácio Ribeiro
ESTRUTURA DO PROCESSO
Processo é gerado pelo compilador É um conceito dinâmico Os processo concorrem pelo processo:
P1
Inst.p11Inst.p12Inst.p13.....Inst.p1n
P2
Inst.p21Inst.p22Inst.p23.....Inst.p2n
P3
Inst.p31Inst.p32Inst.p13.....Inst.p3n
Px
Inst.px1Inst.px2Inst.pxx.....Inst.p1n
tempo
In
st.p
11In
st.p
12In
st.p
13In
st21
Inst
22In
st21
Inst
31In
st32
Int1
4 In
t15
Inst
15in
st24
inst
25
ESTRUTURA DO PROCESSO
Cada usuário tem um processo associado Ao usar a CPU o usuário pensa que é único
ESTRUTURA DO PROCESSO
Área de hardware:Espaço destinado ao conteúdo dos registradores da
CPUÁrea de Software:
Identificação do processoLimites dos recursos que pode ser usado
Número de arquivos – identificação do usuárioCotas de recursos- prioridade
Área de EndereçamentoEspaço de memória que o processo pode usar
BLOCO DE CONTROLE DO PROCESSO
PCB – Process Control Block Implementa uma estrutura de dados para
controlar o processo que está na memória. Esta estrutura de dados é implementada na
memória – no sistema operacional
PCB PID=1
PCB PID=2
PCB PID=8
PCB PID=5
ESTRUTURA DO PCB
contabilização
PONTEIROS
ESTADO DO PROCESSO
PRIORIDADE DO PROCESSO
REGISTRADORES
LIMITES DE MEMÓRIA
ARQUIVOS ABERTOS
PROCESS STATUS = COMANDOS
Pode-se: alterar, criar, deletar visualizar, sincronizar, trocar prioridades...
ESTADOS DO PROCESSO:
Execução – Running - quando está ocupando o processar (um por vez)
Pronto – Ready – O processo aguarda a CPU a ordem de executar é chamada de ESCALONAMENTO
Espera – wait – quando aguarda por algum evento (também chamado de bloced)
MUDANÇA DE ESTADOS
Os eventos são gradas pelo processo ou pelo S.O.
Um processo pronto pode estar na Memória principal ou em disco:
Mudança de estado: PRONTO EXECUÇÃO EXECUÇÃO ESPERA ESPERA PRONTO EXECUÇÃO PRONTO
TROCA DE PROGRAMA NA MEMÓRIA
A técnica de troca do processo entre a memória principal e o disco é
conhecida como:
Swap out --- tira da memória principal.
Swap in ------ tira do disco e coloca
na memória
CRIAÇÃO DO PROCESSO - NEW
Criação (new):
Está no estado de criação quando a estrutura de PCB,
aloca recursos
Formas de criação de processo:Logon interativo:
Via linguagem de comandosVia rotinas de sistemas
operacionais
ELIMINAÇÃO DO PROCESSO - EXIT
Eliminação (exit):
Está no estado de terminado o processo não é mais
executado.Neste momento são
colocadas as informações de contabilização.
O PCB é deletado
EXIT Eliminação (exit):
Formas de eliminar o processo:
-Termino norma de execução.-Eliminação por um outro processo.-Eliminação forçada por falta de recursos
TIPO DE PROCESSOS
-CPU bound: focado no uso de CPU
- I/O bound: focado em periféricos de entrada e
saída
PROCESS FOREGROUND E BACKGROUND
Um processo tem dois canais de comunicação
processo
in out
FOREGROUND - COMUNICAÇÃO DIRETA COM O USUÁRIO DURANTE O PROCESSAMENTO (INTERATIVO)
BACKGROUND - MODELO BATCH DE COMUNICAÇÃO
PIPE LINE A SAIDA DE UM PROCESSO É LIGADA A ENTRADA DE OUTRO PROCESSO
PROCESSOS INDEPENDENTES, SUBPROCESSO E THREADS
SÃO FORMAS DIFERENTES DE IMPLEMNTAR: O CÓDIGO TRABALHA DE FORMA COOPERATIVA E
PODEMOS TER:
independente: Não há vinculo do processo criado com
o seu criador.Sub processo: Processo pai ligado ao processo filho
PROCESSOS INDEPENDENTES, SUBPROCESSO E THREADS
Thread – criado para reduzir o tempo gasto na criação, eliminação e troca de contexto.
Em um thread pode-se associar
partes múltiplas do código e compartilham o mesmo contexto de software
SINAIS
É um mecanismo que permite notificar processos de eventos gerados pelo S.O. ou por outros processos.
O tratamento de um sinal é semelhante ao tratamento de uma interrupção.