Prof. André Luis Meneses Silva alms@ufs.br Processos Prof. André Luis Meneses Silva alms@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
Multiprogramação Esqueleto do que o nível mais baixo do SO faz quando ocorre uma interrupção
Criação de Processos Início do sistema Principais eventos que levam à criação de processos Início do sistema Execução de chamada ao sistema de criação de processos Solicitação do usuário para criar um novo processo Início de um job em lote
Término de Processos Condições que levam ao término de processos Saída normal (voluntária) Saída por erro (voluntária) Erro fatal (involuntário) Cancelamento por um outro processo (involuntário)
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.
Hierarquias de Processos 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()).
Estados de Processos (1)
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 processos
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