Professor: Jefferson Silva Agenda n Conhecer o que é um processo n Quais as funções de um processo? n Gerenciar processos n Finalizar processos n Referências
Instituto Federal de Educação,
22/09/14 Ciência e Tecnologia do RN - IFRN O que é um processo ? n Um processo é basicamente um programa em execução (TANENBAUM, 2014) n Um processo é o contêiner que detém todas as informações necessárias para rodar um programa (TANENBAUM, 2014) n Cada programa detém o seu processo
Instituto Federal de Educação,
22/09/14 Ciência e Tecnologia do RN - IFRN O que é um processo ? n Um processo pode ter processos filhos n Cabe ao sistema operacional gerenciar os processos correntes
Instituto Federal de Educação,
22/09/14 Ciência e Tecnologia do RN - IFRN Hierarquia de processos Processo pai
Filho 01 Filho 02 Filho 03
Filho 001 Filho 002 Filho 003
Instituto Federal de Educação, 22/09/14 Ciência e Tecnologia do RN - IFRN Exemplo de hierarquia - Linux
Instituto Federal de Educação,
22/09/14 Ciência e Tecnologia do RN - IFRN Exemplo de hierarquia - Linux
Instituto Federal de Educação,
22/09/14 Ciência e Tecnologia do RN - IFRN COMO GERENCIÁ-LOS ? O QUE GERENCIAR ? Instituto Federal de Educação, 22/09/14 Ciência e Tecnologia do RN - IFRN Gerenciamento de processos n Cabe ao Sistema Operacional (SO) gerenciar todos os recursos da máquina n Os processos demandam recursos (que são finitos) Instituto Federal de Educação, 22/09/14 Ciência e Tecnologia do RN - IFRN Gerenciamento de processos n O SO precisa conceder os recursos, mas “vigiá-los” n Apenas alguns processos são executados por vez
Instituto Federal de Educação,
22/09/14 Ciência e Tecnologia do RN - IFRN Gerenciamento de recursos
CPU
Memória
E/S Discos
Instituto Federal de Educação,
22/09/14 Ciência e Tecnologia do RN - IFRN Como o SO gerencia os procesos ? n Por meio das prioridades n Cada processo tem um Process ID (PID) n Cada PID tem a sua prioridade
n No Linux, as prioridades vão de -20 a
19 n Quanto menor, maior a prioridade Instituto Federal de Educação, 22/09/14 Ciência e Tecnologia do RN - IFRN Gerenciando processos no Linux n Quando o computador é ligado o BIOS procura pelo gerenciador de boot no HD n Os gerenciadores mais comuns são o GRUB e o LILO n O GRUB ou LILO carregam o kernel na memória n O kernel inicia um processo chamado init n O init carrega todas as outras aplicações n Por fim, o init inicia o getty – é o responsável pela autenticação dos usuários e inicia o processo do shell Instituto Federal de Educação, 22/09/14 Ciência e Tecnologia do RN - IFRN Exemplo
Instituto Federal de Educação,
22/09/14 Ciência e Tecnologia do RN - IFRN Como gerenciar efetivamente ? n Os comandos que iremos utilizar são: n ps [opções]! n Gera uma lista com todos os processos em execução n pstree [opções]! n Mostra os processos na hierarquia n top [opções]! n Mostra os processos em execução (como o ps), mas atualizando a tela Instituto Federal de Educação, 22/09/14 Ciência e Tecnologia do RN - IFRN Como gerenciar efetivamente ? n Os comandos que iremos utilizar são: n kill [opções] PID! n O seu principal uso é para matar (via PID) os processos em execução n killall [opções] nome! n Similar ao kill, mas mata pelo nome n nohup [comando]! n Executa uma aplicação e a mantém funcionando independente do usuário estar conectado ou não n free [opções]! n Mostra a quantidade de memória disponível no sistema Instituto Federal de Educação, 22/09/14 Ciência e Tecnologia do RN - IFRN Alterando a prioridade dos processos n Nice [prioridade] comando! n “legal”, em inglês. Usado para definir a prioridade de um programa que será iniciado n Quanto “menos legal” com os outros, maior a sua prioridade
n Renice [+/- prioridade] [opções] PID/
usuario! n Utilizado para alterar a prioridade de um processo já em execução Instituto Federal de Educação, 22/09/14 Ciência e Tecnologia do RN - IFRN