6. Linux, como funciona esta fera!
Hardware e o Kernel
HD1 HD2sda sdb
sda1
sda2
sda3
sda4
sdb1
sdb2
sdb3
sdb4
SCSI = sd IDE = hd
7. 0 - Halt - encerra atividades e desliga
1 - monousuário
2 - multiusuário
3 - multiusuário com serviços de rede
4 - não usado
5 - x11: o mesmo que o runlevel 3, mas com modo gráfico
6 - reboot - encerra atividades e reinicia
Linux, como funciona esta fera!
inittab and the runlevels
8. ls | grep *.mp3
ls
grep
Processo pai
Processo filho
Linux, como funciona esta fera!
Comunicação entre processos
9. ls | grep b | sort -r | tee saida.txt | wc -l
Linux, como funciona esta fera!
Comunicação entre processos
Nivel ExpertListar arquivos da pasta
Filtrar arquivos que contenham a letra B
Classifica em ordem decrescente
Insire os dados em um arquivo e no terminal
simultaneamente
Conta o numero de linhas, ou seja,
de arquivos
10. (Fonte da imagem: http://ggpht.com/)
Linux, como funciona esta fera!
Programas
11. (Fonte das imagens: distribuição/linux - kde - gnome)
(Fonte das imagens: Distribuição/Linux – KDE - Gnome)
Linux, como funciona esta fera!
Shell
12. (Fonte da imagem: http://www.frci.org.uk)
Linux, como funciona esta fera!
Usuário
13. (Fonte da imagem: Ubuntu/Distribuição)
Linux, como funciona esta fera!
O processo de instalação
14. Linux, como funciona esta fera!
Perguntas?
Luiz Henrique Rauber Rodrigues
https://www.facebook.com/luizrauber
luizhrr@gmail.com
br.linkedin.com/in/luizrauber
Samuel Flores Moraes
https://www.facebook.com/samuelmoraesf
contato@samuelmoraesf.tk
www.samuelmoraesf.tk
Notas do Editor
-> O linux se divide em 5 camadas: usuário, shell, programas, kernel e hardware -> Vamos conhecer a fundo somente a camada do kernel, pois somente ele é o padrão
-> O hardware é cada peça do computador -> As vezes é nescessário a instalação de módulos(drivers no windows) no kernel para podermos usar algum componente -> o conceito de modulos é mais funcional que o de drivers pois o kernel se comunica diretamente com o hadrware sem precisar que o driver “traduza” os comandos para o hardware. ex.: melhor aprender o inglês do que ficar pedindo ajuda a um tradutor.
- o linux é estruturado a partir do sistema de arquivos(qualquer coisa que possa ser manipulada é tratada como um arquivo, incluindo o hardware, ou seja, se você copiar um texto para o arquivo correspondente a placa de audio, um ruido irá sair) - o linux possui uma padronização rigida do sistema de arquivos(a linux standart base) - o linux possui um kernel em que tudo está embutido, então ele pode controlar o hardware, os processos e os arquivos dos usuários diretamente, diferente do windows que possui um conceito de microkernel, com apenas os serviços básicos - como o hardware também é tratado pelo sistema de arquivos, podemos definir o kernel do linux como um supergerenciador inteligente de arquivos - o linux é independente da bios do pc, ele nescessita apenas do serviço de inicialização, o resto está tudo acoplado no kernel
/bin/ - Binários principais dos usuários /boot/ - Arquivos do sistema de boot /dev/ - Arquivos de dispositivos /etc/ - Arquivos de configurações do sistema, todos os segredos estão nele, em arquivos bem documentados /home/ - Diretório dos usuários comuns do sistema /lib/ - Bibliotecas essencias do sistema e os módulos do kernel /media/ - Diretório de montagem de dispositivos /mnt/ - Diretório de montagem de dispositivos /opt/ - Instalação de programas não oficiais da distribuição ou por conta do usuário /sbin/ - Arquivos executáveis que representam comandos administrativos /srv/ - Dados fornecidos pelo sistema /tmp/ - Arquivos temporários /usr/ - Segunda hierarquia do sistema onde ficam os usuários comuns do sistema e programas /var/ - Arquivos gerados pelos programas do sistema como por exemplo: logs, emails, cache... /root/ - Diretório de arquivos do usuário root /proc/ - Diretório virtual controlado pelo kernel com arquivos utilizados por ele para controlar o sistema
- Os nomes de dispositivos são organizados de formas simples, basicamente um grupo que 4 letras e opcionalmente numeros, ex.: primeiro disco rigido= sda / primeira partição do primeiro disco rigido = sda1 - segundo disco rigido = sdb/ primeira partição do primeiro disco rigido = sdb1 - endereços de rede - placa de rede = eth0 - placa wireless = wlan0 - localhost/loopback = lo - Como o hardware é reconhecido como um arquivo, você pode copiar um arquivo qualquer para o arquivo correspondente no diretório /dev/ e do nada um ruido tocará.
- Runlevels são niveis de execução em que o usuário pode operar - Os runlevels são estes: 0 - Halt - encerra atividades e desliga 1 - monousuário 2 - multiusuário 3 - multiusuário com serviços de rede 4 - não usado 5 - x11: o mesmo que o runlevel 3, mas com modo gráfico 6 - reboot - encerra atividades e reinicia - Em algumas distribuições eles podem sofrer alterações - Cada runlevel possui um lista de programas que devem ser iniciados e encerrados quem ficam em /etc/rcN.d, onde N = número do runlevel - Ao iniciar o computador, primeiramente o kernel é carregado, e após o termino do carregamento ele inicia o 1º processo, o "init" - Ele lê o arquivo inittab, que geralmente fica em /etc/ e vê em que runlevel o computador deverá operar e iniciará os programas do diretório já visto
- cada vez que pedimos pra rodar algum programa o kernel cria um processo - Tudo que é efetuado no linux é baseado em um processo - Como o linux é multitarefa, ele permite que mais de um processo seja executado ao mesmo tempo, assim, você pode usar um computador como servidor web, de emails, banco de dados e uma rádio online. cada um destes serviços são chamados de daemons, eles disparam mais de um processo ao mesmo tempo, por exemplo, um servidor web possui muitos processos somente para manter-se “no ar” e, ao site ser acessado, é disparado mais um processo. - Um processo executado por outro processo é chamado de filho e, o processo que deu origem a este processo filho é chamado de processo pai - Um problema que ocorria era que um daemon gerava muitos processos, e estes processos consumiam recursos da máquina mesmo quando o serviço nem estava sendo utilizado, assim surgiu o inetd, um serviço que , ao ser requisitado um serviço, como um site da web, ele inicia o daemon responsável pelo serviço, e ao término da conexão, ele encerra e descarrega o daemon da memória - uso do pipe para comunicação entre processos e exemplo de processos pai e processos filhos
- cada vez que pedimos pra rodar algum programa o kernel cria um processo - Tudo que é efetuado no linux é baseado em um processo - Como o linux é multitarefa, ele permite que mais de um processo seja executado ao mesmo tempo, assim, você pode usar um computador como servidor web, de emails, banco de dados e uma rádio online. cada um destes serviços são chamados de daemons, eles disparam mais de um processo ao mesmo tempo, por exemplo, um servidor web possui muitos processos somente para manter-se “no ar” e, ao site ser acessado, é disparado mais um processo. - Um processo executado por outro processo é chamado de filho e, o processo que deu origem a este processo filho é chamado de processo pai - Um problema que ocorria era que um daemon gerava muitos processos, e estes processos consumiam recursos da máquina mesmo quando o serviço nem estava sendo utilizado, assim surgiu o inetd, um serviço que , ao ser requisitado um serviço, como um site da web, ele inicia o daemon responsável pelo serviço, e ao término da conexão, ele encerra e descarrega o daemon da memória - uso do pipe para comunicação entre processos e exemplo de processos pai e processos filhos
-> Programas são “acessórios” para o dia-a-dia, um exemplo de programa é o libreoffice, o programa em si é a parte em que nós não vemos, os calculos e dados porcessados por ele, o que nós vemos, a interface, é apenas o shell ou interação com o usuário
-> É a interação do linux e seus programas com o usuário, é o que nós vemos tanto em modo texto quanto em modo gráfico
-> Quem faz parte desta camada somos nós -> Devemos ser curiosos e procurarmos respostas para todas as nossas dúvidas.