Gerenciamento de Processos - Windows e Linux
Prof. Marcos Ribeiro Quinet de Andrade
Universidade Federal Fluminense - UFF
Pólo Universitário de Rio das Ostras - PURO
1
Conceitos Básicos
Bá
Máxima utilização da CPU obtida com a multiprogramação; Ciclo do burst de CPU e E/S – A execução de um processo consiste em um ciclo de execução da CPU e espera por E/S;
Distribuição dos bursts de CPU de um ou mais processos ao longo do tempo;
2
Processos
Multiprogramação:
◦ Pseudoparalelismo: coleção de processos sendo executados alternadamente na CPU;
Um processo é caracterizado por um programa em execução, mas existe uma diferença sutil entre processo e programa:
◦ Um processo pode ser composto por vários programas, dados de entrada, dados de saída e um estado (executando, bloqueado, pronto)
3
Alternando a Sequência de Bursts de CPU e E/S
4
Histograma dos tempos de burst da CPU
5
Criando Processos
Processos precisam ser criados e finalizados a todo o momento:
◦ Na inicialização do sistema;
◦ Na execução de uma chamada ao sistema de criação de processo realizada por algum processo em execução;
◦ Na requisição de usuário para criar um novo processo; ◦ Na inicialização de um processo em batch (em mainframes com sistemas de batch).
6
Criando Processos
Processos podem ser:
◦ Específicos para usuários específicos:
Leitura de um arquivo;
Iniciar um programa (linha de comando ou um duplo clique no mouse); ◦ Com funções específicas, que independem de usuários, que são criados pelo sistema operacional e que são processados em segundo plano (daemons):
Recepção e envio de emails;
Serviços de Impressão;
7
Criando Processos
UNIX:
◦ Fork;
Cria um processo idêntico (filho) ao processo que a chamou (pai), possuindo a mesma imagem de memória, as mesmas cadeias de caracteres no ambiente e os mesmos arquivos abertos;
Depois, o processo filho executa uma chamada para mudar sua imagem de memória e executar um novo