SlideShare une entreprise Scribd logo
1  sur  24
Télécharger pour lire hors ligne
1                         Sistemas Operacionais                               Luiz Arthur


    Tarefas como verificar os processos que estão executando, mudar a prioridade
    de execução e terminar os processos são exigidas para qualquer administrador
    Linux.

    O Kernel do Linux tem uma capacidade excelente para trabalhar com processos
    sem intervenção do usuário. Mas às vezes é preciso que o root intervenha e
    termine um processo que esteja comportando-se de forma egoísta e exaurindo
    os recursos da máquina.

    Este controle de processos é especialmente importante porque o Linux é um
    sistema multitarefa, multiusuário e multiprocessado.

    O conceito de multitarefa significa que o Linux é capaz de executar diversos
    programas e serviços ao mesmo tempo de forma preemptiva.

    Se tivermos apenas um processador central no computador com Linux, o sistema
    fará o escalonamento (rodízio) dos processos de forma tão eficiente que o usuário
    terá a impressão de que ele pode executar mais de um programa ao mesmo
    tempo.

    E o Linux ainda possui a capacidade de gerenciar os processos de forma eficaz
    com o multiprocessamento real quando temos mais de um processador central
    envolvido.
2                        Sistemas Operacionais                             Luiz Arthur


    Quando o computador com o Linux é ligado, o sistema imediatamente procura no
    setor de boot do disco rígido o gerenciador de boot (LILO ou GRUB). Eles são
    responsáveis pela carga do Kernel na memória.

    Após a carga do Kernel, este inicia um processo especial chamado init. Este
    processo é o pai de todos os processos e responsável pelo restante da carga de
    boot do Linux.

    Depois da carga do boot, o init chama outro programa especial chamado getty,
    que é responsável pela autenticação do usuários e por iniciar o processo
    de shell.

    É importante que você entenda que cada programa é pelo menos um processo e
    que cada processo possui atributos, como:

    ●Process ID (PID) ou identificação do processo: Cada processo possui um número
    de identificação única. O primeiro processo init sempre terá o PID 1 e para o
    restante dos processos este número é incrementado à medida que novos
    processos são executados.

    User ID e Group ID (ID do usuário e ID do grupo): Os processo precisam ser
    executados com os privilégios de uma conta de usuário e grupo associado a
    eles. Isto é importante porque assim o sistema pode determinar e gerenciar o
    acesso ao recursos.
3                         Sistemas Operacionais                                Luiz Arthur


    ●Processo Pai: No Linux nenhum processo é executado de forma independente
    dos outros. Todos os processos no sistema, com exceção do init, possuem um
    processo pai, que é responsável pela sua execução.

    ●Parent ID (ID do processo pai): Este atributo grava o PID do processo pai. Caso o
    processo pai termine sua execução antes do processo filho, o processo filho é
    “apadrinhado” pelo init, ganhando o Parent ID igual a 1.

    ●Variáveis de ambiente: Cada processo herda do processo pai algumas variáveis
    de ambiente que simplesmente guardam alguns valores que pode ou não ser
    importantes para o processo em execução. É possível que durante sua execução
    um processo altere, incremente ou apague uma variável de ambiente.

    ●Diretório de trabalho: Os processos também são associados a um diretório de
    trabalho, onde podem fazer leitura e escrita de disco.

    ●Temporizadores: O Kernel mantém registros da hora em que os processos são
    criados bem como o tempo de CPU que eles consomem durante a sua execução.

    Sinais

    Cada processo no Linux fica à escuta de sinais. Estes sinais são utilizados pelo
    Kernel, por outros processos ou pelo usuário para avisar a um
    determinado processo sobre algum evento em particular. Sinais pode ser
    visto como uma interrupção de software.
4                        Sistemas Operacionais                             Luiz Arthur


    Quando um sinal é enviado para um processo, ele toma uma determinada ação
    dependendo do valor que este sinal carrega.

    Cada sinal tem nome exclusivo e um valor numérico. Tal como:

    Sinal HUP, valor 1: Hang-Up ou desligamento. Este sinal é utilizado
    automaticamente quando o usuário desconecta de uma sessão ou fecha um
    terminal. Ele também é utilizado por processos servidores para invocar a
    releitura do arquivo de configuração (para atualização das configurações do
    servidor).

    Sinal INIT, valor 2: Interrompe o processo. Ele é enviado automaticamente
    quando um processo é abortado com as teclas ctrl-c.

    Sinal KILL, valor 9: Termina o processo incondicionalmente de forma rápida e
    drástica. Este tipo de sinal pode deixar arquivos abertos e bases de dados
    corrompidas. Deve ser utilizado caso o processo pare de responder ou em uma
    emergência.

    Sinal TERM, valor 15: Termina o processo de forma elegante, possibilitando que
    ele feche arquivos e execute suas rotinas de fim de execução.

    Sinal TSTP, valor 18: Termina a execução para continuar depois. Este sinal é
    enviado automaticamente quando utilizamos as teclas ctrl-z. É utilizado para
    colocar um processo em segundo plano.
5                        Sistemas Operacionais                             Luiz Arthur


    O Linux possui mais de 30 sinais definidos. A maioria utilizada pelo Kernel e
    alguns pelos usuários. O entendimento de sinais é importante para que possamos
    interagir com os processos em execução.

    Controle de Processos

    Como outros sistemas operacionais completos, o Linux possibilita que
    coloquemos processos em segundo plano de execução (background). Para que
    um processo execute em segundo plano, é preciso que ele não espere por
    nenhuma ação do usuário, como por exemplo esperar por um sub-comando.
    Neste estado o processo se comunicará com o usuário através dos sinais.

    Basicamente para colocar qualquer processo em segundo plano de execução,
    basta adicionar o caractere “&” no final da linha de comando que executará o
    processo:

    $ find / -name *.conf > lista_arquivos_configuracao.txt &

    O comando find será executado em segundo plano e sua saída será direcionada
    para o arquivo lista_arquivos_configuracao.txt

    A execução em Primeiro Plano (foreground). É quando você deve esperar o
    término da execução de um programa para executar um novo comando. Somente
    é mostrado o aviso de comando após o término de execução do
    comando/programa.
6                         Sistemas Operacionais                             Luiz Arthur


    Prioridade de Execução

    O Kernel do Linux possui como uma de suas atividades críticas o escalonador de
    processos. Este escalonador é um algoritmo especial que coloca em fila todos os
    processos em execução e decide qual processo irá ser executado e durante
    quanto tempo.

    O escalonador é o que permite que o computador possa executar mais de
    um processo em concorrência, dividindo a CPU em fatias de tempo de
    execução. A implementação do escalonador é tão importante que ela é o que
    realmente faz a diferença nos sistemas operacionais modernos.

    O Linux permite que o usuário interfira na prioridade de execução dos processos
    liberando mais ou menos tempo de CPU. A lista de prioridade pode ser vista com
    o comando ps -lax na coluna PRI. Quando maior for o número da PRIoridade,
    mais tempo de CPU o processo tem e mais importante ele é. Quanto menor o
    número, menos tempo de CPU e menor importância.
7                         Sistemas Operacionais                               Luiz Arthur


    Path

    Path é o caminho de procura dos arquivos/comandos executáveis.

    O path (caminho) é armazenado na variável de ambiente PATH. Você pode ver o
    conteúdo desta variável com o comando: echo $PATH

    Por exemplo, o caminho /usr/local/bin:/usr/bin:/bin:/usr/bin/X11 significa
    que se você digitar o comando ls, o interpretador de comandos iniciará a procura
    do programa ls no diretório /usr/local/bin, caso não encontre o arquivo no
    diretório /usr/local/bin ele inicia a procura em /usr/bin, até que encontre o
    arquivo procurado.

    Caso o interpretador de comandos chegue até o último diretório do path e não
    encontre o arquivo/comando digitado, é mostrada a seguinte mensagem:

    bash: ls: command not found (comando não encontrado).

    O caminho de diretórios vem configurado na instalação do Linux, mas pode ser
    alterado no arquivo /etc/profile. Caso deseje alterar o caminho para todos os
    usuários, este arquivo é o melhor lugar, pois ele é lido por todos os usuários no
    momento do login.
8                         Sistemas Operacionais                               Luiz Arthur


    Caso um arquivo/comando não esteja localizado em nenhum dos diretórios do
    path, você deve executa-lo usando um ./ na frente do comando, ou passando o
    caminho (diretório) inteiro no prompt de comando.

    Se deseja alterar o path para um único usuário, modifique o arquivo
    .bash_profile em seu diretório de usuário (home).

    Executando programas em seqüência

    Os comandos podem ser executados em seqüência (um após o término do outro)
    se os separarmos com ";". Por exemplo: echo primeiro;echo segundo;echo
    terceiro

    Também é possível executar um comando em seqüência com a condição AND, ou
    seja, o próximo comando só vai ser executado se o anterior for executado de
    forma correta. Isto é possível utilizando && entre os comandos. Por exemplo: echo
    primeiro && eco segundo && echo terceiro.

    Desta forma o sistema irá executar o primeiro echo, passara para o segundo, mas
    este segundo foi digitado errado “eco” e desta forma não será executado e assim
    o próximo comando echo também não será executado. Isto é muito útil em
    scripts.
9                         Sistemas Operacionais                                Luiz Arthur


    Veremos agora alguns comandos básicos para gerência de processos:

    ps
    O comando ps gera uma lista com todos os processos em execução e seus
    atributos.

    Algumas vezes é útil ver quais processos estão sendo executados no computador.
    O comando ps faz isto, e também nos mostra qual usuário executou o programa,
    hora que o processo foi iniciado, etc.

    ps [opções]

    Onde:
    -a Mostra os processos criados por você e de outros usuários do sistema.
    -x Mostra processos que não são controlados pelo terminal.

    -u Mostra o nome de usuário que iniciou o processo e hora em que o processo
    foi iniciado.

    -m Mostra a memória ocupada por cada processo em execução.

    -f Mostra a árvore de execução de comandos (comandos que são chamados por
    outros comandos).
10                     Sistemas Operacionais                            Luiz Arthur


 -e Mostra variáveis de ambiente no momento da inicialização do processo.

 -w Mostra a continuação da linha atual na próxima linha ao invés de cortar o
 restante que não couber na tela.

 --sort:[coluna] Organiza a saída do comando ps de acordo com a coluna
 escolhida. Você pode usar as colunas pid, utime, ppid, rss, size, user,
 priority.

 Pode ser especificada uma listagem em ordem inversa especificando --sort:[-
 coluna].

 As opções acima podem ser combinadas para resultar em uma listagem mais
 completa.

 Você também pode usar pipes "|" para filtrar a saída do comando ps.

 Ao contrário de outros comandos, o comando ps não precisa do hífen "-" para
 especificar os comandos. Isto porque ele não utiliza opções longas e não usa
 parâmetros.


 Exemplos: ps, ps aux, ps ax|grep inetd, ps auxf, ps auxw.
11                       Sistemas Operacionais                             Luiz Arthur

 pstree

 O comando pstree irá mostrar a árvore de processos desde o init até o último
 processo em execução. É similar ao ps -auxf. Ele é útil para o entendimento da
 hierarquia dos processos no Linux.

 pstree [opções] [pid]

 Onde:

 pid    Número do processo que terá sua árvore listada. Se omitido, lista todos
 os processos.

 Opções:

 -a   Mostra opções passadas na linha de comando.
 -c   Mostra toda a estrutura (inclusive sub-processos do processo pai).
 -G   Usa caracteres gráficos no desenho da árvore de processos.
 -h   Destaca o processo atual e seus antecessores.
 -H   [pid]       Destaca o processo especificado.
 -l   Não faz quebra de linha
 -n   Classifica pelo número PID ao invés do nome.
 -p   Mostra o número PID entre parênteses após o nome do processo.
 -u   Mostra também o dono do processo.
 -U   Usa o conjunto de caracteres Unicode para o desenho da árvore.
12                      Sistemas Operacionais                        Luiz Arthur


 top
 Mostra os programas em execução ativos, parados, tempo usado na CPU,
 detalhes sobre o uso da memória RAM, Swap, disponibilidade para execução de
 programas no sistema, etc.

 top é um programa que continua em execução mostrando continuamente os
 processos que estão rodando em seu computador e os recursos utilizados por
 eles. Para sair do top, pressione a tecla q.

 O comando top mostra os processos em execução como o ps, mas atualizando a
 tela. Este recurso é útil para monitorar como um ou mais processos agem no
 sistema. Este comando também ordena os processos que utilizam mais CPU no
 topo da tela.

 top [opções]

 Onde:

 -d   [tempo]     Atualiza a tela após o [tempo] (em segundos).
 -s   Diz ao top para ser executado em modo seguro.
 -i   Inicia o top ignorando o tempo de processos zumbis.
 -c   Mostra a linha de comando ao invés do nome do programa.
13                     Sistemas Operacionais                             Luiz Arthur


 A ajuda sobre o top pode ser obtida dentro do programa pressionando a tecla h
 ou pela página de manual ($man top).

 Abaixo algumas teclas úteis:

 espaço     - Atualiza imediatamente a tela.

 CTRL+L     - Apaga e atualiza a tela.

 h          - Mostra a tela de ajuda do programa. É mostrado todas as teclas que
            podem ser usadas com o top.

 i          - Ignora o tempo ocioso de processos zumbis.

 q          - Sai do programa.

 k          - Finaliza um processo - semelhante ao comando kill. Você será
            perguntado pelo número de identificação do processo (PID). Este
            comando não estará disponível caso esteja usando o top com a opção
            -s.

 n          - Muda o número de linhas mostradas na tela. Se 0 for especificado,
            será usada toda a tela para listagem de processos.
14                     Sistemas Operacionais                               Luiz Arthur


 kill
 Permite enviar um sinal a um comando/programa. Caso seja usado sem
 parâmetros, o kill enviará um sinal de término (TERM-15) ao processo sendo
 executado, de forma que o processo seja executado de forma elegante. O kill é
 usado geralmente para terminar a execução de processos identificados
 pelo PID.

 kill [opções] [sinal] [número]

 Onde:
 número    É o número de identificação do processo obtido com o comando ps.
 Também pode ser o número após o sinal de % obtido pelo comando jobs para
 matar uma tarefa interrompida.

 Sinal      Sinal que será enviado ao processo. Se omitido usa -15 como padrão.
 opções
 -9         Envia um sinal de destruição ao processo ou programa. Ele é
 terminado imediatamente sem chances de salvar os dados ou apagar os arquivos
 temporários criados por ele.

 Você precisa ser o dono do processo ou o usuário root para termina-lo ou destruí-
 lo. Você pode verificar se o processo foi finalizado através do comando ps.
15                     Sistemas Operacionais                           Luiz Arthur


 Por exemplo:

 Procurando um programa chamado sshd (usado para acesso a maquinas
 remotas):

 #ps ax | grep sshd

     4916 pts/2   S+     0:00 grep sshd

 Caso queiramos que tal programa re-leia o arquivo de configuração podemos
 executar o comando kill com o sinal HUP.

 #kill -HUP 4916

 Porém se for necessário terminar o programa de forma brusca, por exemplo caso
 ele esteja consumindo muitos recursos do seu computador, podemos enviar um
 sinal -9, tal como:

 #kill -9 4916
16                     Sistemas Operacionais                             Luiz Arthur


 killall
 O comando killall envia sinais para os processos e recebe como parâmetro não
 o PID do processo, mas seu nome. Ele é usado geralmente para terminar a
 execução   de   processos    que    possuem    diversos    filhos executando
 concorrentemente.

 killall [opções] [sinal] [processo]

 Onde:

 processo Nome do processo que deseja finalizar
 sinal       Sinal que será enviado ao processo (pode ser obtido usando a opção
 -i). Indicado com a opção (-s).

 Opções:
 -i Pede confirmação sobre a finalização do processo.
 -l Lista o nome de todos os sinais conhecidos.
 -q Ignora a existência do processo.
 -v Retorna se o sinal foi enviado com sucesso ao processo.
 -w Finaliza a execução do killall somente após finalizar todos os processos.

 Por exemplo:
 #killall -s 9 sshd
17                      Sistemas Operacionais                                Luiz Arthur
 É importante entender a diferença entre o kill e killall. O primeiro envia sinais
 para um ou mais processos identificados pelo PID. O segundo envia sinais para todos
 os processos na fila de execução que possuem um determinado nome.

 Os sinais enviados pelo kill e pelo killall podem ser passados pelo nome ou pelo
 número inteiro correspondente.

 É possível, dentro de uma hierarquia de processos, que um determinado processo
 filho termine por algum motivo inesperado, e o processo pai se torne um processo
 zoombie ou defunto (defunct). Os processos zoombie não podem ser terminados com
 o comando kill, porque eles já não existem mais.

 Isso acontece porque cada processo criado recebe um lugar na tabela de processos do
 Kernel. Quando ele termina, seu lugar na tabela do Kernel recebe o resultado da sua
 execução. O resultado da execução é retido a tabela até alguém consultá-lo quando,
 então, é removido da tabela.

 O estado do processo é chamado de Zumbi quando o mesmo termina e seu resultado
 ainda não foi retirado da tabela do Kernel.

 Outra possibilidade especial é quando um processo qualquer que criou novos
 processos filhos que executam debaixo de sua hierarquia termine inesperadamente.
 Neste caso, os processos filhos perdem o seu processo pai e são adotados pelo
 processo init (PID 1) que é o pai de todos os processos.

 Estas duas situações descritas não são normais e podem ser ocasionadas por bugs nos
 programas.
18                    Sistemas Operacionais                          Luiz Arthur




 Interrompendo a execução de um processo

 Para cancelar a execução de algum processo rodando em primeiro plano, basta
 pressionar as teclas CTRL+C. A execução do programa será cancelada e será
 mostrado o aviso de comando. Você também pode usar o comando kill.


 Parando momentaneamente a execução de um processo

 Para parar a execução de um processo rodando em primeiro plano, basta
 pressionar as teclas CTRL+Z. O programa em execução será pausado e será
 mostrado o número de seu job e o aviso de comando.

 Para retornar a execução de um comando pausado, use fg ou bg (abordados a
 seguir).

 O programa permanece na memória no ponto de processamento em que parou
 quando ele é interrompido. Você pode usar outros comandos ou rodar outros
 programas enquanto o programa atual está interrompido.
19                     Sistemas Operacionais                             Luiz Arthur

 jobs

 O comando jobs mostra os processos que estão parados ou rodando em segundo
 plano.

 Processos em segundo plano são iniciados usando o símbolo "&" no final da linha
 de comando ou através do comando bg.

 jobs

 O número de identificação de cada processo parado ou em segundo plano (job), é
 usado com os comandos fg, e bg. Um processo interrompido pode ser finalizado
 usando-se o comando kill %[num], onde [num] é o número do processo obtido
 pelo comando jobs.

 Então, o comando jobs lista os processos que estão em execução em segundo
 plano. Se um número da tarefa é fornecida, o comando retornará as informações
 pertinentes somente à tarefa em questão. O número da tarefa é fornecido quando
 o processo é colocado em segundo plano. A opção -l pode exibir os PIDS do
 programa.

 Por exemplo:
 #jobs -l
 [2]- 5019 Stopped                      slocate -u
 [3]+ 5020 Stopped                      find / -iname linux
20                    Sistemas Operacionais                            Luiz Arthur
 fg
 Permite fazer um programa rodando em segundo plano ou parado, rodar em
 primeiro plano. Você deve usar o comando jobs para pegar o número do
 processo rodando em segundo plano ou interrompida, este número será passado
 ao comando fg para ativa-lo em primeiro plano.

 fg [número]

 Onde número é o número obtido através do comando jobs.

 Caso seja usado sem parâmetros, o fg utilizará o último programa interrompido
 (o maior número obtido com o comando jobs).

 Exemplo: #fg 1

 bg
 Permite fazer um programa rodando em primeiro plano ou parado, rodar em
 segundo plano. Para fazer um programa em primeiro plano rodar em segundo, é
 necessário primeiro interromper a execução do comando com CTRL+ Z, será
 mostrado o número da tarefa interrompida, use este número com o comando bg
 para iniciar a execução do comando em segundo plano.

 bg [número]

 Onde: número número do programa obtido com o pressionamento das teclas
 CTRL+Z ou através do comando jobs.
21                     Sistemas Operacionais                             Luiz Arthur


 nice

 O comando nice ajusta o tempo disponível de CPU de um processo para mais ou
 para menos prioridade

 nice [opções] [comando/programa]

 Onde:
 comando/programa      Comando/programa que terá sua prioridade ajustada.

 Opções:

 -n [numero]        Configura a prioridade que o programa será executado. Se
 um programa for executado com maior prioridade, ele usará mais recursos do
 sistema para seu processamento, caso tenha uma prioridade baixa, ele permitirá
 que outros programas tenham preferência. A prioridade de execução de um
 programa/comando pode ser ajustada de -19 (a mais alta) até 19 (a mais baixa).

 Exemplo: nice -n -19 find / -name apropos

 No inglês “nice” quer dizer “legal”. Se o ajuste de prioridade para um processo
 for um número positivo, quer dizer que ele está sendo mais legal com os outros
 programas diminuindo a sua prioridade. Se o ajuste for um número negativo,
 quer dizer que o programa está sendo menos legal, aumentando a sua prioridade
 de execução e sobrando menos tempo de CPU para os outros programas
22                     Sistemas Operacionais                              Luiz Arthur


 Se não for passado nenhum valor de ajuste, o comando nice ajustará a prioridade
 para +10, diminuindo o tempo de execução do processo.

 $nice slocate -u &

 recine

 O comando renice ajusta a prioridade de execução de processos que já estão
 rodando.

 Por padrão, o comando renice recebe como parâmetro o PID de um determinado
 processo.

 O ajuste de prioridade é um número inteiro que vai do -20 (maior prioridade) até
 o +20 (executar qualquer coisa antes deste processo).

 As opções mais usuais são:

 -p Recebe o PID par alterar a sua prioridade.
 -u Recebe um nome de usuário par alterar a prioridade de todos os processos
 deste usuário em execução.
 -g Recebe um nome de um grupo para alterar a prioridade de todos os
 processos pertencentes a este grupo.
23                    Sistemas Operacionais                            Luiz Arthur


 Exemplo:

 #renice -1 987 -u daemon root -p 32

 Neste exemplo, o processo de número PID 987, PID 32 e todos os processos de
 que os usuários daemon e root são donos vão ter mais prioridade.

 Os usuários comuns podem alterar a prioridade dos processos de que eles são
 donos. Somente o usuário root pode alterar a prioridade de qualquer processo.
24     Sistemas Operacionais   Luiz Arthur


 fim

Contenu connexe

Tendances

Cable directo,cruzado y rollover
Cable directo,cruzado y rolloverCable directo,cruzado y rollover
Cable directo,cruzado y rolloverIan Berzeker Tovar
 
Desarrollo de apps Android basadas en localización
Desarrollo de apps Android basadas en localizaciónDesarrollo de apps Android basadas en localización
Desarrollo de apps Android basadas en localizaciónSlashMobility.com
 
Sistemas operativos procesos
Sistemas operativos   procesosSistemas operativos   procesos
Sistemas operativos procesosayreonmx
 
2. conceito de processos
2. conceito de processos2. conceito de processos
2. conceito de processosvini_campos
 
Administración de Memoria - Sistemas Operativos
Administración de Memoria - Sistemas OperativosAdministración de Memoria - Sistemas Operativos
Administración de Memoria - Sistemas OperativosPablo Macon
 
Fedora history 3441-3408-3437-3423
Fedora history 3441-3408-3437-3423Fedora history 3441-3408-3437-3423
Fedora history 3441-3408-3437-3423Muhammad Saad Hassan
 
Imei módulo3 sistema operativo
Imei   módulo3 sistema operativoImei   módulo3 sistema operativo
Imei módulo3 sistema operativoteacherpereira
 
S.o. windows server2008
S.o. windows server2008S.o. windows server2008
S.o. windows server2008teacherpereira
 
Ficha de trabalho nº 3 Modulo 4
Ficha de trabalho nº 3 Modulo 4Ficha de trabalho nº 3 Modulo 4
Ficha de trabalho nº 3 Modulo 4baglungekanchi
 
Estructura del sistema operativo
Estructura del sistema operativoEstructura del sistema operativo
Estructura del sistema operativoEmily_Fdez
 
Mac os-x
Mac os-xMac os-x
Mac os-xdnxwit
 
Chapter 1: Introduction to Operating System
Chapter 1: Introduction to Operating SystemChapter 1: Introduction to Operating System
Chapter 1: Introduction to Operating SystemShafaan Khaliq Bhatti
 
Course 102: Lecture 27: FileSystems in Linux (Part 2)
Course 102: Lecture 27: FileSystems in Linux (Part 2)Course 102: Lecture 27: FileSystems in Linux (Part 2)
Course 102: Lecture 27: FileSystems in Linux (Part 2)Ahmed El-Arabawy
 
Vue.js o poder das render functions
Vue.js  o poder das render functionsVue.js  o poder das render functions
Vue.js o poder das render functionsVinicius Reis
 
Operating System
Operating SystemOperating System
Operating Systemaziz_miu
 

Tendances (20)

Cable directo,cruzado y rollover
Cable directo,cruzado y rolloverCable directo,cruzado y rollover
Cable directo,cruzado y rollover
 
Desarrollo de apps Android basadas en localización
Desarrollo de apps Android basadas en localizaciónDesarrollo de apps Android basadas en localización
Desarrollo de apps Android basadas en localización
 
Sistemas operativos procesos
Sistemas operativos   procesosSistemas operativos   procesos
Sistemas operativos procesos
 
Ansible
AnsibleAnsible
Ansible
 
2. conceito de processos
2. conceito de processos2. conceito de processos
2. conceito de processos
 
Linux Booting Process
Linux Booting ProcessLinux Booting Process
Linux Booting Process
 
Administración de Memoria - Sistemas Operativos
Administración de Memoria - Sistemas OperativosAdministración de Memoria - Sistemas Operativos
Administración de Memoria - Sistemas Operativos
 
Fedora history 3441-3408-3437-3423
Fedora history 3441-3408-3437-3423Fedora history 3441-3408-3437-3423
Fedora history 3441-3408-3437-3423
 
So-mod-2
So-mod-2So-mod-2
So-mod-2
 
Imei módulo3 sistema operativo
Imei   módulo3 sistema operativoImei   módulo3 sistema operativo
Imei módulo3 sistema operativo
 
S.o. windows server2008
S.o. windows server2008S.o. windows server2008
S.o. windows server2008
 
Ficha de trabalho nº 3 Modulo 4
Ficha de trabalho nº 3 Modulo 4Ficha de trabalho nº 3 Modulo 4
Ficha de trabalho nº 3 Modulo 4
 
Estructura del sistema operativo
Estructura del sistema operativoEstructura del sistema operativo
Estructura del sistema operativo
 
Mac os-x
Mac os-xMac os-x
Mac os-x
 
Chapter 1: Introduction to Operating System
Chapter 1: Introduction to Operating SystemChapter 1: Introduction to Operating System
Chapter 1: Introduction to Operating System
 
Course 102: Lecture 27: FileSystems in Linux (Part 2)
Course 102: Lecture 27: FileSystems in Linux (Part 2)Course 102: Lecture 27: FileSystems in Linux (Part 2)
Course 102: Lecture 27: FileSystems in Linux (Part 2)
 
Linux suse
Linux suseLinux suse
Linux suse
 
Vue.js o poder das render functions
Vue.js  o poder das render functionsVue.js  o poder das render functions
Vue.js o poder das render functions
 
Operating System
Operating SystemOperating System
Operating System
 
Daw02 tarea
Daw02 tareaDaw02 tarea
Daw02 tarea
 

En vedette

Seminário 1º Tema parte III - Estados de processos e escalonamento de processos
Seminário 1º Tema parte III - Estados de processos e escalonamento de processosSeminário 1º Tema parte III - Estados de processos e escalonamento de processos
Seminário 1º Tema parte III - Estados de processos e escalonamento de processosRobson Ferreira
 
Perdoando como José perdoou - Caril Borges
Perdoando como José perdoou - Caril BorgesPerdoando como José perdoou - Caril Borges
Perdoando como José perdoou - Caril BorgesMauro Duarte
 
Otimistas ou pessimistas - Caril Borges
Otimistas ou pessimistas - Caril BorgesOtimistas ou pessimistas - Caril Borges
Otimistas ou pessimistas - Caril BorgesMauro Duarte
 
Porque tanta pressa - Caril Borges
Porque tanta pressa - Caril BorgesPorque tanta pressa - Caril Borges
Porque tanta pressa - Caril BorgesMauro Duarte
 
As armadilhas de satanás - Caril Borges
As armadilhas de satanás - Caril BorgesAs armadilhas de satanás - Caril Borges
As armadilhas de satanás - Caril BorgesMauro Duarte
 
00 apresentação desenvolvimento em redes de computadores
00   apresentação desenvolvimento em redes de computadores00   apresentação desenvolvimento em redes de computadores
00 apresentação desenvolvimento em redes de computadoresMauro Duarte
 
01 Desenvolvimento em Redes de Computadores - Comandos Básicos
01   Desenvolvimento em Redes de Computadores - Comandos Básicos01   Desenvolvimento em Redes de Computadores - Comandos Básicos
01 Desenvolvimento em Redes de Computadores - Comandos BásicosMauro Duarte
 
CSS - Folhas de Estilo em Cascata
CSS - Folhas de Estilo em Cascata CSS - Folhas de Estilo em Cascata
CSS - Folhas de Estilo em Cascata Mauro Duarte
 
Resumo aula 06
Resumo aula 06Resumo aula 06
Resumo aula 06R D
 
7 - Introdução ao desenvolvimento web - mídias
7 - Introdução ao desenvolvimento web - mídias7 - Introdução ao desenvolvimento web - mídias
7 - Introdução ao desenvolvimento web - mídiasMauro Duarte
 
2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processos
2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processos2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processos
2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processosComputação Depressão
 
Sistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 DeadlockSistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 DeadlockWellington Oliveira
 
Linux - Inicialização e Gerenciamento de Processos
Linux - Inicialização e Gerenciamento de ProcessosLinux - Inicialização e Gerenciamento de Processos
Linux - Inicialização e Gerenciamento de ProcessosFrederico Madeira
 
Apresentação Semáforos, monitores, troca de mensagens, Deadlock
Apresentação Semáforos, monitores, troca de mensagens, DeadlockApresentação Semáforos, monitores, troca de mensagens, Deadlock
Apresentação Semáforos, monitores, troca de mensagens, DeadlockWilliams Gomes da Silva
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionaisvini_campos
 
Estudo de caso do windows
Estudo de caso do windowsEstudo de caso do windows
Estudo de caso do windowsJocelma Rios
 
Condições de corrida e regiões críticas
Condições de corrida e regiões críticasCondições de corrida e regiões críticas
Condições de corrida e regiões críticasBeatriz Rodrigues
 

En vedette (20)

Seminário 1º Tema parte III - Estados de processos e escalonamento de processos
Seminário 1º Tema parte III - Estados de processos e escalonamento de processosSeminário 1º Tema parte III - Estados de processos e escalonamento de processos
Seminário 1º Tema parte III - Estados de processos e escalonamento de processos
 
Perdoando como José perdoou - Caril Borges
Perdoando como José perdoou - Caril BorgesPerdoando como José perdoou - Caril Borges
Perdoando como José perdoou - Caril Borges
 
Otimistas ou pessimistas - Caril Borges
Otimistas ou pessimistas - Caril BorgesOtimistas ou pessimistas - Caril Borges
Otimistas ou pessimistas - Caril Borges
 
Os pássaros
Os pássarosOs pássaros
Os pássaros
 
Porque tanta pressa - Caril Borges
Porque tanta pressa - Caril BorgesPorque tanta pressa - Caril Borges
Porque tanta pressa - Caril Borges
 
As armadilhas de satanás - Caril Borges
As armadilhas de satanás - Caril BorgesAs armadilhas de satanás - Caril Borges
As armadilhas de satanás - Caril Borges
 
00 apresentação desenvolvimento em redes de computadores
00   apresentação desenvolvimento em redes de computadores00   apresentação desenvolvimento em redes de computadores
00 apresentação desenvolvimento em redes de computadores
 
01 Desenvolvimento em Redes de Computadores - Comandos Básicos
01   Desenvolvimento em Redes de Computadores - Comandos Básicos01   Desenvolvimento em Redes de Computadores - Comandos Básicos
01 Desenvolvimento em Redes de Computadores - Comandos Básicos
 
CSS - Folhas de Estilo em Cascata
CSS - Folhas de Estilo em Cascata CSS - Folhas de Estilo em Cascata
CSS - Folhas de Estilo em Cascata
 
Resumo aula 06
Resumo aula 06Resumo aula 06
Resumo aula 06
 
Apresentacao Aula04 So
Apresentacao Aula04 SoApresentacao Aula04 So
Apresentacao Aula04 So
 
Básico PHP: Introdução HTML
Básico PHP: Introdução HTMLBásico PHP: Introdução HTML
Básico PHP: Introdução HTML
 
7 - Introdução ao desenvolvimento web - mídias
7 - Introdução ao desenvolvimento web - mídias7 - Introdução ao desenvolvimento web - mídias
7 - Introdução ao desenvolvimento web - mídias
 
2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processos
2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processos2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processos
2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processos
 
Sistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 DeadlockSistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 Deadlock
 
Linux - Inicialização e Gerenciamento de Processos
Linux - Inicialização e Gerenciamento de ProcessosLinux - Inicialização e Gerenciamento de Processos
Linux - Inicialização e Gerenciamento de Processos
 
Apresentação Semáforos, monitores, troca de mensagens, Deadlock
Apresentação Semáforos, monitores, troca de mensagens, DeadlockApresentação Semáforos, monitores, troca de mensagens, Deadlock
Apresentação Semáforos, monitores, troca de mensagens, Deadlock
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
Estudo de caso do windows
Estudo de caso do windowsEstudo de caso do windows
Estudo de caso do windows
 
Condições de corrida e regiões críticas
Condições de corrida e regiões críticasCondições de corrida e regiões críticas
Condições de corrida e regiões críticas
 

Similaire à Sistemas Operacionais - Gnu/Linux Gerenciando Processos

Gerência de processos
Gerência de processosGerência de processos
Gerência de processosVirgínia
 
Sistema operacional
Sistema operacionalSistema operacional
Sistema operacionalMichael Soto
 
Sistemas Operativos - Processos e Threads
Sistemas Operativos - Processos e ThreadsSistemas Operativos - Processos e Threads
Sistemas Operativos - Processos e ThreadsPedro De Almeida
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas OperacionaisAdir Kuhn
 
Fso parte iii
Fso parte iiiFso parte iii
Fso parte iiipaulocsm
 
Sistemas Operacionais parte 2
Sistemas Operacionais  parte 2Sistemas Operacionais  parte 2
Sistemas Operacionais parte 2Matheus Brito
 
Componentes do Sistema operacional
Componentes do Sistema operacional Componentes do Sistema operacional
Componentes do Sistema operacional Rodrigo Rodrigues
 
Apostila de sistemas operacionais emi mario gurgel
Apostila de sistemas operacionais emi mario gurgelApostila de sistemas operacionais emi mario gurgel
Apostila de sistemas operacionais emi mario gurgelPablo Mariano
 
Apostila de sistemas operacionais emi mario gurgel
Apostila de sistemas operacionais emi mario gurgelApostila de sistemas operacionais emi mario gurgel
Apostila de sistemas operacionais emi mario gurgelPablo Mariano
 
Apostila de sistemas operacionais emi mario gurgel
Apostila de sistemas operacionais emi mario gurgelApostila de sistemas operacionais emi mario gurgel
Apostila de sistemas operacionais emi mario gurgelPablo Mariano
 
Regiões críticas dos Sistemas Operacionais
Regiões críticas dos Sistemas OperacionaisRegiões críticas dos Sistemas Operacionais
Regiões críticas dos Sistemas OperacionaisAbadia Cardoso
 
Sistemas Operacionais - 04 - Processos
Sistemas Operacionais - 04 - ProcessosSistemas Operacionais - 04 - Processos
Sistemas Operacionais - 04 - ProcessosMauro Duarte
 
Conceitos básicos de sistemas operacionais
Conceitos básicos de sistemas operacionaisConceitos básicos de sistemas operacionais
Conceitos básicos de sistemas operacionaisRonildo Oliveira
 
FLISOL 2013 - Aprendendo Tarefas Administrativas de Segurança no Linux
FLISOL 2013 - Aprendendo Tarefas Administrativas de Segurança no LinuxFLISOL 2013 - Aprendendo Tarefas Administrativas de Segurança no Linux
FLISOL 2013 - Aprendendo Tarefas Administrativas de Segurança no LinuxPaulo Henrique
 

Similaire à Sistemas Operacionais - Gnu/Linux Gerenciando Processos (20)

Sistema operacional
Sistema operacionalSistema operacional
Sistema operacional
 
Gerência de processos
Gerência de processosGerência de processos
Gerência de processos
 
SlackWare - Leonel
SlackWare - LeonelSlackWare - Leonel
SlackWare - Leonel
 
Sistema operacional
Sistema operacionalSistema operacional
Sistema operacional
 
Sistemas Operativos - Processos e Threads
Sistemas Operativos - Processos e ThreadsSistemas Operativos - Processos e Threads
Sistemas Operativos - Processos e Threads
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
Gerencia Básica Gnu/Linux
Gerencia Básica Gnu/LinuxGerencia Básica Gnu/Linux
Gerencia Básica Gnu/Linux
 
Fso parte iii
Fso parte iiiFso parte iii
Fso parte iii
 
Sistemas Operacionais parte 2
Sistemas Operacionais  parte 2Sistemas Operacionais  parte 2
Sistemas Operacionais parte 2
 
Componentes do Sistema operacional
Componentes do Sistema operacional Componentes do Sistema operacional
Componentes do Sistema operacional
 
Apostila de sistemas operacionais emi mario gurgel
Apostila de sistemas operacionais emi mario gurgelApostila de sistemas operacionais emi mario gurgel
Apostila de sistemas operacionais emi mario gurgel
 
Apostila de sistemas operacionais emi mario gurgel
Apostila de sistemas operacionais emi mario gurgelApostila de sistemas operacionais emi mario gurgel
Apostila de sistemas operacionais emi mario gurgel
 
Apostila de sistemas operacionais emi mario gurgel
Apostila de sistemas operacionais emi mario gurgelApostila de sistemas operacionais emi mario gurgel
Apostila de sistemas operacionais emi mario gurgel
 
Regiões críticas dos Sistemas Operacionais
Regiões críticas dos Sistemas OperacionaisRegiões críticas dos Sistemas Operacionais
Regiões críticas dos Sistemas Operacionais
 
Sistema operacional-1-ano-de-informatica-completa
Sistema operacional-1-ano-de-informatica-completaSistema operacional-1-ano-de-informatica-completa
Sistema operacional-1-ano-de-informatica-completa
 
Sistemas Operacionais - 04 - Processos
Sistemas Operacionais - 04 - ProcessosSistemas Operacionais - 04 - Processos
Sistemas Operacionais - 04 - Processos
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
gabarito.pdf
gabarito.pdfgabarito.pdf
gabarito.pdf
 
Conceitos básicos de sistemas operacionais
Conceitos básicos de sistemas operacionaisConceitos básicos de sistemas operacionais
Conceitos básicos de sistemas operacionais
 
FLISOL 2013 - Aprendendo Tarefas Administrativas de Segurança no Linux
FLISOL 2013 - Aprendendo Tarefas Administrativas de Segurança no LinuxFLISOL 2013 - Aprendendo Tarefas Administrativas de Segurança no Linux
FLISOL 2013 - Aprendendo Tarefas Administrativas de Segurança no Linux
 

Plus de Luiz Arthur

Pint of Science - Cibersegurnça x ciberameaças: Até onde você está seguro?
Pint of Science - Cibersegurnça x ciberameaças: Até onde você está seguro?Pint of Science - Cibersegurnça x ciberameaças: Até onde você está seguro?
Pint of Science - Cibersegurnça x ciberameaças: Até onde você está seguro?Luiz Arthur
 
Desafios da cibersegurança - ontem, hoje e amanhã
Desafios da cibersegurança - ontem, hoje e amanhãDesafios da cibersegurança - ontem, hoje e amanhã
Desafios da cibersegurança - ontem, hoje e amanhãLuiz Arthur
 
Slides - Uma abordagem autonômica para mitigar ciberataques em redes de compu...
Slides - Uma abordagem autonômica para mitigar ciberataques em redes de compu...Slides - Uma abordagem autonômica para mitigar ciberataques em redes de compu...
Slides - Uma abordagem autonômica para mitigar ciberataques em redes de compu...Luiz Arthur
 
Uma Arquitetura Autonômica para Detecção e Reação a Ameaças de Segurança em R...
Uma Arquitetura Autonômica para Detecção e Reação a Ameaças de Segurança em R...Uma Arquitetura Autonômica para Detecção e Reação a Ameaças de Segurança em R...
Uma Arquitetura Autonômica para Detecção e Reação a Ameaças de Segurança em R...Luiz Arthur
 
Detecção de alertas de segurança em redes de computadores usando redes sociai...
Detecção de alertas de segurança em redes de computadores usando redes sociai...Detecção de alertas de segurança em redes de computadores usando redes sociai...
Detecção de alertas de segurança em redes de computadores usando redes sociai...Luiz Arthur
 
Evaluating the Utilization of Twitter Messages as a Source of Security Alerts
Evaluating the Utilization of Twitter Messages as a Source of Security AlertsEvaluating the Utilization of Twitter Messages as a Source of Security Alerts
Evaluating the Utilization of Twitter Messages as a Source of Security AlertsLuiz Arthur
 
Análise de Mensagens de Segurança Postadas no Twitter
Análise de Mensagens de Segurança Postadas no TwitterAnálise de Mensagens de Segurança Postadas no Twitter
Análise de Mensagens de Segurança Postadas no TwitterLuiz Arthur
 
match making e propaganda na web
match making e propaganda na webmatch making e propaganda na web
match making e propaganda na webLuiz Arthur
 
Mineração de dados no Gmail e Facebook
Mineração de dados no Gmail e FacebookMineração de dados no Gmail e Facebook
Mineração de dados no Gmail e FacebookLuiz Arthur
 
Invasao kernel.org
Invasao kernel.orgInvasao kernel.org
Invasao kernel.orgLuiz Arthur
 
Núcleo do Linux (Kernel Linux)
Núcleo do Linux (Kernel Linux)Núcleo do Linux (Kernel Linux)
Núcleo do Linux (Kernel Linux)Luiz Arthur
 
Palestra Ferramentas de Segurança Open Source v.2
Palestra Ferramentas de Segurança Open Source v.2Palestra Ferramentas de Segurança Open Source v.2
Palestra Ferramentas de Segurança Open Source v.2Luiz Arthur
 
Palestra mau uso da tecnologia
Palestra mau uso da tecnologiaPalestra mau uso da tecnologia
Palestra mau uso da tecnologiaLuiz Arthur
 
UTFPR-inventario-patrimonio-laboratorio-e105
UTFPR-inventario-patrimonio-laboratorio-e105UTFPR-inventario-patrimonio-laboratorio-e105
UTFPR-inventario-patrimonio-laboratorio-e105Luiz Arthur
 
01 programação - introdução computação
01 programação - introdução computação01 programação - introdução computação
01 programação - introdução computaçãoLuiz Arthur
 
Bibliografia recomendada - programação C
Bibliografia recomendada - programação CBibliografia recomendada - programação C
Bibliografia recomendada - programação CLuiz Arthur
 
Bibliografia recomendada-programacao-python
Bibliografia recomendada-programacao-pythonBibliografia recomendada-programacao-python
Bibliografia recomendada-programacao-pythonLuiz Arthur
 
Bibliografia recomendada-seguranca
Bibliografia recomendada-segurancaBibliografia recomendada-seguranca
Bibliografia recomendada-segurancaLuiz Arthur
 
Bibliografia recomendada-redes
Bibliografia recomendada-redesBibliografia recomendada-redes
Bibliografia recomendada-redesLuiz Arthur
 

Plus de Luiz Arthur (20)

Pint of Science - Cibersegurnça x ciberameaças: Até onde você está seguro?
Pint of Science - Cibersegurnça x ciberameaças: Até onde você está seguro?Pint of Science - Cibersegurnça x ciberameaças: Até onde você está seguro?
Pint of Science - Cibersegurnça x ciberameaças: Até onde você está seguro?
 
Desafios da cibersegurança - ontem, hoje e amanhã
Desafios da cibersegurança - ontem, hoje e amanhãDesafios da cibersegurança - ontem, hoje e amanhã
Desafios da cibersegurança - ontem, hoje e amanhã
 
Slides - Uma abordagem autonômica para mitigar ciberataques em redes de compu...
Slides - Uma abordagem autonômica para mitigar ciberataques em redes de compu...Slides - Uma abordagem autonômica para mitigar ciberataques em redes de compu...
Slides - Uma abordagem autonômica para mitigar ciberataques em redes de compu...
 
NAPSOL
NAPSOLNAPSOL
NAPSOL
 
Uma Arquitetura Autonômica para Detecção e Reação a Ameaças de Segurança em R...
Uma Arquitetura Autonômica para Detecção e Reação a Ameaças de Segurança em R...Uma Arquitetura Autonômica para Detecção e Reação a Ameaças de Segurança em R...
Uma Arquitetura Autonômica para Detecção e Reação a Ameaças de Segurança em R...
 
Detecção de alertas de segurança em redes de computadores usando redes sociai...
Detecção de alertas de segurança em redes de computadores usando redes sociai...Detecção de alertas de segurança em redes de computadores usando redes sociai...
Detecção de alertas de segurança em redes de computadores usando redes sociai...
 
Evaluating the Utilization of Twitter Messages as a Source of Security Alerts
Evaluating the Utilization of Twitter Messages as a Source of Security AlertsEvaluating the Utilization of Twitter Messages as a Source of Security Alerts
Evaluating the Utilization of Twitter Messages as a Source of Security Alerts
 
Análise de Mensagens de Segurança Postadas no Twitter
Análise de Mensagens de Segurança Postadas no TwitterAnálise de Mensagens de Segurança Postadas no Twitter
Análise de Mensagens de Segurança Postadas no Twitter
 
match making e propaganda na web
match making e propaganda na webmatch making e propaganda na web
match making e propaganda na web
 
Mineração de dados no Gmail e Facebook
Mineração de dados no Gmail e FacebookMineração de dados no Gmail e Facebook
Mineração de dados no Gmail e Facebook
 
Invasao kernel.org
Invasao kernel.orgInvasao kernel.org
Invasao kernel.org
 
Núcleo do Linux (Kernel Linux)
Núcleo do Linux (Kernel Linux)Núcleo do Linux (Kernel Linux)
Núcleo do Linux (Kernel Linux)
 
Palestra Ferramentas de Segurança Open Source v.2
Palestra Ferramentas de Segurança Open Source v.2Palestra Ferramentas de Segurança Open Source v.2
Palestra Ferramentas de Segurança Open Source v.2
 
Palestra mau uso da tecnologia
Palestra mau uso da tecnologiaPalestra mau uso da tecnologia
Palestra mau uso da tecnologia
 
UTFPR-inventario-patrimonio-laboratorio-e105
UTFPR-inventario-patrimonio-laboratorio-e105UTFPR-inventario-patrimonio-laboratorio-e105
UTFPR-inventario-patrimonio-laboratorio-e105
 
01 programação - introdução computação
01 programação - introdução computação01 programação - introdução computação
01 programação - introdução computação
 
Bibliografia recomendada - programação C
Bibliografia recomendada - programação CBibliografia recomendada - programação C
Bibliografia recomendada - programação C
 
Bibliografia recomendada-programacao-python
Bibliografia recomendada-programacao-pythonBibliografia recomendada-programacao-python
Bibliografia recomendada-programacao-python
 
Bibliografia recomendada-seguranca
Bibliografia recomendada-segurancaBibliografia recomendada-seguranca
Bibliografia recomendada-seguranca
 
Bibliografia recomendada-redes
Bibliografia recomendada-redesBibliografia recomendada-redes
Bibliografia recomendada-redes
 

Sistemas Operacionais - Gnu/Linux Gerenciando Processos

  • 1. 1 Sistemas Operacionais Luiz Arthur Tarefas como verificar os processos que estão executando, mudar a prioridade de execução e terminar os processos são exigidas para qualquer administrador Linux. O Kernel do Linux tem uma capacidade excelente para trabalhar com processos sem intervenção do usuário. Mas às vezes é preciso que o root intervenha e termine um processo que esteja comportando-se de forma egoísta e exaurindo os recursos da máquina. Este controle de processos é especialmente importante porque o Linux é um sistema multitarefa, multiusuário e multiprocessado. O conceito de multitarefa significa que o Linux é capaz de executar diversos programas e serviços ao mesmo tempo de forma preemptiva. Se tivermos apenas um processador central no computador com Linux, o sistema fará o escalonamento (rodízio) dos processos de forma tão eficiente que o usuário terá a impressão de que ele pode executar mais de um programa ao mesmo tempo. E o Linux ainda possui a capacidade de gerenciar os processos de forma eficaz com o multiprocessamento real quando temos mais de um processador central envolvido.
  • 2. 2 Sistemas Operacionais Luiz Arthur Quando o computador com o Linux é ligado, o sistema imediatamente procura no setor de boot do disco rígido o gerenciador de boot (LILO ou GRUB). Eles são responsáveis pela carga do Kernel na memória. Após a carga do Kernel, este inicia um processo especial chamado init. Este processo é o pai de todos os processos e responsável pelo restante da carga de boot do Linux. Depois da carga do boot, o init chama outro programa especial chamado getty, que é responsável pela autenticação do usuários e por iniciar o processo de shell. É importante que você entenda que cada programa é pelo menos um processo e que cada processo possui atributos, como: ●Process ID (PID) ou identificação do processo: Cada processo possui um número de identificação única. O primeiro processo init sempre terá o PID 1 e para o restante dos processos este número é incrementado à medida que novos processos são executados. User ID e Group ID (ID do usuário e ID do grupo): Os processo precisam ser executados com os privilégios de uma conta de usuário e grupo associado a eles. Isto é importante porque assim o sistema pode determinar e gerenciar o acesso ao recursos.
  • 3. 3 Sistemas Operacionais Luiz Arthur ●Processo Pai: No Linux nenhum processo é executado de forma independente dos outros. Todos os processos no sistema, com exceção do init, possuem um processo pai, que é responsável pela sua execução. ●Parent ID (ID do processo pai): Este atributo grava o PID do processo pai. Caso o processo pai termine sua execução antes do processo filho, o processo filho é “apadrinhado” pelo init, ganhando o Parent ID igual a 1. ●Variáveis de ambiente: Cada processo herda do processo pai algumas variáveis de ambiente que simplesmente guardam alguns valores que pode ou não ser importantes para o processo em execução. É possível que durante sua execução um processo altere, incremente ou apague uma variável de ambiente. ●Diretório de trabalho: Os processos também são associados a um diretório de trabalho, onde podem fazer leitura e escrita de disco. ●Temporizadores: O Kernel mantém registros da hora em que os processos são criados bem como o tempo de CPU que eles consomem durante a sua execução. Sinais Cada processo no Linux fica à escuta de sinais. Estes sinais são utilizados pelo Kernel, por outros processos ou pelo usuário para avisar a um determinado processo sobre algum evento em particular. Sinais pode ser visto como uma interrupção de software.
  • 4. 4 Sistemas Operacionais Luiz Arthur Quando um sinal é enviado para um processo, ele toma uma determinada ação dependendo do valor que este sinal carrega. Cada sinal tem nome exclusivo e um valor numérico. Tal como: Sinal HUP, valor 1: Hang-Up ou desligamento. Este sinal é utilizado automaticamente quando o usuário desconecta de uma sessão ou fecha um terminal. Ele também é utilizado por processos servidores para invocar a releitura do arquivo de configuração (para atualização das configurações do servidor). Sinal INIT, valor 2: Interrompe o processo. Ele é enviado automaticamente quando um processo é abortado com as teclas ctrl-c. Sinal KILL, valor 9: Termina o processo incondicionalmente de forma rápida e drástica. Este tipo de sinal pode deixar arquivos abertos e bases de dados corrompidas. Deve ser utilizado caso o processo pare de responder ou em uma emergência. Sinal TERM, valor 15: Termina o processo de forma elegante, possibilitando que ele feche arquivos e execute suas rotinas de fim de execução. Sinal TSTP, valor 18: Termina a execução para continuar depois. Este sinal é enviado automaticamente quando utilizamos as teclas ctrl-z. É utilizado para colocar um processo em segundo plano.
  • 5. 5 Sistemas Operacionais Luiz Arthur O Linux possui mais de 30 sinais definidos. A maioria utilizada pelo Kernel e alguns pelos usuários. O entendimento de sinais é importante para que possamos interagir com os processos em execução. Controle de Processos Como outros sistemas operacionais completos, o Linux possibilita que coloquemos processos em segundo plano de execução (background). Para que um processo execute em segundo plano, é preciso que ele não espere por nenhuma ação do usuário, como por exemplo esperar por um sub-comando. Neste estado o processo se comunicará com o usuário através dos sinais. Basicamente para colocar qualquer processo em segundo plano de execução, basta adicionar o caractere “&” no final da linha de comando que executará o processo: $ find / -name *.conf > lista_arquivos_configuracao.txt & O comando find será executado em segundo plano e sua saída será direcionada para o arquivo lista_arquivos_configuracao.txt A execução em Primeiro Plano (foreground). É quando você deve esperar o término da execução de um programa para executar um novo comando. Somente é mostrado o aviso de comando após o término de execução do comando/programa.
  • 6. 6 Sistemas Operacionais Luiz Arthur Prioridade de Execução O Kernel do Linux possui como uma de suas atividades críticas o escalonador de processos. Este escalonador é um algoritmo especial que coloca em fila todos os processos em execução e decide qual processo irá ser executado e durante quanto tempo. O escalonador é o que permite que o computador possa executar mais de um processo em concorrência, dividindo a CPU em fatias de tempo de execução. A implementação do escalonador é tão importante que ela é o que realmente faz a diferença nos sistemas operacionais modernos. O Linux permite que o usuário interfira na prioridade de execução dos processos liberando mais ou menos tempo de CPU. A lista de prioridade pode ser vista com o comando ps -lax na coluna PRI. Quando maior for o número da PRIoridade, mais tempo de CPU o processo tem e mais importante ele é. Quanto menor o número, menos tempo de CPU e menor importância.
  • 7. 7 Sistemas Operacionais Luiz Arthur Path Path é o caminho de procura dos arquivos/comandos executáveis. O path (caminho) é armazenado na variável de ambiente PATH. Você pode ver o conteúdo desta variável com o comando: echo $PATH Por exemplo, o caminho /usr/local/bin:/usr/bin:/bin:/usr/bin/X11 significa que se você digitar o comando ls, o interpretador de comandos iniciará a procura do programa ls no diretório /usr/local/bin, caso não encontre o arquivo no diretório /usr/local/bin ele inicia a procura em /usr/bin, até que encontre o arquivo procurado. Caso o interpretador de comandos chegue até o último diretório do path e não encontre o arquivo/comando digitado, é mostrada a seguinte mensagem: bash: ls: command not found (comando não encontrado). O caminho de diretórios vem configurado na instalação do Linux, mas pode ser alterado no arquivo /etc/profile. Caso deseje alterar o caminho para todos os usuários, este arquivo é o melhor lugar, pois ele é lido por todos os usuários no momento do login.
  • 8. 8 Sistemas Operacionais Luiz Arthur Caso um arquivo/comando não esteja localizado em nenhum dos diretórios do path, você deve executa-lo usando um ./ na frente do comando, ou passando o caminho (diretório) inteiro no prompt de comando. Se deseja alterar o path para um único usuário, modifique o arquivo .bash_profile em seu diretório de usuário (home). Executando programas em seqüência Os comandos podem ser executados em seqüência (um após o término do outro) se os separarmos com ";". Por exemplo: echo primeiro;echo segundo;echo terceiro Também é possível executar um comando em seqüência com a condição AND, ou seja, o próximo comando só vai ser executado se o anterior for executado de forma correta. Isto é possível utilizando && entre os comandos. Por exemplo: echo primeiro && eco segundo && echo terceiro. Desta forma o sistema irá executar o primeiro echo, passara para o segundo, mas este segundo foi digitado errado “eco” e desta forma não será executado e assim o próximo comando echo também não será executado. Isto é muito útil em scripts.
  • 9. 9 Sistemas Operacionais Luiz Arthur Veremos agora alguns comandos básicos para gerência de processos: ps O comando ps gera uma lista com todos os processos em execução e seus atributos. Algumas vezes é útil ver quais processos estão sendo executados no computador. O comando ps faz isto, e também nos mostra qual usuário executou o programa, hora que o processo foi iniciado, etc. ps [opções] Onde: -a Mostra os processos criados por você e de outros usuários do sistema. -x Mostra processos que não são controlados pelo terminal. -u Mostra o nome de usuário que iniciou o processo e hora em que o processo foi iniciado. -m Mostra a memória ocupada por cada processo em execução. -f Mostra a árvore de execução de comandos (comandos que são chamados por outros comandos).
  • 10. 10 Sistemas Operacionais Luiz Arthur -e Mostra variáveis de ambiente no momento da inicialização do processo. -w Mostra a continuação da linha atual na próxima linha ao invés de cortar o restante que não couber na tela. --sort:[coluna] Organiza a saída do comando ps de acordo com a coluna escolhida. Você pode usar as colunas pid, utime, ppid, rss, size, user, priority. Pode ser especificada uma listagem em ordem inversa especificando --sort:[- coluna]. As opções acima podem ser combinadas para resultar em uma listagem mais completa. Você também pode usar pipes "|" para filtrar a saída do comando ps. Ao contrário de outros comandos, o comando ps não precisa do hífen "-" para especificar os comandos. Isto porque ele não utiliza opções longas e não usa parâmetros. Exemplos: ps, ps aux, ps ax|grep inetd, ps auxf, ps auxw.
  • 11. 11 Sistemas Operacionais Luiz Arthur pstree O comando pstree irá mostrar a árvore de processos desde o init até o último processo em execução. É similar ao ps -auxf. Ele é útil para o entendimento da hierarquia dos processos no Linux. pstree [opções] [pid] Onde: pid Número do processo que terá sua árvore listada. Se omitido, lista todos os processos. Opções: -a Mostra opções passadas na linha de comando. -c Mostra toda a estrutura (inclusive sub-processos do processo pai). -G Usa caracteres gráficos no desenho da árvore de processos. -h Destaca o processo atual e seus antecessores. -H [pid] Destaca o processo especificado. -l Não faz quebra de linha -n Classifica pelo número PID ao invés do nome. -p Mostra o número PID entre parênteses após o nome do processo. -u Mostra também o dono do processo. -U Usa o conjunto de caracteres Unicode para o desenho da árvore.
  • 12. 12 Sistemas Operacionais Luiz Arthur top Mostra os programas em execução ativos, parados, tempo usado na CPU, detalhes sobre o uso da memória RAM, Swap, disponibilidade para execução de programas no sistema, etc. top é um programa que continua em execução mostrando continuamente os processos que estão rodando em seu computador e os recursos utilizados por eles. Para sair do top, pressione a tecla q. O comando top mostra os processos em execução como o ps, mas atualizando a tela. Este recurso é útil para monitorar como um ou mais processos agem no sistema. Este comando também ordena os processos que utilizam mais CPU no topo da tela. top [opções] Onde: -d [tempo] Atualiza a tela após o [tempo] (em segundos). -s Diz ao top para ser executado em modo seguro. -i Inicia o top ignorando o tempo de processos zumbis. -c Mostra a linha de comando ao invés do nome do programa.
  • 13. 13 Sistemas Operacionais Luiz Arthur A ajuda sobre o top pode ser obtida dentro do programa pressionando a tecla h ou pela página de manual ($man top). Abaixo algumas teclas úteis: espaço - Atualiza imediatamente a tela. CTRL+L - Apaga e atualiza a tela. h - Mostra a tela de ajuda do programa. É mostrado todas as teclas que podem ser usadas com o top. i - Ignora o tempo ocioso de processos zumbis. q - Sai do programa. k - Finaliza um processo - semelhante ao comando kill. Você será perguntado pelo número de identificação do processo (PID). Este comando não estará disponível caso esteja usando o top com a opção -s. n - Muda o número de linhas mostradas na tela. Se 0 for especificado, será usada toda a tela para listagem de processos.
  • 14. 14 Sistemas Operacionais Luiz Arthur kill Permite enviar um sinal a um comando/programa. Caso seja usado sem parâmetros, o kill enviará um sinal de término (TERM-15) ao processo sendo executado, de forma que o processo seja executado de forma elegante. O kill é usado geralmente para terminar a execução de processos identificados pelo PID. kill [opções] [sinal] [número] Onde: número É o número de identificação do processo obtido com o comando ps. Também pode ser o número após o sinal de % obtido pelo comando jobs para matar uma tarefa interrompida. Sinal Sinal que será enviado ao processo. Se omitido usa -15 como padrão. opções -9 Envia um sinal de destruição ao processo ou programa. Ele é terminado imediatamente sem chances de salvar os dados ou apagar os arquivos temporários criados por ele. Você precisa ser o dono do processo ou o usuário root para termina-lo ou destruí- lo. Você pode verificar se o processo foi finalizado através do comando ps.
  • 15. 15 Sistemas Operacionais Luiz Arthur Por exemplo: Procurando um programa chamado sshd (usado para acesso a maquinas remotas): #ps ax | grep sshd 4916 pts/2 S+ 0:00 grep sshd Caso queiramos que tal programa re-leia o arquivo de configuração podemos executar o comando kill com o sinal HUP. #kill -HUP 4916 Porém se for necessário terminar o programa de forma brusca, por exemplo caso ele esteja consumindo muitos recursos do seu computador, podemos enviar um sinal -9, tal como: #kill -9 4916
  • 16. 16 Sistemas Operacionais Luiz Arthur killall O comando killall envia sinais para os processos e recebe como parâmetro não o PID do processo, mas seu nome. Ele é usado geralmente para terminar a execução de processos que possuem diversos filhos executando concorrentemente. killall [opções] [sinal] [processo] Onde: processo Nome do processo que deseja finalizar sinal Sinal que será enviado ao processo (pode ser obtido usando a opção -i). Indicado com a opção (-s). Opções: -i Pede confirmação sobre a finalização do processo. -l Lista o nome de todos os sinais conhecidos. -q Ignora a existência do processo. -v Retorna se o sinal foi enviado com sucesso ao processo. -w Finaliza a execução do killall somente após finalizar todos os processos. Por exemplo: #killall -s 9 sshd
  • 17. 17 Sistemas Operacionais Luiz Arthur É importante entender a diferença entre o kill e killall. O primeiro envia sinais para um ou mais processos identificados pelo PID. O segundo envia sinais para todos os processos na fila de execução que possuem um determinado nome. Os sinais enviados pelo kill e pelo killall podem ser passados pelo nome ou pelo número inteiro correspondente. É possível, dentro de uma hierarquia de processos, que um determinado processo filho termine por algum motivo inesperado, e o processo pai se torne um processo zoombie ou defunto (defunct). Os processos zoombie não podem ser terminados com o comando kill, porque eles já não existem mais. Isso acontece porque cada processo criado recebe um lugar na tabela de processos do Kernel. Quando ele termina, seu lugar na tabela do Kernel recebe o resultado da sua execução. O resultado da execução é retido a tabela até alguém consultá-lo quando, então, é removido da tabela. O estado do processo é chamado de Zumbi quando o mesmo termina e seu resultado ainda não foi retirado da tabela do Kernel. Outra possibilidade especial é quando um processo qualquer que criou novos processos filhos que executam debaixo de sua hierarquia termine inesperadamente. Neste caso, os processos filhos perdem o seu processo pai e são adotados pelo processo init (PID 1) que é o pai de todos os processos. Estas duas situações descritas não são normais e podem ser ocasionadas por bugs nos programas.
  • 18. 18 Sistemas Operacionais Luiz Arthur Interrompendo a execução de um processo Para cancelar a execução de algum processo rodando em primeiro plano, basta pressionar as teclas CTRL+C. A execução do programa será cancelada e será mostrado o aviso de comando. Você também pode usar o comando kill. Parando momentaneamente a execução de um processo Para parar a execução de um processo rodando em primeiro plano, basta pressionar as teclas CTRL+Z. O programa em execução será pausado e será mostrado o número de seu job e o aviso de comando. Para retornar a execução de um comando pausado, use fg ou bg (abordados a seguir). O programa permanece na memória no ponto de processamento em que parou quando ele é interrompido. Você pode usar outros comandos ou rodar outros programas enquanto o programa atual está interrompido.
  • 19. 19 Sistemas Operacionais Luiz Arthur jobs O comando jobs mostra os processos que estão parados ou rodando em segundo plano. Processos em segundo plano são iniciados usando o símbolo "&" no final da linha de comando ou através do comando bg. jobs O número de identificação de cada processo parado ou em segundo plano (job), é usado com os comandos fg, e bg. Um processo interrompido pode ser finalizado usando-se o comando kill %[num], onde [num] é o número do processo obtido pelo comando jobs. Então, o comando jobs lista os processos que estão em execução em segundo plano. Se um número da tarefa é fornecida, o comando retornará as informações pertinentes somente à tarefa em questão. O número da tarefa é fornecido quando o processo é colocado em segundo plano. A opção -l pode exibir os PIDS do programa. Por exemplo: #jobs -l [2]- 5019 Stopped slocate -u [3]+ 5020 Stopped find / -iname linux
  • 20. 20 Sistemas Operacionais Luiz Arthur fg Permite fazer um programa rodando em segundo plano ou parado, rodar em primeiro plano. Você deve usar o comando jobs para pegar o número do processo rodando em segundo plano ou interrompida, este número será passado ao comando fg para ativa-lo em primeiro plano. fg [número] Onde número é o número obtido através do comando jobs. Caso seja usado sem parâmetros, o fg utilizará o último programa interrompido (o maior número obtido com o comando jobs). Exemplo: #fg 1 bg Permite fazer um programa rodando em primeiro plano ou parado, rodar em segundo plano. Para fazer um programa em primeiro plano rodar em segundo, é necessário primeiro interromper a execução do comando com CTRL+ Z, será mostrado o número da tarefa interrompida, use este número com o comando bg para iniciar a execução do comando em segundo plano. bg [número] Onde: número número do programa obtido com o pressionamento das teclas CTRL+Z ou através do comando jobs.
  • 21. 21 Sistemas Operacionais Luiz Arthur nice O comando nice ajusta o tempo disponível de CPU de um processo para mais ou para menos prioridade nice [opções] [comando/programa] Onde: comando/programa Comando/programa que terá sua prioridade ajustada. Opções: -n [numero] Configura a prioridade que o programa será executado. Se um programa for executado com maior prioridade, ele usará mais recursos do sistema para seu processamento, caso tenha uma prioridade baixa, ele permitirá que outros programas tenham preferência. A prioridade de execução de um programa/comando pode ser ajustada de -19 (a mais alta) até 19 (a mais baixa). Exemplo: nice -n -19 find / -name apropos No inglês “nice” quer dizer “legal”. Se o ajuste de prioridade para um processo for um número positivo, quer dizer que ele está sendo mais legal com os outros programas diminuindo a sua prioridade. Se o ajuste for um número negativo, quer dizer que o programa está sendo menos legal, aumentando a sua prioridade de execução e sobrando menos tempo de CPU para os outros programas
  • 22. 22 Sistemas Operacionais Luiz Arthur Se não for passado nenhum valor de ajuste, o comando nice ajustará a prioridade para +10, diminuindo o tempo de execução do processo. $nice slocate -u & recine O comando renice ajusta a prioridade de execução de processos que já estão rodando. Por padrão, o comando renice recebe como parâmetro o PID de um determinado processo. O ajuste de prioridade é um número inteiro que vai do -20 (maior prioridade) até o +20 (executar qualquer coisa antes deste processo). As opções mais usuais são: -p Recebe o PID par alterar a sua prioridade. -u Recebe um nome de usuário par alterar a prioridade de todos os processos deste usuário em execução. -g Recebe um nome de um grupo para alterar a prioridade de todos os processos pertencentes a este grupo.
  • 23. 23 Sistemas Operacionais Luiz Arthur Exemplo: #renice -1 987 -u daemon root -p 32 Neste exemplo, o processo de número PID 987, PID 32 e todos os processos de que os usuários daemon e root são donos vão ter mais prioridade. Os usuários comuns podem alterar a prioridade dos processos de que eles são donos. Somente o usuário root pode alterar a prioridade de qualquer processo.
  • 24. 24 Sistemas Operacionais Luiz Arthur fim