43
CURSO DE LINUX Aula 2 Kernel e sinais do sistema Enrico Manfron e Lucas Ricardo [email protected] petcocelinux.wordpress.com

CURSO DE LINUX - petcocelinux.files.wordpress.com€¦ · CURSO DE LINUX Aula 2 Kernel e sinais do sistema Enrico Manfron e Lucas Ricardo [email protected] petcocelinux.wordpress.com

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CURSO DE LINUX - petcocelinux.files.wordpress.com€¦ · CURSO DE LINUX Aula 2 Kernel e sinais do sistema Enrico Manfron e Lucas Ricardo petcocelinux@gmail.com petcocelinux.wordpress.com

CURSO DE LINUX Aula 2

Kernel e sinais do sistemaEnrico Manfron e Lucas Ricardo

[email protected]

Page 2: CURSO DE LINUX - petcocelinux.files.wordpress.com€¦ · CURSO DE LINUX Aula 2 Kernel e sinais do sistema Enrico Manfron e Lucas Ricardo petcocelinux@gmail.com petcocelinux.wordpress.com

Revisão

Page 3: CURSO DE LINUX - petcocelinux.files.wordpress.com€¦ · CURSO DE LINUX Aula 2 Kernel e sinais do sistema Enrico Manfron e Lucas Ricardo petcocelinux@gmail.com petcocelinux.wordpress.com

revisãoHardware

◆ Placa Mãe◆ Processador◆ Memórias

● Memória RAM● HD

◆ Placas de expansão

Além disso:

◆ Fonte de alimentação◆ Cabos◆ Gabinete

Page 4: CURSO DE LINUX - petcocelinux.files.wordpress.com€¦ · CURSO DE LINUX Aula 2 Kernel e sinais do sistema Enrico Manfron e Lucas Ricardo petcocelinux@gmail.com petcocelinux.wordpress.com

revisãodispositivos para o linux

◆ Localizados na pasta de Devices - /dev● /dev/sda1● /dev/stty1● /dev/ttyacm0

◆ $ sudo dmidecode● Lista os devices identificados pelo Kernel

Page 5: CURSO DE LINUX - petcocelinux.files.wordpress.com€¦ · CURSO DE LINUX Aula 2 Kernel e sinais do sistema Enrico Manfron e Lucas Ricardo petcocelinux@gmail.com petcocelinux.wordpress.com

revisãoTipos de dispositivo

◆ Plug and play● Mais legais do planeta!!!!

◆ Dispositivos “chatinhos”. Exigem configuração manual.

◆ TODOS OS DISPOSITIVOS POSSUEM:● IRQ

○ Interruption Requirement● DMA

○ Direct Access Memory● I/O

○ Input/Output

Page 6: CURSO DE LINUX - petcocelinux.files.wordpress.com€¦ · CURSO DE LINUX Aula 2 Kernel e sinais do sistema Enrico Manfron e Lucas Ricardo petcocelinux@gmail.com petcocelinux.wordpress.com

revisãodiscos e partições

◆ Disco● Dispositivo para armazenamento de dados

◆ Partição● Setor no Disco

◆ Utilidades:● Dualboot● Armazenamento de arquivos em diferentes partições● Segurança

Page 7: CURSO DE LINUX - petcocelinux.files.wordpress.com€¦ · CURSO DE LINUX Aula 2 Kernel e sinais do sistema Enrico Manfron e Lucas Ricardo petcocelinux@gmail.com petcocelinux.wordpress.com

revisãosistemas de arquivos

◆ ext4● Sistema mais atual para o Linux

◆ NTFS● Sistemas para Windows NT

◆ swap● Proporciona vantagens à um sistema Linux

Page 8: CURSO DE LINUX - petcocelinux.files.wordpress.com€¦ · CURSO DE LINUX Aula 2 Kernel e sinais do sistema Enrico Manfron e Lucas Ricardo petcocelinux@gmail.com petcocelinux.wordpress.com

revisãoPontos de montagem

➔ $ mount /dev/sda2 -t ext2◆ Faz um ponto de montagem para o dispositivo /dev/sda2, no sistema ext2

➔ $ UNmount /dev/sda2 ◆ Desfaz o ponto criado

Page 9: CURSO DE LINUX - petcocelinux.files.wordpress.com€¦ · CURSO DE LINUX Aula 2 Kernel e sinais do sistema Enrico Manfron e Lucas Ricardo petcocelinux@gmail.com petcocelinux.wordpress.com

revisãoComo o sistema inicia?

1. Apertamos o botão de ligar

2. Fonte alimenta a placa mãe, iniciando a BIOS (ROM).

3. A BIOS executa as instruções na memória, basicamente, fazendo a placa mãe

realizar teste nos dispositivos.

4. Terminados os testes, inicia-se a busca pelo setor de boot no disco rígido

5. Esse setor de boot é criado por um gerenciador de inicialização.

Page 10: CURSO DE LINUX - petcocelinux.files.wordpress.com€¦ · CURSO DE LINUX Aula 2 Kernel e sinais do sistema Enrico Manfron e Lucas Ricardo petcocelinux@gmail.com petcocelinux.wordpress.com

revisãoGErenciadores de inicialização

➔ GRUB - Grand Unified Bootloader➔ LILO - LInux LOader

◆ Podemos configurar ambos de acordo com a nossa necessidade◆ São importantes para a correta inicialização dos sistemas operacionais

Page 11: CURSO DE LINUX - petcocelinux.files.wordpress.com€¦ · CURSO DE LINUX Aula 2 Kernel e sinais do sistema Enrico Manfron e Lucas Ricardo petcocelinux@gmail.com petcocelinux.wordpress.com

manutenção do sistema

quee?

Page 12: CURSO DE LINUX - petcocelinux.files.wordpress.com€¦ · CURSO DE LINUX Aula 2 Kernel e sinais do sistema Enrico Manfron e Lucas Ricardo petcocelinux@gmail.com petcocelinux.wordpress.com

manutenção do sistemaManutenção no sistema de arquivos

◆ Windows faz isso automaticamente pra você!● Isso não é bom!!!

Page 13: CURSO DE LINUX - petcocelinux.files.wordpress.com€¦ · CURSO DE LINUX Aula 2 Kernel e sinais do sistema Enrico Manfron e Lucas Ricardo petcocelinux@gmail.com petcocelinux.wordpress.com

manutenção do sistemaManutenção no sistema de arquivos

➔ $ fsck <opções> <dispositivo>◆ FileSystem Check ◆ Existe uma para cara sistema de arquivo diferente:

● fsck.ext2● fsck.ext3

➔ $ badblocks <opções> <dispositivo>◆ Marca blocos defeituosos no HD

● Ajuda na hora de gravar informações● O sistema já sabe onde está defeituoso

Page 14: CURSO DE LINUX - petcocelinux.files.wordpress.com€¦ · CURSO DE LINUX Aula 2 Kernel e sinais do sistema Enrico Manfron e Lucas Ricardo petcocelinux@gmail.com petcocelinux.wordpress.com

manutenção do sistematarefas automáticas do sistema

➔ cron◆ Daemon que permite agendar execução de comando ou programa◆ Edição no arquivo /etc/crontab

● cron.daily, ...

➔ $ at◆ Agendar tarefa:

● echo ls | at 19:54◆ Visualizar tarefas:

● $ atq◆ Remover tarefas:

● $ atrm <NÚMERO DA TAREFA>

Page 15: CURSO DE LINUX - petcocelinux.files.wordpress.com€¦ · CURSO DE LINUX Aula 2 Kernel e sinais do sistema Enrico Manfron e Lucas Ricardo petcocelinux@gmail.com petcocelinux.wordpress.com

manutenção do sistemaManutenção no sistema de arquivos

◆ No linux, é possível fazer essa mesma checagem de uma maneira mais segura e controlável

● $ fsck <opções> <dispositivo>○ FileSystem Check ○ Existe uma para cara sistema de arquivo diferente:

◆ fsck.ext2◆ fsck.ext3

Page 16: CURSO DE LINUX - petcocelinux.files.wordpress.com€¦ · CURSO DE LINUX Aula 2 Kernel e sinais do sistema Enrico Manfron e Lucas Ricardo petcocelinux@gmail.com petcocelinux.wordpress.com

Kernel e módulos

Page 17: CURSO DE LINUX - petcocelinux.files.wordpress.com€¦ · CURSO DE LINUX Aula 2 Kernel e sinais do sistema Enrico Manfron e Lucas Ricardo petcocelinux@gmail.com petcocelinux.wordpress.com

kernelREVISANDO kernel

◆ Peça central do sistema operacional◆ Controla os dispositivos e periféricos do sistema

Linux não é um Sistema Operacional, é um Kernel

◆ Windows 10 é um sistema operacional● Kernel = Windows NT

https://en.wikipedia.org/wiki/Comparison_of_operating_system_kernels

Page 18: CURSO DE LINUX - petcocelinux.files.wordpress.com€¦ · CURSO DE LINUX Aula 2 Kernel e sinais do sistema Enrico Manfron e Lucas Ricardo petcocelinux@gmail.com petcocelinux.wordpress.com

kernel REVISANDO kernel

Page 19: CURSO DE LINUX - petcocelinux.files.wordpress.com€¦ · CURSO DE LINUX Aula 2 Kernel e sinais do sistema Enrico Manfron e Lucas Ricardo petcocelinux@gmail.com petcocelinux.wordpress.com

kernel REVISANDO kernel

Page 20: CURSO DE LINUX - petcocelinux.files.wordpress.com€¦ · CURSO DE LINUX Aula 2 Kernel e sinais do sistema Enrico Manfron e Lucas Ricardo petcocelinux@gmail.com petcocelinux.wordpress.com

kernelREVISANDO kernel

◆ Controla periféricos do sistema

◆ Esses dispositivos pode possuir suporte incluso: O Kernel deve estar pronto para recebê-lo, ou seja, deve conter suas configurações pré-estabelecidas.

https://www.tldp.org/HOWTO/Hardware-HOWTO/

Page 21: CURSO DE LINUX - petcocelinux.files.wordpress.com€¦ · CURSO DE LINUX Aula 2 Kernel e sinais do sistema Enrico Manfron e Lucas Ricardo petcocelinux@gmail.com petcocelinux.wordpress.com

kernel informações do sistema

➔ $ UNAME <opções> ◆ Mostra informações do sistema

● Exercício:○ Consulte o manual do comando○ Veja a versão do Sistema operacional, do Kernel e do processador

Page 22: CURSO DE LINUX - petcocelinux.files.wordpress.com€¦ · CURSO DE LINUX Aula 2 Kernel e sinais do sistema Enrico Manfron e Lucas Ricardo petcocelinux@gmail.com petcocelinux.wordpress.com

kernel mensagens do kernel

➔ $ dmesg <opções> ◆ Mostra o processo de inicialização do sistema

◆ Ao conectar um dispositivo, ele deve ser iniciado pelo Kernel.◆ Este comando é bastante útil quando você quer verificar essa inicialização.

Page 23: CURSO DE LINUX - petcocelinux.files.wordpress.com€¦ · CURSO DE LINUX Aula 2 Kernel e sinais do sistema Enrico Manfron e Lucas Ricardo petcocelinux@gmail.com petcocelinux.wordpress.com

módulosPartes do kernel

◆ Partes do kernel que são carregadas quando solicitadas

◆ Evita a ocupação de memória somente pelo Kernel● Imagine se o núcleo carrega tudo o que ele vai precisar usar?

O sistema trava!

◆ Módulos kernel estão localizados /lib/modules/<versão do kernel>

Page 24: CURSO DE LINUX - petcocelinux.files.wordpress.com€¦ · CURSO DE LINUX Aula 2 Kernel e sinais do sistema Enrico Manfron e Lucas Ricardo petcocelinux@gmail.com petcocelinux.wordpress.com

módulosPartes do kernel

◆ E como eu posso iniciar esses módulos?

➔ $ lsmod ◆ Lista os módulos carregados pelo sistema

➔ $ MODINFO <módulo>◆ Lista informações sobre um determinado módulo

Page 25: CURSO DE LINUX - petcocelinux.files.wordpress.com€¦ · CURSO DE LINUX Aula 2 Kernel e sinais do sistema Enrico Manfron e Lucas Ricardo petcocelinux@gmail.com petcocelinux.wordpress.com

módulos comandos para módulos

➔ $ insmod <módulo> <opções> ◆ Carrega os módulos manualmente

➔ $ rmmod ◆ Remove módulos carregados no kernel

➔ $ depmod ◆ Checa dependência entre os módulos

➔ $ modprobe ◆ INSMOD + DEPMOD◆ Carrega um módulo e suas dependências, manualmente

➔ $ modconf ◆ Configurar I/O, DMA e IRQ manualmente

Page 26: CURSO DE LINUX - petcocelinux.files.wordpress.com€¦ · CURSO DE LINUX Aula 2 Kernel e sinais do sistema Enrico Manfron e Lucas Ricardo petcocelinux@gmail.com petcocelinux.wordpress.com

módulos arquivos específicos de módulos

◆ /etc/modules● Carregador de módulos de inicialização do sistema● Possui a lista de módulos● Editado pelo comando modconf

◆ modules.conf● Guarda as informações de configuração de cada módulo

Page 27: CURSO DE LINUX - petcocelinux.files.wordpress.com€¦ · CURSO DE LINUX Aula 2 Kernel e sinais do sistema Enrico Manfron e Lucas Ricardo petcocelinux@gmail.com petcocelinux.wordpress.com

atualizações no kerneldiff e patch

➔ $ diff ● Mostra a diferença entre um arquivo e outro● Útil para checar mudanças em um programa, por exemplo.

https://www.kernel.org/doc/html/v4.11/process/applying-patches.html

Page 28: CURSO DE LINUX - petcocelinux.files.wordpress.com€¦ · CURSO DE LINUX Aula 2 Kernel e sinais do sistema Enrico Manfron e Lucas Ricardo petcocelinux@gmail.com petcocelinux.wordpress.com

daemons e logsque?

Page 29: CURSO DE LINUX - petcocelinux.files.wordpress.com€¦ · CURSO DE LINUX Aula 2 Kernel e sinais do sistema Enrico Manfron e Lucas Ricardo petcocelinux@gmail.com petcocelinux.wordpress.com

daemons e logslogs

◆ São arquivos de registro que ficam em /var/log

◆ Contém Hora, Data, Mensagem emitida pelo programa

◆ Logs nunca são sobrescritos.

◆ Ajuda os administradores a acompanhar o funcionamento do sistema, comportamento dos programas ou na solução e prevenção de problemas.

◆ Uma ferramenta muito importante para administradores, já que guarda os principais registros do sistema.

Page 30: CURSO DE LINUX - petcocelinux.files.wordpress.com€¦ · CURSO DE LINUX Aula 2 Kernel e sinais do sistema Enrico Manfron e Lucas Ricardo petcocelinux@gmail.com petcocelinux.wordpress.com

daemons e logsFormato do arquivo log

◆ Normalmente formados pelos seguintes campos:

● data | hora | máquina | daemon | mensagem

◆ Onde:● máquina : nome do computador que gravou a mensagem● daemon : qual programa registrou a mensagem

◆ Daemons de logs do sistema registram mensagens de saída do kernel e do sistema e guardam em /var/log, entre outros também.

Page 31: CURSO DE LINUX - petcocelinux.files.wordpress.com€¦ · CURSO DE LINUX Aula 2 Kernel e sinais do sistema Enrico Manfron e Lucas Ricardo petcocelinux@gmail.com petcocelinux.wordpress.com

daemons e logsDaemons

◆ “Mas o que são daemons, e o que eles fazem ?”● daemons controlam (iniciam, reiniciam, param, etc.) algum serviço provido

pelo sistema.

◆ Basicamente eles são mecanismos que servem para controlar coisas quando necessário.

Imagine um daemon como um guarda de trânsito quando um sinaleiro não funciona, ou seja, manualmente ele organiza o fluxo de carros e chama o pessoal da manutenção do sinaleiro para que o sistema se normalize e volte a funcionar automaticamente.

Page 32: CURSO DE LINUX - petcocelinux.files.wordpress.com€¦ · CURSO DE LINUX Aula 2 Kernel e sinais do sistema Enrico Manfron e Lucas Ricardo petcocelinux@gmail.com petcocelinux.wordpress.com

daemons e logslogs importantes

◆ /var/log/apt/ - Logs do uso do gerenciador de pacotes apt-get.

◆ boot.log - Registros dos serviços carregados durante a inicialização do sistema .

◆ auth.log - Registro do uso de autorização do sistema. como mecanismos que exigem senha. ex: sudo …

◆ kern.log - Mensagens detalhadas do kernel

◆ syslog - Mensagens que não foram armazenadas em logs mais específicos.

◆ Xorg.0.log - Informações sobre drivers da placa de vídeo e do ambiente gráfico.

Page 33: CURSO DE LINUX - petcocelinux.files.wordpress.com€¦ · CURSO DE LINUX Aula 2 Kernel e sinais do sistema Enrico Manfron e Lucas Ricardo petcocelinux@gmail.com petcocelinux.wordpress.com

daemons de logs➔ $ rSYSLOGD <opções>

◆ Esse daemon controla o registro de logs do sistema

➔ $ klogctl <opções>◆ Controla o registro das mensagens do kernel

➔ $ logger <opções> <mensagem>◆ Permite enviar mensagens nos logs do sistema.

Page 34: CURSO DE LINUX - petcocelinux.files.wordpress.com€¦ · CURSO DE LINUX Aula 2 Kernel e sinais do sistema Enrico Manfron e Lucas Ricardo petcocelinux@gmail.com petcocelinux.wordpress.com

execução de programas

o que é execução de programa?

Page 35: CURSO DE LINUX - petcocelinux.files.wordpress.com€¦ · CURSO DE LINUX Aula 2 Kernel e sinais do sistema Enrico Manfron e Lucas Ricardo petcocelinux@gmail.com petcocelinux.wordpress.com

execução de programastipo de execução

◆ Duas formas:

○ Primeiro Plano - foreground

○ Segundo Plano - backgroud

Page 36: CURSO DE LINUX - petcocelinux.files.wordpress.com€¦ · CURSO DE LINUX Aula 2 Kernel e sinais do sistema Enrico Manfron e Lucas Ricardo petcocelinux@gmail.com petcocelinux.wordpress.com

execução de programascomandos iniciais:

➔ $ <comando> ; <comando>: ...◆ Executa comandos em sequência.

➔ $ ps <opções>◆ Apresenta processos em execução no terminal que foram iniciados.

➔ $ top <opções> ◆ Apresenta todos os processos.

Page 37: CURSO DE LINUX - petcocelinux.files.wordpress.com€¦ · CURSO DE LINUX Aula 2 Kernel e sinais do sistema Enrico Manfron e Lucas Ricardo petcocelinux@gmail.com petcocelinux.wordpress.com

execução de programascontrole de execução:

➔ $ CTRL + C ◆ Cancela a execução de um processo em primeiro plano.

➔ $ CTRL + z ◆ Para a execução de um processo em primeiro plano.

➔ $ jobs◆ Apresenta processos parados ou em segundo plano.

➔ $ fg <numero>◆ Passa um processo para o primeiro plano.

➔ $ bg <numero>◆ Passa um processo para o segundo plano.

Page 38: CURSO DE LINUX - petcocelinux.files.wordpress.com€¦ · CURSO DE LINUX Aula 2 Kernel e sinais do sistema Enrico Manfron e Lucas Ricardo petcocelinux@gmail.com petcocelinux.wordpress.com

execução de programascomandos iniciais:

➔ $ kill <opções> <sinal> <número> ◆ Permite que você envie um sinal a um programa.

(e você aí pensando que o kill só matava processos em...)

Page 39: CURSO DE LINUX - petcocelinux.files.wordpress.com€¦ · CURSO DE LINUX Aula 2 Kernel e sinais do sistema Enrico Manfron e Lucas Ricardo petcocelinux@gmail.com petcocelinux.wordpress.com

alguns daemons de logsSinais

◆ São usados quando se deseja enviar uma mensagem a um processo

Exemplo: Quando você digita “kill 40301”, na verdade você está mandando o número 15 para o programa, que significa algo como:

“Caro programa, quero ,gentilmente, terminar sua execução”

◆ Já o número 9 ...

Page 40: CURSO DE LINUX - petcocelinux.files.wordpress.com€¦ · CURSO DE LINUX Aula 2 Kernel e sinais do sistema Enrico Manfron e Lucas Ricardo petcocelinux@gmail.com petcocelinux.wordpress.com

alguns daemons de logsSinais

◆ Sinal 1: Significa reinício do programa. O programador deve escrever uma rotina que faça o que ele considera como reinício (como reler arquivos de configurações por exemplo). Senão o tratamento padrão é o encerramento. Este sinal é chamado de SIGHUP.

◆ Sinal 2: Sinal chamado de SIGINT. Causa uma interrupção e morte no programa. Falando em termos práticos, é um sinal 2 que o programa recebe quando se pressiona Control+C.

Page 41: CURSO DE LINUX - petcocelinux.files.wordpress.com€¦ · CURSO DE LINUX Aula 2 Kernel e sinais do sistema Enrico Manfron e Lucas Ricardo petcocelinux@gmail.com petcocelinux.wordpress.com

alguns daemons de logsSinais

◆ Sinal 15: esta é a solicitação de morte, chamada de SIGTERM. Ao receber um sinal 15 o processo deveria preparar-se para terminar, fazendo "seus últimos pedidos" e ele mesmo encerrando normalmente sua execução. Claro, isto se o programador tratar o sinal, senão será o Sistema Operacional quem o fará.

◆ Sinal 9: SIGKILL. Este é a morte indefensável. Não pode ser mascarado, ou seja, o programador não consegue substituir a rotina de tratamento do Sistema Operacional que simplesmente tira o processo da fila de prontos. Deve ser usado em último caso, pois um sinal 15 é mais elegante por dar a chance ao processo de se preparar para sua morte.

Page 42: CURSO DE LINUX - petcocelinux.files.wordpress.com€¦ · CURSO DE LINUX Aula 2 Kernel e sinais do sistema Enrico Manfron e Lucas Ricardo petcocelinux@gmail.com petcocelinux.wordpress.com

alguns daemons de logsSinais

◆ Sinal 14: SIGALRM. Adoro este sinal. Um desconhecido que permite coisas fantásticas. Posso agendar antecipadamente o envio sinal. Tratarei dele com mais detalhes.

◆ Sinal 20: SIGTSTP. Este sinal de STOP faz com que o processo interrompa a sua execução. Veja, ele não termina, apenas interrompe. Se não for tratado pelo programa o Sistema Operacional irá tirar ele da fila de prontos, mas sem o encerrar. Bom exemplos falam mais alto: quando tu digita Control+Z tu gera um sinal 20. Captou? (processo fica parado, um fg volta a ele ou um bg para colocar em background).

Page 43: CURSO DE LINUX - petcocelinux.files.wordpress.com€¦ · CURSO DE LINUX Aula 2 Kernel e sinais do sistema Enrico Manfron e Lucas Ricardo petcocelinux@gmail.com petcocelinux.wordpress.com

Esta foi a aula 2!Aula 3 nesta mesma sala, no

mesmo horário.Dúvidas? Perguntas?

Comentários? Presentes?

Guenta ae! Tem chamada!