# data[].attributes.body
O sistema Linux é o kernel do sistema, ou seja, um software responsável por controlar as interações entre o hardware e outros programas da máquina. O kernel traduz as informações que recebe ao processador e aos demais elementos eletrônicos do computador. O kernel é, portanto, uma série de arquivos escritos em linguagem C e Assembly, que formam o núcleo responsável por todas as atividades executadas pelo sistema operacional.

# data[].attributes.body
Conheça agora as principais características e as partes mais importantes do Linux (kernel):

• Multitarefa e multiusuário.

• Suporte a nomes extensos de arquivos e diretórios.

• Proteção entre processos executados na memória RAM.

• Suporte a mais de 63 terminais virtuais (consoles).

• Modularização – o Linux somente carrega na memória o que é usado durante o processamento, liberando totalmente a memória assim que o programa/disponibilizado é finalizado.

• Devido à modularização, os drivers dos periféricos e recursos do sistema podem ser carregados e removidos completamente da memória RAM a qualquer momento.

• Acessa sem problemas discos formatados em outros tipos de formatos e de diferentes plataformas.

• Suporte a vários protocolos de rede.

• Suporte a dispositivos infravermelhos, USB, plug-and-play e rádio amador.

• Roteamento.

• Pode ser executado em 10 arquiteturas diferentes (Intel 32, 64 Bits, Macintosh, Sparc, entre outros).

A seguir você poderá compreender de uma forma básica e prática o que é o kernel, através da experiência de Jorge Alberto Corso, um professor da cidade de São Bernardo do Campo - SP, em que ele traça uma analogia muito interessante com uma outra máquina: o carro.

Trata-se de duas máquinas, uma mecânica, outra eletrônica:

CARRO (mecânica)

• Para o carro movimentar-se ele precisa de um motor.

• Existem vários tipos de motores: motores para carro de corrida, para carro de passeio, etc.

• Mesmo para um mesmo fabricante de motor, existem vários modelos para um único fim, por exemplo: motor 1.0, motor 1.6.

• Quando aprendemos a dirigir um carro de passeio, aprendemos o funcionamento básico: direção, pedais para acelerar, trocar de marcha, frear. Ou seja, não atuamos diretamente no motor, mas através de comandos para fazê-lo funcionar.

• Para alguns acessórios funcionarem em um carro devemos adequar o motor ou algum componente dele para que isto aconteça, por exemplo, um ar-condicionado exigirá uma bateria com maior amperagem.

# data[].attributes.body
Com o lançamento do Kernel Linux 5.0, veio algumas novidades que já estavam sendo preparadas e que agora chegaram em seu mainline dele. Algumas novidades trazidas foram:

● Suporte para o AMD Radeon FreeSync;

● Suporte para a nova VegaM;

● Suporte para o NVIDIA Xavier

● Melhoramento nos gráficos do Intel Icelake Gen11

● Suporte inicial para os SoCs NXP i.MX8;

● Suporte para Allwinner T3, Qualcomm QCS404 e NXP Layerscape LX2160A;

● Intel VT-d Scalable Mode com suporte para o Scalable I/O Virtualization;

● Novos drivers Intel Stratix 10 FPGA;

● Correções para F2FS, EXT4 e XFS;

● Btrfs file-system com suporte de restauração dos arquivos de swap;

● AgFscrypt Adiantum da Google agora é suportado com ajuda a criptografia rápida de dados em hardware low-end. Isso substitui o algoritmo Speck pela NSA;

● Melhorias no driver Realtek R8169;

● Suporte de alta resolução para rolagens da Logitech;

● Driver para tela sensível ao toque de Raspberry Pi;

● Melhoria aos drivers de notebooks com arquitetura x86;

● Aprimoramento de segurança para o Thunderbolt;

● Suporte para a placa Chameleon96 Intel FPGA;

● Melhor gerenciamento de energia;

# data[].attributes.body
O diretório raiz (/)

Todos os arquivos e diretórios do sistema Linux instalado no computador partem de uma única origem: o diretório raiz. Mesmo que estejam armazenados em outros dispositivos físicos, é a partir do diretório raiz – representado pela barra (/) – que você poderá acessá-los.

Também vale lembrar que o único usuário do sistema capaz de criar ou mover arquivos do diretório raiz é o root, ou seja, o usuário-administrador. Isso evita que usuários comuns cometam erros e acabem comprometendo a integridade de todo o sistema de arquivos.

Binários executáveis: /bin

No diretório /bin estão localizados os binários executáveis que podem ser utilizados por qualquer usuário do sistema. São comandos essenciais, usados para trabalhar com arquivos, textos e alguns recursos básicos de rede, como o cp, mv, ping e grep. Se você ainda não conhece esses comandos, não se preocupe: falaremos sobre eles em um artigo futuro, aqui no Canaltech.

Binários do sistema: /sbin

Assim como o /bin, este diretório armazena executáveis, mas com um diferencial: são aplicativos utilizados por administradores de sistema com o propósito de realizar funções de manutenção e outras tarefas semelhantes. Entre os comandos disponíveis estão o ifconfig, para configurar e controlar interfaces de rede TCP/IP, e o fdisk, que permite particionar discos rígidos, por exemplo.

Programas diversos: /usr

Se você não encontrar um comando no diretório /bin ou /sbin, ele certamente está aqui. O /usr reúne executáveis, bibliotecas e até documentação de softwares usados pelos usuários ou administradores do sistema. Além disso, sempre que você compilar e instalar um programa a partir do código-fonte, ele será instalado nesse diretório.

Configurações do sistema: /etc

No diretório /etc ficam arquivos de configuração que podem ser usados por todos os softwares, além de scripts especiais para iniciar ou interromper módulos e programas diversos. É no /etc que se encontra, por exemplo, o arquivo resolv.conf, com uma relação de servidores DNS que podem ser acessados pelo sistema, com os parâmetros necessários para isso.

Bibliotecas: /lib

Neste ponto do sistema de arquivos ficam localizadas as bibliotecas usadas pelos comandos presentes em /bin e /sbin. Normalmente, os arquivos de bibliotecas começam com os prefixos ld ou lib e possuem "extensão" so.

Opcionais: /opt

Aplicativos adicionais, que não são essenciais para o sistema, terminam neste diretório.

Aquivos pessoais: /home

No diretório /home ficam os arquivos pessoais, como documentos e fotografias, sempre dentro de pastas que levam o nome de cada usuário. Vale notar que o diretório pessoal do administrador não fica no mesmo local, e sim em /root.

Inicialização: /boot

Arquivos relacionados à inicialização do sistema, ou seja, o processo de boot do Linux, quando o computador é ligado, ficam em /boot.

Volumes e mídias: /mnt e /media

Para acessar os arquivos de um CD, pendrive ou disco rígido presente em outra máquina da rede, é necessário "montar" esse conteúdo no sistema de arquivos local, isso é, torná-lo acessível como se fosse apenas mais um diretório no sistema.

Em /media ficam montadas todas as mídias removíveis, como dispositivos USB e DVDs de dados. Já o diretório /mnt fica reservado aos administradores que precisam montar temporariamente um sistema de arquivos externo.

Serviços: /srv

Dados de servidores e serviços em execução no computador ficam armazenados dentro desse diretório.

Arquivos de dispositivos: /dev

No Linux, tudo é apresentado na forma de arquivos. Ao plugar um pendrive no computador, por exemplo, um arquivo será criado dentro do diretório /dev e ele servirá como interface para acessar ou gerenciar o drive USB. Nesse diretório, você encontra caminhos semelhantes para acessar terminais e qualquer dispositivo conectado ao computador, como o mouse e até modems.

Arquivos variáveis: /var

Todo arquivo que aumenta de tamanho ao longo do tempo está no diretório de arquivos variáveis. Um bom exemplo são os logs do sistema, ou seja, registros em forma de texto de atividades realizadas no Linux, como os logins feitos ao longo dos meses.

Processos do sistema: /proc

Lembra da história de que tudo funciona como um arquivo no Linux? Pois o /proc é a prova disso. Nesse diretório são encontrados arquivos que revelam informações sobre os recursos e processos em execução no sistema. Quer um exemplo? Para saber há quanto tempo o Linux está sendo usado desde a última vez em que foi iniciado, basta ler o arquivo /proc/uptime.

Arquivos temporários: /tmp

Arquivos e diretórios criados temporariamente tanto pelo sistema quanto pelos usuários devem ficar nesse diretório. Boa parte deles é apagada sempre que o computador é reiniciado.

Como fica fácil perceber, os nomes dos diretórios dão dicas do que pode ser encontrado em seu interior e, com alguns meses de uso, você estará navegando por eles com facilidade.

# data[].attributes.body
XFCE é um ambiente de trabalho gráfico livre, executado sobre o sistema de janelas X em sistemas Unix, seus derivados e Linux. O Xfce pretende ser rápido e leve, enquanto ainda é visualmente atraente e fácil de usar e incorpora a filosofia UNIX tradicional de modularidade e
Pantheon
É o ambiente gráfico da distribuição Elementary OS, desenvolvido na plataforma GTK3, com foco na aparência e simplicidade. Tem bastantes semelhanças com Mac OS X.

Aqueles que são “Funboys” do IOS, ficarão satisfeitos por saber que em Linux, existe um ambiente gráfico bem parecido.
Deepin Desktop é um elegante, prático e consistente sistema operativo doméstico lançado pela Deepin Technology Co., Ltd. WPS Office, Skype, Spotify estão pré-instalados no deepin. Isto permite uma experiência com visão criativa, não descurando aquilo que interessa no dia a dia. Com constante aprefeiçoamento de funções, nós acreditamos que o deepin vai ser amado por cada vez mais utilizadores.
Unity
foi uma interface para o ambiente desktop, desenvolvido pela comunidade Ayatana e adaptado pela Canonical Ltd. para o seu sistema operativo Ubuntu. O Unity estreou na versão para netbook do Ubuntu 10.10 e foi desenhado inicialmente para fazer um uso mais eficiente do espaço das telas limitadas dos netbooks, porém devido ao sucesso tornou-se a interface padrão do Ubuntu 11.04 que também incluía ainda o GNOME como opção. Diferente do GNOME, KDE, Xfce e LXDE, o Unity não incluía aplicações, já que foi feito para usar programas em GTK+ já existentes. A partir da versão 11.10 do Ubuntu, o Unity passou a ser a única interface padrão.

# data[].attributes.body
KDE

KDE 4.12 no sistema OpenSUSE 13.1

O Projeto KDE teve início em 1996 com o programador alemão Matthias Ettrich, que criou uma interface baseando-se em outra interface conhecida como CDE, hoje não mais existente. O KDE é bastante famoso por ser muito similar à interface do Windows, e por isso é muito indicado aos iniciantes no Linux que buscam uma familiaridade com o sistema da Microsoft. Foi escrito usando a biblioteca QT, muito utilizada em toda interface, e por isso os programas sempre são parecidos e possuem um mesmo padrão.

O GNOME é uma das interfaces gráficas mais famosas. Foi criado em 1997 pelos mexicanos Miguel de Icaza e Federico Mena Quinteiro, utilizando a biblioteca GTK, que havia sido criada para o desenvolvimento do programa conhecido como GIMP, que hoje é uma grande referência de programa de código aberto de edição de imagens, muitas vezes comparado ao Photoshop.

As versões 2.x do GNOME faziam muito sucesso e eram padrões em muitas distribuições Linux, como no Ubuntu, Fedora, Debian, Red Hat, CentOS, entre outras:

Unity

Unity no Ubuntu 12.04

Originada nas versões Netbook do Ubuntu, desenvolvida pela Canonical, empresa que é responsável pelo desenvolvimento e distribuição do Ubuntu, a Unity acabou se tornando uma interface muito importante em uma das distros mais famosas do mundo. Fez sua estreia na versão 11.04, como uma interface alternativa ao GNOME Clássico, e quando estreou como interface padrão, na versão 11.10, teve uma recepção mista, o que levou muitas pessoas a usarem as versões do Ubuntu com outras interfaces (os Kubuntu e Xubuntu, por exemplo, que possuem KDE e XFCE).

Cinnamon

Cinammon no Linux Mint

A distribuição Linux Mint nasceu como uma derivação do Ubuntu, desenvolvido por Clement Lefebvre, tornando a interface gráfica do sistema da Canonical bem mais atraente e familiar a usuários leigos. Logo a distribuição se desvencilhava um pouco das amarras do Ubuntu e, apesar de ainda ter o sistema como base, ele possui programas próprios e repositórios próprios.

Como o Ubuntu tinha o GNOME como interface padrão, o anúncio do GNOME 3 estremeceu as relações da Canonical com o GNOME e os levou à utilização da Unity. Os criadores do Linux Mint, no entanto, se recusavam a usar ambos GNOME 3 e Unity. Eles queriam preservar a elegância de seu sistema e o modo familiar com que ele funcionava. Então eles deram início ao Projeto Cinnamon, que pegava o código do GNOME 3 e alterava-o para tornar algo mais similar ao GNOME 2.

MATE

A interface MATE nasceu em agosto de 2011, alguns meses após o lançamento das primeiras versões do GNOME 3, como uma resposta ao caminho que os desenvolvedores do GNOME estavam tomando. Desenvolvida por um argentino conhecido como Perberos, e atualmente o desenvolvimento é liderado por Sefano Karapetsas, o projeto visa ser uma continuação da interface GNOME 2, conhecido em termos computacionais como um fork, assim como foi com Cinnamon e Unity. Utilizando os códigos originais do GNOME 2, os desenvolvedores utilizaram todas as aplicações que já estavam consolidadas pelo GNOME (Nautilus, Gedit, etc) e renomearam (Caja e Pluma, por exemplo), dando continuidade ao trabalho que era feito.