Sistemas Operacionais
Processos
Processos
Conceito:
Processos é todo programa carregado na
memória do computador para execução + o
ambiente onde ele é executado.
Ele é uma entidade abstrata, formada pelos
recursos de hardware e pela execução das
instruções referentes a um algoritmo sendo
executado pelo processador.
Processos
Todos os computadores são capazes de fazer
várias coisas ao mesmo tempo.
 Executar um programa, ler dados do disco exibir
mensagens na tela
 Tudo sendo executado “ao mesmo tempo”
 Esse mecanismo de trocas rápidas é chamado de
multiprogramação
Processos
Em um ambiente multiprogramado a CPU
salta de programa em programa.
Cada programa tem uma porção de tempo
para ser executado.
 Em um segundo a CPU pode trabalhar em vários
programas
 Falsa ilusão de paralelismo
Processos
Algoritmo:
Um algoritmo é uma sequência finita de
instruções bem definidas e não ambíguas,
cada uma das quais pode ser executada num
período de tempo finito.
Um
algoritmo
não
representa
necessariamente
um
programa
de
computador, mas sim os passos necessários
para realizar uma tarefa.
Processos
Algoritmo:
Processos
Algoritmo:
Função "SomaDeValores"
variável:
SOMA,A,B: inteiro
inicio
Escreva("Digite um numero")
Leia(A)
escreva("digite outro numero")
leia(B) Soma <- A + B
escreva(SOMA)
fim
Processos
Um processo em execução utiliza os
dispositivos abaixo, como disco, memória,
processador
Processador
Unidade de
Controle
Unidade
Lógica
Aritmética
Dispositivos de entrada e
saída
  
  
Registra-dores
Memória
Principal
Vídeo
Teclado
Barramento
Disco
Processos
Programa x Processo
O programa é o algoritmo que expressa
uma notação adequada, expressa em um
conjunto organizado de instruções em
linguagem natural ou codificada
O processo é uma atividade desempenhada
pela CPU de ler o algoritmo, buscar os dados
e executá-los segundo o algoritmo ordena.
Processos
Componentes:





Código executável
Registradores
Pilha
Dispositivos alocados
Etc.
Processos
Características:
 Tempo de execução não constante
 Escalonamento
 BCP (Bloco de Controle de Processo)
 Estrutura de dados que contém importantes
informações sobre os processos
 Estado
 Situação característica na execução de processos
Processos
Estados do Processo:
 Novo
 Criação do contexto do processo
 Pronto
 Processo apto a ser escalonado e receber o contexto de
um processador
 Em execução
 Processo com controle de um processador
 Em espera
 Processo quando um evento externo ocorrer
 Encerrado
 Desalocados os recursos e eliminado o contexto
Processos
Cada programa a ser executado é trazido do
disco para a memória principal, de onde os
dados serão passados para os registradores
no processador.
Processos
BCP é uma estrutura de dados que
contém importantes informações sobre
os processos.
Ponteiro
Estado do Processo
Nome do Processo
Prioridade do Processo
Registradores
Limites de Memória
Lista de Arqvs. Abertos
Processos
Chaveamento (troca) de contexto
Quando a posse da CPU é atribuida a outro
processo (escalonamento), o sistema salva o
estado do processo antigo e carrega o estado
do processo novo.
O tempo de troca de contexto chama-se
sobrecarga
 O sistema não realiza trabalho útil enquanto realiza
chaveamento
 Operação cara (+ ou – 10% do tempo da CPU)
Processos
O S.O. gerencia os processos através das
system calls que realizam operações como
criação, eliminação, sincronização, suspensão
de processos, dentre outros.
Processos
Criação de Processos:
É necessário algum modo de criar e finalizar
processos durante a operação e quando for
preciso.
Os eventos de criação são:
 Início do sistema.
 Execução de uma chamada ao sistema de criação
deprocesso por um processo já em execução.
 Requisição do usuário para criar um novo
processo
 Início de um job programado
Processos
Criação de Processos:
Muitas vezes um processo em execução cria
um outro processo para auxiliar na tarefa
desempenhada.
• Exemplo
–Recebe dados e processar
Processos
Criação de Processos:
Em sistemas interativos os usuários podem
iniciar a criação de um processo
 Digitando uma linha de comando
 Clicando em um ícone.
Processos
Criação de Processos:
Tecnicamente, um novo processo é criado por
um processo existente executando uma
chamada ao sistema de criação de processo.
system calls:
 Unix: fork
 Win32: CreateProcess
Processos
Criação de Processos:
Quando um SO é carregado, em geral criamse vários processos.
 Processos em primeiro plano
 Processos em segundo plano
Comandos para vizualização de processos:
 No windows Ctrl+Alt+Del
 linux/unix o comando ps
Execução do comando ps
Execução do Ctrl+Alt+Del
Processos
Finalização de Processos:
Todo processo, depois de iniciado, terá que
ser finalizado.
A finalização pode ser:
Saída normal (voluntária)
 Unix: exit
 Windows: ExitProcess
 Saída por erro (voluntária)
 divisão por zero

Processos
Finalização de Processos:
A finalização pode ser:
Erro fatal (involuntário)
 Compilar um programa que não existe
javac teste.java
 Cancelamento por outro processo
 No Unix: kill
 No Windows: TerminateProcess

Processos
Próxima Aula:
Escalonamento de Processos
Obrigado
Download

processo