Linux, também chamado de GNU/Linux, é uma família de sistemas operacionais que utilizam o núcleo Linux, desenvolvido pelo programador finlandês Linus Torvalds, inspirado no sistema operacional Minix. O seu código-fonte está disponível sob a licença GPLv2 para que qualquer pessoa o possa utilizar, estudar, modificar e distribuir livremente de acordo com os termos da licença. O Projeto GNU, a Free Software Foundation e a comunidade de software livre recomenda o termo "GNU/Linux", porque o projeto GNU forneceu a maioria das ferramentas, bibliotecas e utilitários essenciais que, combinados ao núcleo, permitiram a existência de um sistema operacional completo e funcional. Segundo essa perspectiva, afirmado pelo próprio Torvalds, o kernel é apenas um componente, embora vital, de um sistema muito maior idealizado por Richard Stallman, Assim, o termo GNU/Linux é defendido para dar o devido crédito ao trabalho de décadas do Projeto GNU na construção da base de software livre que torna o sistema utilizável para o usuário final.

Inicialmente desenvolvido e utilizado por grupos de entusiastas em computadores pessoais, as distribuições Linux passaram a ter a colaboração de grandes empresas como IBM, Sun Microsystems, Hewlett-Packard (HP), Red Hat, Novell, Oracle, Google, Microsoft e Canonical.

O desenvolvimento do Linux é um dos exemplos mais proeminentes de colaboração de software livre e de código aberto. O código-fonte pode ser usado, modificado e distribuído — com fins comerciais ou não — por qualquer um, respeitando as licenças, como a GNU General Public License versão 2, devolvendo o código desenvolvido de volta para o desenvolvimento do núcleo.

Normalmente, o Linux é encontrado em uma distribuição Linux, seja para um computador ou para um servidor. Algumas distribuições Linux populares incluem Arch Linux, CentOS, Debian, Fedora Linux, Linux Mint, openSUSE, Ubuntu, Garuda Linux, além de distribuições focadas para usuários corporativos, como o Red Hat Enterprise Linux ou o SUSE Linux Enterprise Server. Uma distribuição Linux inclui o núcleo Linux, bibliotecas e utilidades, além de aplicações, como a suíte de escritório LibreOffice, um navegador web (geralmente Mozilla Firefox), entre outras aplicações.

História Antecedentes

O sistema operacional Unix foi concebido e implementado em 1969 pela AT&T Bell Laboratories nos Estados Unidos por Ken Thompson, Dennis Ritchie, Douglas McIlroy, e Joe Ossanna. Lançado pela primeira vez em 1971, o Unix foi escrito inteiramente em linguagem assembly uma prática comum para a época. Mais tarde, em 1973, o sistema foi reescrito na linguagem de programação C por Dennis Ritchie. A disponibilidade de uma implementação do Unix feita em linguagem de alto nível tornou mais fácil a sua portabilidade para diferentes plataformas de computador. Na época, a maioria dos programas era escrita em cartões perfurados que tinham de ser inseridos em lotes em computadores mainframe.

Como parte de um acordo antitruste com o governo dos EUA, que restringia sua atuação fora do setor de telecomunicações, a AT&T foi levada a licenciar o código-fonte do sistema UNIX para universidades e instituições. Com o resultado, o Unix cresceu rapidamente e se tornou amplamente adotado por instituições acadêmicas e diversas empresas. Em 1984, a AT&T se desfez da Bell Labs; livres da obrigação legal exigindo o licenciamento do royalty, a Bell Labs começou a vender o Unix como um Software proprietário.

O sistema foi continuado dentro da Bell Labs, chegando a poucas dezenas de instalações, porém só obteve grande crescimento após ter sido totalmente reescrito na linguagem C, o que permitiu uma portabilidade melhor para outras plataformas. A linguagem C foi derivada da linguagem B e criada por Dennis Ritchie e Brian Kernighan. Nesta época, o sistema já contava com mais de 60 comandos, muitos deles ainda utilizados até hoje, tais como: - trocar de diretórios, - trocar permissões, - contar palavras em arquivos, - processar texto, etc. O seu crescimento e reconhecimento culminou com a publicação na renomada revista “ Communications of the ACM” , em julho de 1974.

Com sua filosofia de simplicidade, padrões abertos e seu licenciamento facilitado pela AT&T, o Unix se espalhou e se desenvolveu rapidamente pelas universidades. Várias versões de Unix foram surgindo, sendo que a principal delas foi desenvolvida na Universidade de Berkeley, denominada BSD (Berkeley Software Distribution), um software liberado publicamente em 1977, predecessor dos atuais e bem-sucedidos BSD's (FreeBSD, OpenBSD e NetBSD). Outras versões comerciais também foram surgindo, tais como: Irix pela SGI em 1982, XENIX pela SCO em 1983, HP-UX pela HP em 1986, SunOS pela Sun em 1987 e AIX pela IBM em 1990 .

A maioria dos sistemas inclui ferramentas e utilitários baseados no BSD e tipicamente usam XFree86 ou X.Org para oferecer a funcionalidade do sistemas de janelas X — interface gráfica. Assim como também oferecem ferramentas desenvolvidas pelo projeto GNU.

O Projeto GNU, iniciado em 1983 por Richard Stallman, teve o objetivo de criar um "sistema de software completamente compatível com o Unix", composto inteiramente de software livre. O trabalho começou em 1984. Mais tarde, em 1985, Stallman começou a Free Software Foundation e escreveu a Licença Pública Geral GNU (GNU GPL) em 1989. No início da década de 1990, muitos dos programas necessários em um sistema operacional (como bibliotecas, compiladores, editores de texto, uma Unix shell, e um sistema de janelas) foram concluídos, embora os elementos de baixo nível, como drivers de dispositivo, daemons e as do kernel foram paralisadas e não completadas.

Apesar de não ter sido lançado até 1992 devido a complicações legais, o desenvolvimento do 386BSD, que veio a partir do NetBSD, OpenBSD e FreeBSD, antecedeu ao do Linux. Linus Torvalds disse que se o 386BSD estivesse disponível naquele momento, ele provavelmente não teria criado o Linux.

Vários fatores ajudaram a rápida expansão do Linux depois de seu lançamento Popularização dos computadores pessoais: o Unix era o S.O. padrão para estudos em universidades, porém, utilizavam plataformas proprietárias relativamente caras. O Linux se tornou uma opção para resolver esse problema, porque com ele foi possível a utilização de computadores pessoais mais baratos. Projeto GNU: o projeto GNU, criado por Richard Stallman em 1984, surgiu com o intuito de apoiar a liberdade de software (veja seção mais adiante sobre Software Livre). Na época do surgimento do Linux, Stallman apoiava e pretendia adotar o kernel Hurd, porém este não estava utilizável, com isso, o Linux acabou sendo o kernel (componente central do sistema operacional ligando aplicativos e o processamento real de dados feito pelo hardware) preferido para rodar as centenas de programas livres disponibilizados pelo projeto, porém o Hurd continua sendo o kernel oficial do sistema operacional GNU. Distribuições Linux: no sentido de tornar o Linux o mais utilizável possível, surgiram instituições comerciais e não-comerciais que se dedicaram a criar uma combinação ideal de aplicativos (livres ou não) que rodassem no kernel Linux. As instituições com objetivos comerciais mantiveram o licenciamento livre, através de serviços agregados, tais como: suporte, treinamento e desenvolvimento personalizado. Veja seção mais adiante sobre distribuições Linux.

Criação thumb|Linus Torvalds, criador e principal mantenedor do núcleo Linux. O núcleo Linux foi, originalmente, escrito por Linus Torvalds do Departamento de Ciência da Computação da Universidade de Helsinki, Finlândia, com a ajuda de vários programadores voluntários através da Usenet (uma espécie de sistema de listas de discussão existente desde os primórdios da Internet)

Linus Torvalds começou o desenvolvimento do núcleo como um projeto particular, inspirado pelo seu interesse no Minix, um pequeno sistema UNIX desenvolvido por Andrew S. Tanenbaum. Ele limitou-se a criar, nas suas próprias palavras, "um Minix melhor que o Minix" ("a better Minix than Minix"). E depois de algum tempo de trabalho no projecto, sozinho, enviou a seguinte mensagem para comp.os.minix:

Curiosamente, o nome Linux foi criado por Ari Lemmke, administrador do site ftp.funet.fi que deu esse nome ao diretório FTP onde o núcleo Linux estava inicialmente disponível. Linus inicialmente tinha-o batizado como "Freax".

No dia 5 de outubro de 1991 Linus Torvalds anunciou a primeira versão "oficial" do núcleo Linux, versão 0.02. No ano de 1992, Linus Torvalds mudou a licença do núcleo Linux, de uma licença própria para uma licença livre compatível com a GPL do projeto GNU. Desde então, muitos programadores têm contribuído com o desenvolvimento, ajudando a fazer do Linux o núcleo de enorme sucesso colaborativo que é hoje. No início era utilizado por programadores ou só por quem tinha conhecimentos e usava linhas de comando. Hoje, isso mudou e existem diversos grupos que criam ambientes gráficos para as diversas distribuições GNU/Linux, que são cada vez mais amigáveis, de forma que, uma pessoa com poucos conhecimentos consegue usar o Linux, através de uma distribuição GNU/Linux, por exemplo. O Linux é um núcleo estável e consegue reconhecer muitos periféricos sem a necessidade de que o usuário precise instalar drivers de som, vídeo, modem, rede, entre outros.

Principais carregadores de inicialização do Linux

SYSLINUX O Projeto Syslinux é um conjunto de cinco carregadores de boot diferentes para inicializar distros Linux em computadores. Foi desenvolvido principalmente por H. Peter Anvin.

O Projeto Syslinux consiste em uma junçao de cinco carregadores de inicialização diferentes:

O homônimo SYSLINUX, utilizado para iniciar a partir do FAT. ISOLINUX, utilizado para iniciar a partir do ISO 9660 PXELINUX, utilizado para iniciar a partir de um servidor de rede utilizando o Preboot Execution Environment. (PXE) system EXTLINUX, utilizado para iniciar a partir do Btrfs, ext2, ext3, ext4, FAT, NTFS, UFS/UFS2, e XFS. MEMDISK, emula um disco RAM para sistemas operacionais mais antigos como MS-DOS.

O projeto também inclui dois sistemas de menu separados e um ambiente de desenvolvimento para módulos adicionais.

SYSLINUX e ISOLINUX SYSLINUX foi originalmente destinado aos disquetes, live USBs e outros. ISOLINUX é destinado a live CDs e CDs de instalação do Linux.

O SYSLINUX pode ser usado para iniciar várias distros a partir de um único lugar, como um pendrive. GRUB

GNU GRUB (ou apenas GRUB) é um multicarregador de um sistema operacional (multi boot ou boot-loader) criado pelo projeto GNU. É utilizado, normalmente, quando se deseja que um computador tenha dual booting, ou seja, que o usuário possa escolher ao iniciar a máquina, um sistema operacional (SO) dentre dois ou mais sistemas instalados. Systemd-boot systemd-boot, anteriormente conhecido como gummiboot, é um gerenciador de boot gratuito e de código aberto."Managing EFI Boot Loaders for Linux: Using gummiboot" Ele foi criado quando o gummiboot foi fundido com o systemd e renomeado para "systemd-boot" em maio de 2015."O Systemd 220 finalmente foi lançado"Freedesktop listsGummiboot is dead

Núcleo thumb|300px|A onipresença do Núcleo Linux thumb|250px|GNOME Shell, interface gráfica para Linux miniaturadaimagem|250x250px|KDE Plasma, interface gráfica para Linux thumb|250px | Compiz Fusion, um gerenciador de janelas OpenGL

O termo Linux refere-se ao núcleo () do sistema operativo que inicia e gerencia outros programas que fornecem o acesso aos recursos do sistema como os vários software livres de shells, compiladores, bibliotecas-padrão e os comandos que fazem parte do Projeto GNU. O Projeto GNU, por sua vez, foi criado pela Free Software Foudation com o intuito de criar um sistema operacional completo, totalmente livre e compatível com o Unix. O principal compilador do Linux C, gcc, é um pedaço do projeto GNU.

Arquitetura