Prévia do material em texto
Sistemas Operacionais de Redes Aula: Gerenciamento de processos 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 22/09/14 Instituto Federal de Educação, 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 22/09/14 Instituto Federal de Educação, 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 22/09/14 Instituto Federal de Educação, Ciência e Tecnologia do RN - IFRN Hierarquia de processos Processo pai Filho 01 Filho 001 Filho 02 Filho 002 Filho 03 Filho 003 22/09/14 Instituto Federal de Educação, Ciência e Tecnologia do RN - IFRN Exemplo de hierarquia - Linux 22/09/14 Instituto Federal de Educação, Ciência e Tecnologia do RN - IFRN Exemplo de hierarquia - Linux 22/09/14 Instituto Federal de Educação, Ciência e Tecnologia do RN - IFRN COMO GERENCIÁ-LOS ? O QUE GERENCIAR ? 22/09/14 Instituto Federal de Educação, 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) 22/09/14 Instituto Federal de Educação, 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 22/09/14 Instituto Federal de Educação, Ciência e Tecnologia do RN - IFRN Gerenciamento de recursos CPU E/S Memória Discos 22/09/14 Instituto Federal de Educação, 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 22/09/14 Instituto Federal de Educação, 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 22/09/14 Instituto Federal de Educação, Ciência e Tecnologia do RN - IFRN Exemplo 22/09/14 Instituto Federal de Educação, 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 22/09/14 Instituto Federal de Educação, 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 22/09/14 Instituto Federal de Educação, 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 22/09/14 Instituto Federal de Educação, Ciência e Tecnologia do RN - IFRN