Post on 17-Apr-2015
Processos
Prof. André Luis Meneses Silvaalms@ufs.br
Processo
Um dos conceitos mais importantes em sistemas operacionais.
Um processo é um programa em execução.
Processo
Processo
Características: Cada processo possui um identificador único, conhecido
como pid (process id). As informações sobre um processo estão armazenadas na
tabela de processos, acessada pelo pid.
Durante a execução, o processo compartilha o processador com outros processos em execução (escalonamento de processador).
Um processo interage com outros processos através de mecanismos de comunicação.
Modelos de Processos
Classificação dos modelos de processos quanto ao custo de troca de contexto e manutenção. Heavyweight (processos tradicionais) Lightweight (threads)
Modelos de Processos• Heavyweight
• Processo é composto pelo ambiente e execução.
• Cada processo possui um único fluxo de controle.
• Independente dos demais.
Modelos de Processos
Em um dado instante, pode haver vários processos ativos. O processador é chaveado entre os diversos
processos. Por esta razão, fica praticamente impossível prever
o tempo de execução de um processo, pois este dependerá da carga do sistema. Ruim para RTOS.
Essa característica, de permitir vários processos ativos, é conhecida como multiprogramação.
Modelos de Processos
Modelos de Processos
Modelos de Processos
Como acontece a multiprogramação? O Sistema Operacional é responsável por
“escalonar” cada tarefa para execução. Cada tarefa possui uma fatia de tempo, de acordo
com sua importância (prioridade) para o sistema. Cada troca de processo é acompanhado pela troca
de contexto. troca de contexto.swf
Criação de Processos
Principais eventos que levam à criação de processos
1. Início do sistema2. Execução de chamada ao sistema de
criação de processos3. Solicitação do usuário para criar um
novo processo4. Início de um job em lote
12
Término de Processos
Condições que levam ao término de processos
1. Saída normal (voluntária)
2. Saída por erro (voluntária)
3. Erro fatal (involuntário)
4. Cancelamento por um outro processo (involuntário)
13
Processos na prática
1. Iniciar em modo linux 2. Iniciar o terminal 3. executar top.
Hierarquias de Processos
Todo S.O. possuemecanismosquepermitem a criação de processos (fork() no linux)
Geralmente um processo é criadoporoutro.
15
Paicria um processofilho, processofilhopodecriarseupróprioprocesso
Formamumahierarquia Linux chamaisso de “grupo de processos” Filho é clone do processopai.
Windows nãopossui o conceito de hierarquia de processos Todososprocessossãocriadosiguais e
apóscriaçãosãopersonalizados (create_process()).
Hierarquias de Processos
Estados de Processos (1)
17
Tabelas de Processos
Mantém todas as informações de um processo.
Campos úteis para gerência do processo, memória e arquivos.
Varia de Sistema Operacional para Sistema Operacional.
Implementação de Processos (1)
Campos da entrada de uma tabela de processos19
Atividades
Elaborar um Live CD/DVD Linux, o mesmo será utilizado para as disciplinas S.O. e Linguagens Formais e Tradutores.
Ferramentas G++. Eclipse IDE ou Netbeans IDE para C++ e Java. CUP. JFLEX. JDK 6. make autoconfig Xfce (para quem quiser).
Para 01/09