O Kernel Linux
O artigo refere-se à estrutura e funcionamento do Kernel Linux, com algumas sugestões de configurações.
Parte 3: Versão do kernel Linux e shell
A versão do kernel Linux foi mudada para três (3) em maio de 2011, somente para comemorar o vigésimo aniversário do Linux, sem ter implementações significativas em relação à versão anterior, 2.6.
Para saber a versão do kernel na sua máquina, basta digitar:
uname -r
Ou:
uname -a
Ou, pode verificar diretamente o conteúdo do arquivo /proc/version:
cat /proc/version
Obs.: usa-se o comando cat, pois não é aconselhável entrar no diretório /proc.
Os kernels do Linux possuem dois tipos: Estável ou Desenvolvimento; e assim como todos os softwares, possui um número de versão numérica (ex.: Linux 2.6.32-5--amd64), sendo esse número constituído por uma série de campos, cada qual com um significado próprio.
Usando o comando uname -r, obteremos a versão do kernel da máquina. Exemplo:
# uname -r
A opção generic-pae significa que é uma versão genérica com PAE (Physical Address Extension - extensão de endereço físico). PAE é uma funcionalidade que permite que sistemas de 32 bits ultrapassem os 4 gigabytes de memória RAM.
Atualmente, o controle de versão do kernel do Linux é feito usando-se o software livre Git, que foi inicialmente criado pelo próprio Linus para o desenvolvimento do kernel.
O kernel Linux, versão 3.8, trouxe como novidade o suporte completo para os núcleos gráficos em Haswell da próxima geração de processadores da Intel, para aceleração 3D em todos os chipsets gráficos NVIDIA GeForce.
Ainda trouxe o F2FS, um sistema de arquivos que é otimizado para dispositivos que usam memória Flash, bastante utilizado em câmeras, tablets, smartphones, drives Flash USB e cartões de memória. Também foram melhorados alguns aspectos do desempenho dos sistemas de arquivos ext4 e Btrfs.
Os aplicativos são programas que podem ser invocados pelo shell para realizar diversas tarefas. Em inglês "shell", significa "casca". O shell é um programa encarregado de interpretar os comandos, transmiti-los ao sistema e retornar o resultado.
Os shells mais usuais são:
Cada usuário possui um shell padrão, porém, é possível alterar o shell padrão numa determinada sessão executando o arquivo correspondente.
Por exemplo: /bin/bash
A configuração própria do shell de um determinado usuário encontra-se num arquivo escondido, cujo nome começa por um ponto situado no diretório básico do usuário, ou seja: /home/nome_do_usuário/.arquivo_de_configuração.
Via de regra, o terminal é composto pelo nome da máquina, seguido de @, seguido do nome do usuário, seguido de dois pontos (:), do diretório corrente, seguido de um caractere que indica o tipo de usuário conectado no sistema:
Para saber a versão do kernel na sua máquina, basta digitar:
uname -r
Ou:
uname -a
Ou, pode verificar diretamente o conteúdo do arquivo /proc/version:
cat /proc/version
Obs.: usa-se o comando cat, pois não é aconselhável entrar no diretório /proc.
Os kernels do Linux possuem dois tipos: Estável ou Desenvolvimento; e assim como todos os softwares, possui um número de versão numérica (ex.: Linux 2.6.32-5--amd64), sendo esse número constituído por uma série de campos, cada qual com um significado próprio.
Usando o comando uname -r, obteremos a versão do kernel da máquina. Exemplo:
# uname -r
2.6.34.14 A.B.C.DOu:
2.6.32-5-amd64 A.B.C- DOnde:
- A - Version :: Número principal. É a versão principal.
- B - Patchlevel :: Indica mudanças importantes no funcionamento do kernel do Linux. É o número de revisão principal. Até a versão 2.4 se esse número fosse ímpar, indicava um kernel experimental, se fosse par, então era um kernel considerado estável (de produção). Da versão 2.6 em diante não se usa mais essa distinção. Agora são usadas RC (Release Candidate - Candidata a Lançamento).
Então, a versão 3.8.3, é uma versão estável (Stable Release - Lançamento Estável), a versão 3.9-rc2 é uma versão de desenvolvimento (Development Release). A versão 2.6.34.14 era uma versão estável, a versão 2.6.34-rc5 era uma versão em desenvolvimento.
- C - Sublevel :: Sua evolução indica o suporte a novos dispositivos, bem como correção de bugs e pequenos melhoramentos no sistema. É o número de revisão secundário.
- D - Extraversion :: Usado quando desejamos diferenciar duas compilações de um kernel de mesma versão, a fim de constituírem módulos separados. São as correções urgentes.
A opção generic-pae significa que é uma versão genérica com PAE (Physical Address Extension - extensão de endereço físico). PAE é uma funcionalidade que permite que sistemas de 32 bits ultrapassem os 4 gigabytes de memória RAM.
Atualmente, o controle de versão do kernel do Linux é feito usando-se o software livre Git, que foi inicialmente criado pelo próprio Linus para o desenvolvimento do kernel.
O kernel Linux, versão 3.8, trouxe como novidade o suporte completo para os núcleos gráficos em Haswell da próxima geração de processadores da Intel, para aceleração 3D em todos os chipsets gráficos NVIDIA GeForce.
Ainda trouxe o F2FS, um sistema de arquivos que é otimizado para dispositivos que usam memória Flash, bastante utilizado em câmeras, tablets, smartphones, drives Flash USB e cartões de memória. Também foram melhorados alguns aspectos do desempenho dos sistemas de arquivos ext4 e Btrfs.
Shell
O shell é um interpretador de comandos que atua como interface entre o kernel e o usuário através do terminal.Os aplicativos são programas que podem ser invocados pelo shell para realizar diversas tarefas. Em inglês "shell", significa "casca". O shell é um programa encarregado de interpretar os comandos, transmiti-los ao sistema e retornar o resultado.
Os shells mais usuais são:
- SH (chamado Bourne Shell);
- Bash (Bourne again shell);
- CSH (C Shell);
- TCSH (Tenex C shell);
- KSH (Korn shell);
- ZSH (Zero shell).
Cada usuário possui um shell padrão, porém, é possível alterar o shell padrão numa determinada sessão executando o arquivo correspondente.
Por exemplo: /bin/bash
A configuração própria do shell de um determinado usuário encontra-se num arquivo escondido, cujo nome começa por um ponto situado no diretório básico do usuário, ou seja: /home/nome_do_usuário/.arquivo_de_configuração.
Via de regra, o terminal é composto pelo nome da máquina, seguido de @, seguido do nome do usuário, seguido de dois pontos (:), do diretório corrente, seguido de um caractere que indica o tipo de usuário conectado no sistema:
- O cifrão "$" indica que se trata de um usuário normal (sem muitos privilégios);
- A tralha (jogo da velha, cerquilha, sharp, etc) "#" indica que se trata do administrador, o root.