O documento discute processos em sistemas operacionais Linux. Um processo é um programa em execução que reside na memória primária e consome recursos. Processos têm identificação, contexto de software, espaço de endereçamento e estado. Comandos como ps e kill podem ser usados para listar e finalizar processos.
2. Processo
• Processo é um programa que está em
execução;
• O programa reside em uma memória
secundária;
• O processo reside (em momento de execução)
em uma memória primária.
3. Processo
• Um processo tem:
– Início;
– Fim;
– Tempo de execução;
• Um processo consome:
– Recursos;
6. Contexto de Software
• Identificação (PID)
• Quotas
– número máximo de arquivos abertos simultaneamente;
– número máximo de operações de E/S pendentes;
– tamanho máximo do buffer para operações de E/S;
– tamanho máximo de memória principal e secundária que o
processo pode alocar;
– número máximo de processos, subprocessos e threads que
podem ser criados.
7. Contexto de Software
• Privilégios
– Permissão no acesso dos recursos;
– Permissão nas ações;
8. Espaço de Endereçamento
• Corresponde a sua área na memória, na qual
encontra-se código, dados e pilhas.
9. Bloco de Controle do Processo
• O processo é implementado pelo sistema
operacional através de uma estrutura de dados
chamada bloco de controle do processo
(Process Control Block – PCB).
16. Foreground no Linux
• Quando executamos um programa, o shell fica
esperando o mesmo terminar para depois nos
devolver a linha de comando. Isso chama-se
execução em primeiro plano, ou foreground,
em inglês.
17. Background no Linux
• Uma outra maneira de colocar um programa
para rodar em background, utilizamos para isso
o sinal &
19. Pipe no Shell Linux
• De uma maneira simplória poderíamos dizer
que o pipe nada mais é do que o
encadeamento de processos.
$ ls | grep b | sort -r | tee arquivo.out | wc -l
21. Processos do Sistema
Operacional
• auditoria e segurança;
• serviços de rede;
• contabilização do uso de recursos;
• contabilização de erros;
• gerência de impressão;
• gerência de jobs batch;
• temporização;
• comunicação de eventos;
• interface de comandos (shell).
22. Referência
• MACHADO, F. B., MAIA, L. P., Arquitetura de
Sistemas Operacionais, 3a edição, Ed. LTC,
2002, Rio de Janeiro.
• TANENBAUM, A., Sistemas Operacionais
Modernos, 5a edição, Ed. Makron Books,
1999, Rio de Janeiro.