# 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.

# data[].attributes.headline
Com muito trabalho, cansaço e carinho, Alice Rangel e Maria Eduarda. :)

# data[].attributes.subject
Com muito trabalho, cansaço e carinho, Alice Rangel e Maria Eduarda. :)

# data[].attributes.body
XFCE: É um ambiente de trabalho gráfico executado sobre o sistema de janelas X em sistemas Unix. Ele utiliza a biblioteca GTK+2 para fazer a interface com o usuário, o que os tornam ligeiramente parecidos. Todavia ele é composto por diversos componentes que, combinados, fornecem um ambiente de trabalho completo. Além disso, XFCE pode funcionar em hardware com poucos recursos ou de baixa configuração.

PANTHEON: É originário do projeto elementary OS e pelo falecido Pear OS, uma distribuição que sempre focou no design e na elegância. Ele ainda não é um projeto amplo, porém, possui várias aplicações de desenvolvimento próprio. O Pantheon é muito simples e possui poucos elementos e um dock com o estilo do Mac OS X deixa a interface bem limpa. Essa instalação deve funcionar em sistemas Ubuntu e derivados.

DEEPIN DESKTOP ENVIRONMENT: De origem chinesa, ele passou por muitas transformações ao longo dos anos. Também começou como uma modificação do Gnome, entretanto, hoje já possui aplicações próprias para praticamente todas as funcionalidades. Até pouco tempo atrás utilizava ainda o Nautilus como gerenciador de arquivos, mas na última versão lançada deu espaço para um novo gerenciador de arquivos conhecido como Deepin File Manager com funções semelhantes.

UNITY: Ele atualmente possui duas versões: o Unity 7 (utilizado nos desktops) e o Unity 8 (utilizado em Smartphones e Tablets). O Unity 7 não é exatamente um Desktop Environment, isso porque ele é uma mescla de elementos que funcionam muito bem juntos. Com um "core", digamos assim, de aplicações ligeiramente modificadas do projeto Gnome, e algumas aplicações próprias, como o Unity Control Center, fork do Gnome Controle Center, a interface em si, é um plugin do popular gestor de janelas Compiz. Já o Unity 8 é algo muito mais parecido com um Desktop Environment tradicional de Linux, com interface e aplicações auxiliares totalmente desenvolvidas para o sistema.

# data[].attributes.body
GNOME (GNU Network Object Model Enviroment): É um projeto de software livre abrangendo o Ambiente de Trabalho GNOME para os usuários e os desenvolvedores. O projeto dá ênfase especial a usabilidade, acessibilidade e internacionalização. Ele é um dos Desktops Environments mais populares de todos os tempos, não se limitando apenas à interface, mas também às diversas aplicações que compõe toda ela.

KDE (K Desktop Environment): É uma comunidade internacional de software livre produzindo um conjunto de aplicativos multiplataforma projetados para funcionar em conjunto com sistemas GNU/Linus, FreeBSD, Solaris, Microsoft Windows e Apple Mac OS X (com um desenvolvimento para Android). Ela é mais conhecida pela a sua área de trabalho Plasma (ambiente padrão em muitas atribuições com o GNU/Linux).

CINNAMON DESKTOP: É uma interface de usuário, derivada do Gnome (Fork), desenvolvida pelo Linux Mint. Entretanto foi adotada por muitas outras distribuições como o Manjaro.

MATE DESKTOP: É um ambiente derivado do Gnome. Foi criado devido a mudança “agressiva” de visual do seu sucessor Gnome 3 que não agradou a todos. Pode ser descrito como a re-leitura do Gnome 2, com os recursos do Gnome 3, porém com o visual intuitivo e bem mais tradicional que sua versão anterior. É distribuído oficialmente por: Arch Linux, Gentoo, Mageia, Debian, OpenSUSE, Fedora, Linux Mint, etc. Utiliza somente a biblioteca GTK+3 desde a versão 1.18; o Caja (gerenciador de arquivos baseado no Nautilus, Pluma; Editor de textos baseado no Gedit; entre outros aplicativos funcionais e de fácil manuseio.

# data[].attributes.body
Para manter a organização, desenvolvedores de distribuições Linux e softwares diversos seguem o Filesystem Hierarchy Standard (padrão para sistema de arquivos hierárquico), ou FHS, uma espécie de referência que padroniza quais pastas do sistema recebem determinados tipos de arquivo, conhecido como Diretórios.

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): 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.

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.

ARQUIVOS 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 (/mnt) E MÍDIAS (/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):  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.

# data[].attributes.body
Uma importante característica dos atuais sistemas de arquivos é o "journaling". Sistemas de arquivos que possuem essa característica são preferidos em detrimento aos que não possuem. Journaling é um recurso que permite recuperar um sistema após um desastre no disco (ex.: quando um disco está sujo) em uma velocidade muito maior que nos sistemas de arquivos sem journaling.
A seguir uma breve descrição sobre os sistemas de arquivos mais comuns disponíveis para o Linux:

EXT ₂: É conhecido como "Second Extended FileSystem". Foi desenvolvido para ser mais "eficiente" que o sistema de arquivos "Minix", seu antecessor. O Minix era muito utilizado nas primeiras versões do Linux, e foi utilizado por muitos anos. O sistema de arquivos ext2 não possui journaling e foi substituído pelo ext3.

EXT ₃: É uma versão do ext2 com suporte a journaling. Portanto, o ext3 tem as mesmas características do ext2, mas com suporte journaling. Essa característica foi uma evolução e tornou o ext3 um sistema de arquivos muito estável e robusto. Como no ext3 só foi adicionado o suporte a journaling, podemos converter um sistema de arquivos ext2 para ext3, adicionado suporte a journaling, e também podemos converter um sistema de arquivos ext3 para ext2, removendo o suporte a journaling.

REISERFS: Foi criado recentemente. Mas atualmente quase todas as distribuições Linux o suportam. Sua performance é muito boa, principalmente para um número muito grande de arquivos pequenos. Também possui suporte a journaling.

XFS: Também possui suporte a journaling. Foi desenvolvido originalmente pela Silicon Graphics e posteriormente disponibilizado o código fonte. O XFS é considerado um dos melhores sistemas de arquivos para banco de dados, pois é muito rápido na gravação. Utiliza muitos recursos de cache com memória RAM, e para utilizar XFS é recomendado utilizar sistemas que possuem redundância de energia.

SWAP: É um espaço reservado para troca de dados com a memória RAM. Em alguns lugares ele não é mencionado como um Sistema de Arquivos, mas resolvi descrever aqui pois faz parte deste artigo.

VFAT: É também conhecido como FAT32 (MS Windows). O sistema de arquivos VFAT não possui suporte a journaling. É utilizado normalmente para transferir dados entre sistemas M$ Windows e o Linux instalados no mesmo disco, pois pode ser lido e escrito por ambos os sistemas operacionais. Ele está longe de ser um sistema de arquivos utilizado para Sistemas Linux, exceto para compartilhamento/compatibilidade entre o M$ Windows e Linux.

# data[].attributes.body
Se você tem um hardware que precisa de implementações que não venham diretamente do mainline do Kernel Linux, como por exemplo os equipamentos de IoT, a última versão lançada do Kernel LTS é uma boa escolha. A sigla LTS, que quer dizer Long-term support ou Suporte a longo prazo, contém as últimas correções de bugs no Kernel, mas não tem nenhum novo recurso adicionado, sem suporte a novos hardwares implementados e também não obtém as mais recentes melhorias de desempenho do Kernel. Esse tipo de Kernel LTS “novo” é utilizado por usuários que gostam de não se preocupar com os upgrades constantes das versões Stables, que ocorrem a cada 3 meses, já as versões LTS “novas” são atualizadas pelo menos uma vez por ano. Ainda segundo Greg, quem escolhe esse tipo de Kernel, tem que estar bem ciente que o suporte pode ser difícil por parte dos devs, pois os mesmos usam como base a versão Stable.

# data[].attributes.body
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
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,ets).

# data[].attributes.body
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.