Você está na página 1de 45

Microsoft Windows

Microsoft Windows

Desenvolvedor: Microsoft

Modelo: Shared source

Versão estável: Windows 7, Windows Server 2008 R2


NT 6.1 Build 7600 (7600.16385.090713-
1255)
22 de julho de 2009 (empresas) / 22
outubro de 2009 (publico em geral)

Núcleo: Híbrido

Licença: Microsoft EULA

Desenvolvimento: Corrente

Website Microsoft Windows

Portal Tecnologias de informação

Microsoft Windows é uma popular família de sistemas operacionais criados pela


Microsoft, empresa fundada por Bill Gates e Paul Allen. Antes da versão NT, era uma
interface gráfica para o sistema operacional MS-DOS.

O Windows é um produto comercial, com preços diferenciados para cada uma de suas
versões. É o sistema operacional mais utilizado em computadores pessoais no mundo,
embora uma grande quantidade de cópias sejam ilegais.[1]
O impacto deste sistema no mundo atual é muito grande devido ao enorme número de
cópias instaladas. Conhecimentos mínimos desse sistema, do seu funcionamento, da sua
história e do seu contexto são, na visão de muitos, indispensáveis, mesmo para os leigos
em informática.

A versão mais atual do Windows é o Windows 7, lançado em 2009

Índice
[esconder]

• 1 Significado do nome
• 2 Origem e história
• 3 Versões
• 4 Compatibilidade
• 5 Características técnicas
• 6 Implementações Alternativas ao Windows e suas API´s de Programação
• 7 Ver também
• 8 Referências

• 9 Ligações externas

[editar] Significado do nome


A palavra windows em português significa janelas. A sua interface gráfica é baseada no
padrão WIMP e utiliza o conceito WYSIWYG, previamente desenvolvido em Xerox
PARC: possui janelas que exibem informações e recebem respostas dos utilizadores
através de um teclado ou de cliques do mouse.

O registro da marca Windows foi legalmente complicado, pelo fato dessa palavra ser de
uso corrente em inglês ("windows" é equivalente a "window", que significa janela,
porém no plural). [carece de fontes?].

[editar] Origem e história


A Microsoft começou o desenvolvimento de um Gestor de Interface (subsequentemente
renomeado Microsoft Windows) em setembro de 1981. O Windows só começa a ser
tecnicamente considerado como um SO a partir da versão Windows NT, lançada em
Agosto de 1993. O que havia antes eram sistemas gráficos sendo executados sobre
alguma versão dos sistemas compatíveis com DOS, como MS-DOS, PC-DOS ou DR-
DOS. Somente o MS-DOS era produzido pela própria Microsoft.

O MS-DOS é um sistema operativo que não dispõe de interface gráfica, funciona


através de comandos de texto introduzidos no teclado pelo utilizador. O Windows
surgiu inicialmente como uma interface gráfica para MS-DOS, que permitia correr
programas em modo gráfico, o que permitiu a utilização do mouse, que até à altura era
considerado supérfluo em computadores de tipo IBM-PC.
[editar] Versões
Ver página anexa: Lista das principais versões do Microsoft Windows

[editar] Compatibilidade
Os primeiros Windows, como o 1.0, 2.0, são compatíveis apenas com partições
formatadas em sistema de ficheiros FAT, ou como é chamado, FAT 16. O 3.x poderia
ser instalado em FAT 32, porém necessita instalado o MS-DOS 7.10, que era incluido
nos disquetes de inicialização do Windows 95 OSR2 e Windows 98, necessitando
modificar alguns arquivos para permitir seu funcionamento. Ao mudar do 3.1 para o
95B (Windows 95 OSR 2/OSR 2.1), os HD's poderiam ser formatados em FAT 32.
Inicialmente lançado com o Windows NT, a tecnologia NTFS é agora o padrão de fato
para esta classe. Com a convergência de ambos sistemas, o Windows XP passou
também a preferir este formato.

[editar] Características técnicas


A principal linguagem de programação usada para escrever o código-fonte das várias
versões do Windows é a C++.

Até a versão 3.11, o sistema rodava em 16 bits (apesar de poder instalar um update
chamado Win32s para adicionar suporte a programas 32 bits), daí em diante, em 32 bits.
As versões a partir do XP e 2003 Server estão preparadas para a tecnologia 64 bits.

[editar] Implementações Alternativas ao Windows e


suas API´s de Programação
• Wine [2]
• Crossover[3]
• ReactOS[4]
• Cedega[5]
• Darwine [6]

ACESSADO AS 15:43 – 26/11 http://pt.wikipedia.org/wiki/Microsoft_Windows

VERSÕES DO WINDOWS

Windows 98
Origem: Wikipédia, a enciclopédia livre.

Ir para: navegação, pesquisa


Microsoft Windows 98

Desenvolvedor: Microsoft

Modelo: Código fechado

Versão estável: SE

Família do SO: Microsoft Windows

Núcleo: Monolítico, e mais tarde


micronúcleo

Licença: Proprietário

Desenvolvimento: Descontinuado em 11 de julho


de 2006

Website microsoft.com.br

Portal Tecnologias de informação

O Microsoft Windows 98 (nome de código Memphis) era um sistema operacional


produzido pela Microsoft que foi lançado em 25 de Junho de 1998, sendo o sucessor do
Windows 95. A maior novidade desta versão era a completa integração do sistema
operacional com a internet utilizando o Internet Explorer 4. Introduziu o sistema de
arquivos FAT-32 e começou a introduzir o teletrabalho (só foi possível devido à
integração do Web). Melhorou bastante a interface gráfica e incluiu o suporte a muitos
monitores e ao USB. Mas, por ser maior do que o Windows 95 e possuir mais funções,
era também mais lento e mais instável.

Índice
[esconder]
• 1 Windows 98 SE (Segunda Edição)
• 2 Características novas e atualizadas
o 2.1 Novos padrões de Drivers
• 3 Requerimentos de Sistema
• 4 Demonstração à imprensa
• 5 Ciclo de vida do produto
• 6 Referências

o 6.1 Referências gerais

[editar] Windows 98 SE (Segunda Edição)


Uma atualização ao sistema operacional, o Windows 98 Segunda Edição (SE), foi
lançado em 5 de Maio de 1999. Ele incluiu correções a muitos pequenos problemas,
melhora no suporte a USB, e a troca do Internet Explorer 4.0 pelo Internet Explorer 5.0,
que era significantemente mais rápido. Também foi incluído o Compartilhamento de
Conexão a Internet, que permitiu que múltiplos computadores em uma Rede Local
compartilhem uma única conexão a Internet através de NAT. Outras novidades incluem
o programa Microsoft NetMeeting 3.0 e suporte integrado a drives de DVD-ROM[carece de
fontes?]
Ele também adicionou suporte à processadores mais novos. Além disso, nada foi
feito de diferente. Essa atualização foi considerada como uma das melhores versões da
família Windows. A atualização foi gratuita para aqueles que já possuíam a primeira
edição do Windows 98.

[editar] Características novas e atualizadas


Entre as novidades que vieram com o Windows 98 estão o melhor suporte a AGP,
drivers para USB funcionais, e suporte a múltiplos monitores e WebTV. Ele incluiu
também suporte ao sistema de arquivos FAT32, permitindo que ele suportasse partições
maiores que 2 GB, máximo aceito pelo seu antecessor, Windows 95. Essa também foi a
primeira versão do Windows a oferecer suporte a ACPI. Como nos últimos releases do
Windows 95, o Internet Explorer continuou a ser integrado à interface do Windows
Explorer (característica chamada de Active Desktop).

[editar] Novos padrões de Drivers

O Windows 98 foi o primeiro sistema operacional capaz de utilizar o Windows Driver


Model (WDM). Esses drivers eram pouco conhecidos à época e muitos dos fabricantes
de hardware continuaram desenvolvendo drivers sob o antigo padrão (VXD). Isso
resultou no surgimento do mito que o Windows 98 apenas suportava drivers no padrão
Vxd.

O padrão WDM se tornou "popular" somente anos após seu lançamento, principalmente
porque as versões 2000 e XP não eram mais compatíveis com o padrão VXD.
Atualmente, apesar de não desenvolverem drivers específicos para Windows 98, eles
ainda criam-nos sob o padrão WDM, mas compatíveis com a arquitetura desse sistema.
Bill Gates disse que não havia gostado desse novo sistema, e criou o Windows ME
compatível com tecnologia Bluetooth.
[editar] Requerimentos de Sistema
• Processador 486 DX2, 66 MHz ou superior,
• 16MB de RAM (24MB recomendados)
• Quantidade de espaço livre adequada no disco rígido. Essa
quantidade varia de acordo com o método de instalação e
componentes selecionados:

• Atualizar de Windows 95, ou 3.1 140-315 MB


(geralmente 205 MB) de espaço.

• Nova instalação em sistema FAT16 210-400 MB


(geralmente 260 MB) de espaço.
• Nova instalação em sistema FAT32 190-305 MB
(geralmente 210 MB) de espaço.

• NOTA: Tanto o Windows 98 quanto o Windows 98SE tem


problemas sérios com discos rígidos maiores que 32 GB. Uma
atualização do sistema foi disponibilizada pela Microsoft para
corrigir esta falha.[1]

• Monitor VGA ou superior,


• Drive de CD-ROM ou DVD-ROM,
• Microsoft Mouse ou compatível.

[2]

[editar] Demonstração à imprensa


O lançamento do 98 foi precedido por uma notável demonstração à imprensa durante a
Comdex, em Abril de 1998. O CEO da Microsoft Bill Gates estava destacando a
facilidade de uso do sistema e seu suporte aprimorado a equipamentos "ligar e usar"
(PnP (em inglês)). No entanto, quando um scanner foi conectado, durante a tentativa de
instalação o sistema sofreu um crash, exibindo uma BSOD.[3] Bill Gates então
comentou que "this must be why we're not shipping Windows 98 yet." ("esse deve ser o
porquê de não estarmos distribuindo o Windows 98 ainda.") O vídeo deste evento se
tornou um popular Internet meme.

[editar] Ciclo de vida do produto


A Microsoft planejou descontinuar o suporte ao Windows 98 em 16 de Janeiro de 2004.
Apesar disso, devido a popularidade de seu sistema ter se mantido (27% das pageviews
do Google provinham de sistemas Windows 98 durante os meses de Outubro e
Novembro de 2003),[4] A Microsoft decidiu manter o suporte até 11 de Julho de 2006. O
Suporte ao Windows Me se encerrou na mesma data.

[editar] Referências
1. ↑ Windows 98 Large IDE Update. Microsoft Windows Update.
Microsoft Corporation (Dezembro 28, 1999).
2. ↑ Requerimentos de sistema disponíveis no manual do Microsoft
Windows 98 SE
3. ↑ "Windows 98 crashes during Gates' Comdex demo". CNN. Abril 20,
1998.
4. ↑ Zeitgeist. Google Press Center. Google (Outubro-Novembro 2003).
Nota: Um gráfico demonstrando o declínio no uso do Windows 98 de
junho 2001 a Junho de 2004 como sistema operacional a acessar o
Google está disponível no Wikimedia Commons. Ver gráfico.

[editar] Referências gerais

• Homepage do Windows 98. Microsoft.

ACESSADO AS 15:52 26/11 -


http://pt.wikipedia.org/wiki/Windows_98

Windows Neptune
Origem: Wikipédia, a enciclopédia livre.

Ir para: navegação, pesquisa

Microsoft Neptune

Desenvolvedor: Microsoft

Modelo: Código Fechado

Versão estável: Neptune Beta Build 5111

Família do SO: Windows NT

Núcleo: Micronúcleo

Licença: Lançamento para testes

Desenvolvimento: Descontinuado

Website Microsoft Corporation

Portal Tecnologias de informação

O Windows Neptune (em português: Windows Netuno) era uma versão do Microsoft
Windows de 32 bits que foi desenvolvida entre janeiro de 1999 e janeiro de 2000, sendo
projetada como uma versão Home Edition do Windows 2000, já que este sistema
operacional era direcionado a empresas e às pessoas que não sabiam como usufruir de
tantos recursos não necessários a elas. Se o projeto fosse continuado, seriam removidos
os aplicativos empresariais, e o computador se tornaria muito mais multimídia. Após a
Microsoft parar (ou abandonar, como é dito por muitas fontes) o desenvolvimento do
sistema, muitas idéias não incluidas nele e no Windows 2000 foram postas em prática
no projeto Whistler, lançado em 2001 como Windows XP e a Microsoft lançou outro
sistema operacional para usuários baseada em DOS, o conhecido Windows Me.

Índice
[esconder]

• 1 Entendendo o Windows Neptune


o 1.1 Recursos
o 1.2 Ambiente Gráfico
o 1.3 Sistema de Arquivos
• 2 Versões Existentes
o 2.1 Numeração das versões
• 3 Referências

• 4 Ligações externas

[editar] Entendendo o Windows Neptune


[editar] Recursos

Algumas das ferramentas incluídas no Neptune build 5111 são um rudimentar firewall
para internet e conexões de rede, solução posteriormente integrada ao Windows XP
como Internet Connection Firewall, rebatizada posteriormente como Windows Firewall.
Outra função importante incluída nos builds do Windows Neptune foi o sistema de
controle de usuários, que já existia no Windows NT (e também no Windows 2000) mas
que trabalhava de forma não muito evidente. Nos builds do Windows Neptune foi
incluída uma abordagem mais "direta" (mais clara), inclusive com uma tela de logon (o
que era uma novidade à época). Com o abandono do projeto Neptune pela Microsoft,
este foi mais um recurso que foi incorporado ao projeto "Whistler", já citado.

[editar] Ambiente Gráfico

Quanto ao ambiente gráfico, fica muito próximo ao ambiente do Windows 2000 e


Windows Millenium, com o clássico 3D acinzentado. A tela de carregamento
(inicialização) do "Microsoft Neptune" é bastante semelhante à do Windows 2000, com
destaque para os dizeres Under Construction - Em Construção.

[editar] Sistema de Arquivos

O sistema de arquivos é o clássico formato NTFS, que é suportado por todas as versões
do Windows NT, pelo Windows 2000, XP, pela família Windows Server (2003 e
atualmente também 2008) e Windows Vista, mas que também tem suporte nativo ao
FAT 16 usado pelo Windows 3.x e 95 (exceção feita ao Windows 95 OSR 2, que
também suporta FAT32) e ao FAT 32 usado pelo Windows 98 e Windows Me.
[editar] Versões Existentes
Existem apenas duas copilações do Windows Neptune que foram feitas: é a Build 5000
e o build 5111.

[editar] Numeração das versões

A versão alfa do Windows Neptune tem os números de build 5000 e 5111 porque,
apesar de não ser baseado na linha 9x/Me/DOS, os sustituiria, ou seja, herdaria a
numeração da série 9x/Me e não da série NT. Citando um exemplo, o Windows 2000,
que foi lançado dois meses depois da versão alfa do Neptune, é build 2195. O Windows
Vista Beta 1 tem a numeração 5112 apenas em Julho de 2005, superando a linha 9x.

[editar] Referências
• JONES, Cristopher. Written Direct Testimony of Cristopher Jones.
Acessado em 13/10/2007
• THURROTT, Paul. Windows Millenium Edition (Me) FAQ. Acessado em
13/10/2007

ACESSADO AS 15:49 26/11


http://pt.wikipedia.org/wiki/Windows_Neptune

Linux (núcleo)
Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa
Nota: Este artigo é sobre o núcleo Linux. Para sistemas que rodam sobre
este núcleo, veja Linux.
Linux

Inicialização do Linux
2.6.25.17

Desenvolvedor Linus Torvalds, Andrew Morton e


milhares de colaboradores

Plataforma alpha, arm, hppa, ia64, loongson,


m68k, mips, ppc, ppc64, s390, s390x,
sh, sparc32, sparc64, x86, x86-64

Modelo do Software Livre


desenvolvimento

Lançado em setembro de 1991 (19 anos)

Versão estável 2.6.35.4 (26 de Agosto de 2010; há 13 semanas)


[1]
[+/-]

Versão em teste 2.6.36-rc2 (23 de Agosto de 2010; há 13 semanas


[2]
e 3 dias) [+/-]

Língua natural Inglês

Escrito em C ~90%
(asm, perl, shell, outras)

Sistema Op. Tipo unix

Gênero Núcleo monolítico

Licença GNU GPLv2 (apenas)[3][4] e vários


borrões binários com licenças
variadas[5]

Estado do Corrente
desenvolvimento

Website kernel.org (em inglês)

Tamanho tar.bz2 63 MiB


tar.gz 81 MiB

Portal das Tecnologias de informação

ver

O Linux é um núcleo de sistema operativo usado pela família GNU/Linux de sistemas


operativos tipo unix.[6] Ele é um dos exemplos mais proeminentes de software livre.[7]

O Linux é distribuído sob a licença GNU General Public License versão 2 (GPLv2),[4]
mais licenças proprietárias para alguns borrões binários (em inglês: binary blobs)
controversos, e é desenvolvido por colaboradores ao redor do mundo. O
desenvolvimento diário ocorre a partir da Linux kernel mailing list.

O Linux foi inicialmente concebido e criado pelo estudante do Departamento de Ciência


da Computação da Universidade de Helsinki na Finlândia,[8] Linus Torvalds com a ajuda
de vários programadores voluntários por meio da Usenet em 1991. O Linux acumulou
rapidamente desenvolvedores e usuários que adotavam código de outros projetos de
software Livre.[9] O Linux têm recebido contribuições de milhares de programadores,[10]
e muitas distribuições GNU/Linux foram lançadas baseados nele.

Índice
[esconder]

• 1 História
• 2 Aspectos Legais
o 2.1 Termos de Licenciamento
 2.1.1 GPL versão 3
o 2.2 Módulos carregáveis do núcleo e firmware
o 2.3 Marca registrada
o 2.4 Litigação do SCO
• 3 Características técnicas
o 3.1 Arquitetura
 3.1.1 Kernel panic
 3.1.1.1 Kernel Oops
 3.1.2 Debate Tanenbaum-Torvalds
o 3.2 Linguagens de programação
o 3.3 Portabilidade
 3.3.1 Arquiteturas de máquina virtual
o 3.4 Processos
 3.4.1 Escalonamento
o 3.5 Gerenciamento de memória
o 3.6 Sistema de arquivos
o 3.7 Pânico do núcleo
o 3.8 Custo estimado
o 3.9 Histórico de recursos
• 4 Desenvolvimento
o 4.1 Linha do tempo
o 4.2 Modelo de desenvolvimento
o 4.3 Manutenção
o 4.4 Versões iniciais
o 4.5 Versões estáveis
o 4.6 Controle de revisões
o 4.7 Numeração de versões
o 4.8 Versões
• 5 Mascote
• 6 Referências
• 7 Ver também

• 8 Ligações externas

[editar] História
Em Março de 1991, Linus Torvalds, um estudande com 21 anos de idade na
Universidade de Helsinki, Finlândia começava a trabalhar em algumas ideias simples
para o desenvolvimento do núcleo, como um projeto particular, inspirado pelo seu
interesse no Minix, um pequeno sistema UNIX desenvolvido por Andrew S.
Tanenbaum. Seus passos podem ser acompanhados pela lista de discussão
comp.os.minix, cujas mensagens podem ser vistas em
groups.google.com/group/comp.os.minix/topics (em inglês) . Ele começou com um
alternador de contexto na linguagem de montagem do Intel 80386 e um controlador de
terminal. Em 03 de Junho de 1991 ele tentou obter a especificação POSIX,[11] então, em
26 de Agosto de 1991, Torvalds postou a mensagem seguinte para comp.os.minix, um
grupo de notícias na Usenet:

Eu estou fazendo um sistema operativo (livre) (apenas um passa-tempo,


“ não vai ser grande e profissional como gnu) para clones AT 386(486). Ele
têm amadurecido desde Abril, e está começando a ficar pronto. Eu

gostaria de qualquer comentários sobre coisas que as pessoas
gostam/desgostam no minix, já que meu SO relembra-o de um pouco
(mesma disposição física do sistema de ficheiros (devido a razões
práticas) entre outras coisas).

Eu portei atualmente a bash(1.08) e o gcc(1.40), e as coisas parecem


funcionar. Isto implica que eu vou conseguir algo prático dentro de alguns
meses [...] Sim - ele é livre de qualquer código do minix, e ele possui um
sistema de ficheiros com múltiplas linhas de execução. Ele NÃO é
portável (usa troca de contexto do 386 etc), e provavelmente ele nunca vai
suportar nada além dos discos rígidos AT, já que é tudo que eu possuo :-(.

[...] Ele é escrito sobretudo em C, mas a maioria das pessoas não chamaria
o que eu escrevo de C. Ele usa cada recurso imaginável do 386 que eu
pude encontrar, e ele também foi um projeto para me ensinar sobre o 386.
Como já mencionado, ele usa uma Unidade de gerenciamento de
memória, para ambos paginação (não para o disco ainda) e segmentação.
A segmentação que REALMENTE o torna dependendo do 386 (cada
tarefa possui um segmento de 64Mb para código & dados - máximo de 64
tarefas em 4Gb. Qualquer um que precise de mais de 64Mb/tarefa - é
dureza). [...] Alguns dos meus ficheiros "C" (especificamente mm.c) são
quase tanto linguagem de montagem quanto C. [...] Diferente do minix,
por acaso eu também GOSTO de interrupções, então interrupções são
gerenciadas sem que se tente esconder a razão por detrás delas.[12]

Depois disto, muitas pessoas contribuíram com código para o projeto. No começo, a
comunidade MINIX contribuiu com código e ideias para o Linux. Na época, o Projeto
GNU tinha criado muitos dos componentes exigidos para um sistema operativo livre,
mas o seu próprio núcleo, GNU Hurd, estava incompleto e indisponível. O sistema
operativo BSD ainda não tinha se libertado dos estorvos legais. Apesar da
funcionalidade reduzida das primeiras versões, o Linux acumulou desenvolvedores e
usuários rapidamente.

Por Setembro de 1991, a versão 0.01 do Linux foi lançada, e envianda para o servidor
FTP (ftp.funet.fi) da Universidade de Helsinki de Tecnologia (em inglês: HUT), ele
possuía 10.239 linhas de código. Em Setembro de 1991, a versão 0.02 do Linux foi
lançada.[13]

Em Dezembro de 1991, o Linux 0.11 foi lançado. Esta versão foi a primeira a ser auto-
hospedada - O Linux 0.11 podia ser compilado por um computador executando Linux
0.11. Quanto ele lançou a versão 0.12 em Fevereiro de 1992, Torvalds adotou a GNU
General Public License (GPL) no lugar da licença anterior, escrita por ele mesmo, e que
não permitia redistribuição comercial.[14]

Um grupo de notícias conhecido como alt.os.linux iniciou, e em 19 de Janeiro de 1992,


a primeira mensagem do alt.os.linux foi enviada.[15] A 31 de Março de 1992, alt.os.linux
passou a comp.os.linux.[16]

O Sistema de Janelas X logo foi portado para o Linux. Em Março de 1992, a versão
0.95 do Linux foi a primeira a ser capaz de executar o X. Este longo salto de número de
versão , de 0.1x para 0.9x, foi devido a impressão de que uma versão 1.0 sem que
nenhum recurso faltasse era iminente. No entanto, isto acabou provando-se um pouco
superotimista, e de 1993 até o começo de 1994, 15 versões em desenvolvimento da
versão 0.99 apareceram.

Em 14 de Março de 1994, o Linux 1.0.0 foi lançado, com 176.250 linhas de código. Em
Março de 1995, o Linux 1.2.0 foi lançado, com 310.950 linhas de código.

A versão 2 do Linux, lançada em 09 de Junho de 1996, foi sucedida por versões mais
importante sob o cabeçalho da versão 2:
• 25 de Janeiro de 1999 - Linux 2.2.0 é lançado (1.800.847 linhas de código).
• 18 de Dezembro de 1999 - Patches do mainframe da IBM para o 2.2.13 são
publicados, permitindo que o Linux seja usado em máquinas de classe
empresarial.
• 04 de Janeiro de 2001 - Linux 2.4.0 é lançado (3.377.902 linhas de código).
• 17 de Dezembro de 2003 - Linux 2.6.0 é lançado (5.929.913 linhas de código).
• 20 de Outubro de 2010 - Linux 2.6.36 é lançado (13.499.457 linhas de código).
[17]

Contribuições da Microsoft

Em Junho de 2009 a Microsoft contribuiu com 20.000 linhas de código para o Linux. A
contribuição consistia de controladores (em inglês: drivers) para o Hyper-V, que
melhoravam a performance de sistemas virtuais hóspedes Linux em um ambiente
hospedado no Windows. A Microsoft licenciou seus controladores Hyper-V do Linux
sob a GPL. A Microsoft foi forçada a realizar a contribuição de código quando o
engenheiro chefe da Vyatta e o contribuidor Linux Stephen Hemminger descobriram
que a Microsoft havia incorporado um controladores de rede do Hyper-V, com
componentes livres sob a licença GPL, e o ligou estaticamente a binários de código-
fonte fechado em contravenção à licença GPL. A Microsoft contribuiu com os
controladores para corrigir a violação da licença, embora a companhia tenha tentado
descrevê-lo como um ato caridoso, mais do que apenas para evitar uma ação legal
contra si. Para colocar esta contribuição em perspectiva, em 2001 no Encontro Anual de
Analistas Financeiros (em inglês: Annual Financial Analysts Meeting) da Microsoft em
Seattle, o CEO da Microsoft Steve Ballmer disse que o Linux possui "as características
do comunismo"; em 2001 Ballmer em uma entrevista à mídia com o Chicago Sun-
Times afirmou "Linux é um câncer".[18][19][20][21][22][23][24]

Os motores de dispositivo contribuídos pela Microsoft não eram suportados pela


Microsoft e isto deixou-os sob o risco de serem abandonados do núcleo na versão
2.6.33.[25] A probabilidade de remoção dos motores de dispositivo resultou no trabalho
abrupto de desenvolvedores da Microsoft na manutenção destes, mas seus esforços não
duraram, e o código está proposto para remoção na versão 2.6.35 do núcleo.[26][27]

[editar] Aspectos Legais


[editar] Termos de Licenciamento

Inicialmente, Torvalds distribuiu o Linux sob uma licença que proibia qualquer
aproveitamento comercial. Isto logo foi mudado pela GNU General Public License
(GPL), desde a versão 0.12. Esta licença permite a distribuição e venda de versões
possivelmente mudadas ou não do Linux, mas, exige que todas as cópias sejam
distribuídas sob a mesma licença, em companhia do código fonte completo
correspondente.

Torvalds descreveu o licenciamento sob a GPL como "a melhor coisa que eu já fiz".[28]

[editar] GPL versão 3


Ver artigo principal: GNU_General_Public_License#Versão 3

Atualmente, o Linux está licenciado apenas sob a versão 2 da GPL,[4] e, diferentemente


de muitos outros softwares sob a GPL, sem nenhuma opção para utilizar uma versão
posterior, e há mais controvérsia sobre quão fácil ele poderia ser modificado para usar
versões posteriores da GPL, tais como a versão 3, e até mesmo se isto é desejável.[29]
Torvalds himself specifically indicated upon the release of version 2.4.0 that his own
code is only under version 2.[30] No entanto, os termos da GPL afirmam que se nenhuma
versão é especificada, então qualquer versão pode ser utilizada, como mostra Alan Cox,
pouquíssimos colaboradores Linux especificaram uma versão particular da GPL.[31] Em
Julho de 2006, uma pesquisa com 29 desenvolvedores chave do Linux, indicou que 28
preferiam a GPLv2 ao então atual rascunho da GPLv3. Torvalds comentou, "Eu acho
que um número de forasteiros... acreditou que eu pessoalmente era o único estranho no
ninho, porque eu era tão publicamente não fã da GPLv3."[32]

[editar] Módulos carregáveis do núcleo e firmware

É debatido se módulos carregáveis do núcleo (em inglês: LKMs) devem ser


considerados trabalho derivado sob a lei de direito autoral estadunidense, e portanto se
enquadrar nos termos da GPL. Torvalds afirmou sua crença de que módulos que
utilizem um subconjunto limitado, e público, das interfaces do núcleo podem, algumas
vezes, não ser trabalhos derivados, e portanto, permitindo alguns módulos binários e
outros módulos que não são licenciados sob a GPL. Muitos colaboradores Linux
discordam desta interpretação, no entanto, até Torvalds concorda que muitos módulos
são claramente trabalhos derivados, e com certeza, ele escreve que "módulos do núcleo
SÃO derivados 'por padrão'". Em contrapartida, Torvalds também disse que "uma área
cinza em particular, é algo como um controlador que foi originalmente escrito para
outro sistema operativo (ex. claramente não é um trabalho derivado do Linux em sua
origem). [...] ISTO é uma área cinza, e _esta_ é a área em que eu acredito que alguns
módulos podem ser considerados como trabalhos não derivados, simplesmente por que
eles não foram projetados para o Linux e não dependem de nenhum funcionamento
específico dele."[33] Controladores gráficos proprietários, em particular, são amplamente
discutidos. Enfim, é provável que tais questões só possam ser resolvidas por um
tribunal.

Um ponto de controvérsia sobre o licenciamento, é o uso que o Linux faz de "borrões


binários" de firmware para suportar dispositivos de hardware. Estes ficheiros são
distribuidos sob grande variedade de licenças, muitas delas restritivas, e seu código-
fonte fundamental exato é desconhecido. Richard Stallman alega que estes borrões
tornam o Linux parcialmente software não-livre, e que distribuir o Linux pode ser uma
violação da GPL, que exige que "código-fonte completo correspondente" esteja
disponível.[34] In response, the FSFLA started a project, Linux-libre, to create a
completely free kernel without proprietary objects, which is used by some completely
free distributions.[35][36]

[editar] Marca registrada

O Linux é uma marca registrada de Linus Torvalds nos Estados Unidos e alguns outros
países. Isto é resultado de um incidente no qual William Della Croce, Jr., que não era
envolvido no projeto Linux, registrou o nome e subsequentemente pediu royalties pelo
seu uso. Vários apoiadores do Linux integraram um conselho legal e entraram com uma
ação contra Della Croce, que concordou em 1998 a designar o registro para Torvalds.

[editar] Litigação do SCO

Para mais detalhes consulte Controvérsias SCO-Linux.

Em Março de 2003, o Grupo SCO (SCO) entrou com um processo contra IBM
reclamando que a IBM violou direitos autorais que o SCO disse possuir sobre o código
fonte do Unix, ao contribuir com porções daquele código para o Linux. Além disso, o
SCO enviou cartas para inúmeras companhias avisando que o seu uso do Linux sem
uma licença do SCO poderia ser uma violação da lei de direitos autorais, e contou a
impressa que eles iriam processar usuários individuais do Linux. A IBM então prometeu
defender seus consumidores Linux em seu nome. Esta controvérsia gerou processos
pelo SCO contra Novell, DaimlerChrysler (parcialmente indeferido em Julho de 2004),
e AutoZone, e processados retaliativos pela Red Hat e outras contra o SCO.

No começo de 2007 o SCO preencheu os detalhes específicos do objeto infringido. Não


obstante às afirmações anteriores que o SCO era dono por direito de 1 milhão de linhas
de código, ele especificou 326 linhas de código, a maioria do qual era inelegível para
direitos autorais.[37] Em Setembro de 2007, o tribunal no caso Novell decidiu que o SCO
não era dono de verdade dos direitos autorais do Unix para começo de conversa,[38]
embora a Corte de Apelações dos Estados Unidos para o Décimo Circuito decidiu em
Setembro de 2009 que a questão de quem era o dono propriamente dito dos direitos
autorais ficava para o júri decidir.[39] O caso foi decidido em 30 de Março de 2010,
favorecendo a Novell. [40]

[editar] Características técnicas


O Linux suporta multitarefa de antecipação (em ambos modo usuário e modo núcleo),
memória virtual, bibliotecas compartilhadas, carregamento por demanda, executáveis de
cópia-ao-escrever compartilhados, gerenciamento de memória, o conjunto de protocolos
de Internet, e execução em linhas.

[editar] Arquitetura

Mapa do Linux e [http://www.makelinux.net/kernel_map mapa maior e interativo.

O Linux é um núcleo monolítico. controladores de dispositivos e extensões de núcleo


são executadas no espaço de núcleo (anel 0 em muitas arquiteturas de CPU), com
acesso completo ao hardware, embora algumas exceções sejam executadas no espaço de
usuário. O sistema gráfico que a maioria das pessoas utiliza com o Linux não roda no
núcleo, em contraste com o encontrado no Microsoft Windows.

Preemptividade do modo de núcleo permite que controladores de dispositivos sejam


antecipados sob certas condições. Este recurso foi adicionado para lidar com
interrupções de hardware corretamente e melhorar o suporte para multiprocessamento
simétrico (em inglês: SMP). Preemptividade também melhora latência, aumentando a
responsividade e tornando o Linux mais apropriado para aplicações de tempo real.

[editar] Kernel panic

Pânico do núcleo.
Ver artigo principal: Kernel panic

No Linux, um "pânico" é um erro irrecuperável no sistema, detectado pelo núcleo em


contraste a erros similares encontrados por código no espaço de usuário. É possível para
o código no núcleo indicar tal condição ao chamar a função panic, localizada no
ficheiro de cabeçalho file sys/system.h. No entanto, a maioria dos pânicos são resultado
de uma exceção do processador não tratada no código do núcleo, como referências a um
endereço inválido na memória. Tipicamente estes são indicadores de um defeito em
algum lugar na cadeia de chamada levando ao pânico. Eles também podem significar
uma falha de hardware, como uma célula de RAM falha ou erros em funções aritméticas
no processador, causados por defeito no processador, processador
danificado/superaquecido, ou um erro leve.

[editar] Kernel Oops

Um relatório de falha no núcleo chamado Kerneloops [41] é recebida automaticamente


pelo software kerneloops [42] ou pela extensão kernel oops do abrt.[43] O Kerneloops.org
reúne estes relatórios e publica estatísticas em seu sítio.[44]

[editar] Debate Tanenbaum-Torvalds

Ver artigo principal: Debate Tanenbaum–Torvalds

O fato do Linux ser um núcleo monolítico mais do que um micronúcleo foi o tópico do
debate Tanenbaum–Torvalds entre Andrew S. Tanenbaum e Linus Torvalds.[45] O
debate iniciou em 1992, sobre Linux e arquiteturas de núcleo em geral no grupo de
discussão comp.os.minix na Usenet.[46] Tanenbaum argumentou que micronúcleos são
superiores a núcleos monolíticos, e portanto, o Linux era obsoleto. Diferentemente de
núcleos monolíticos tradicionais, controladores de dispositivos são configurados
facilmente como módulos carregáveis, e são carregados ou descarregados durante a
execução do sistema. Este assunto foi revisitado em 09 de Maio de 2006,[47] e em 12 de
Maio de 2006 Tanenbaum escreveu uma declaração.[48]

[editar] Linguagens de programação

O Linux é escrito na versão da linguagem de programação C suportada pelo GCC, que


introduziu inúmeras extensões e mudanças ao C padrão, aliado a várias seções de
código menores escritas na linguagem de montagem, na sintaxe e estilos do GCC e
"AT&T", da arquitetura alvo. Devido às extensões ao C que ele suporta, o GCC foi por
um longo período o único compilador capaz de compilar o Linux corretamente. Em
2004, a Intel disse ter modificado o Linux para que seu compilador C também pudesse
compilá-lo.[49] Outro sucesso foi apresentado em 2009, com um 2.6,22 modificado.[50][51]

Muitas outras linguagens foram usadas de algum modo, essencialmente em conexão


com o processo de compilação, os métodos pelos quais as imagens inicializáveis são
criadas através do código fonte. Estas incluem Perl, Python, e várias linguagens shell
script. Alguns controladores podem até ser escritos em C++, Fortran, ou outras
linguagens, mas isto é extremamente desencorajado. O sistema de compilação do Linux
oficialmente suporta apenas o GCC, como um compilador de núcleo e controladores.

[editar] Portabilidade

iPodLinux inicializando Linux.

Enquanto o Linux não foi projetado inicialmente para ser portável, o Linux agora é o
núcleo de sistema operativo mais portado, executando em uma série de sistemas, desde
o computador de mão iPAQ ao servidor mainframe System z9 da IBM, capaz de
executar centenas e até milhares de instâncias do Linux simultâneas. O Linux executa
no sistema operativo principal no supercomputadores Blue Gene da IBM. Desde Junho
de 2009, o Linux é núcleo em mais de 88% dos sistemas na lista Top 500 de
supercomputadores.[52] Além disso, o Linux foi portado para vários dispositivos móveis
como o TuxPhone e o iPod da Apple.
Sistemas operativos como o Google Android, o Nokia Maemo e o Intel Moblin,
desenvolvidos para dispositivos móveis, utilizam versões modificadas do Linux.[53][54][55].

O Linux hoje funciona em dezenas de plataformas, desde mainframes até um relógio de


pulso, passando por várias arquitecturas: x86 (Intel, AMD), x86-64 (Intel EM64T,
AMD64), ARM, PowerPC, Alpha, SPARC etc., com grande penetração também em
sistemas embarcados, como handhelds, PVR, vídeo-jogos e centros multimídia, entre
outros.

Ver também: Anexo:Lista de arquiteturas compatíveis com Linux.

[editar] Arquiteturas de máquina virtual

Ver também: Comparação entre máquinas virtuais.

O Linux possui suporte extenso para e executa em muitas arquiteturas de máquinas


virtuais, como ambos hóspede e como hospedeiro e como um hóspede. As máquinas
virtuais geralmente emulam a família de processadores Intel x86, embora em alguns
casos processadores PowerPC ou AMD também sejam emulados.

[editar] Processos

Um processo é uma instância de um programa em execução.[56] Todo processo no Linux


tem um pai (processo criador) e um número identificador (PID). O pai de todos os
processos num ambiente Linux é o init, cujo PID é 1. Este processo é criado pelo
processo 0, que é um encadeamento (thread) do próprio núcleo. O processo init irá
permanecer em execução até o desligamento do sistema, e sua função é monitorar e
criar os processos que implementam as camadas exteriores do sistema operacional.

Os processos são criados pela chamadas de sistema fork() (processos tradicionais ou


heavy weight) e clone() (processos leves ou light weight). Para otimizar a criação de
processos tradicionais, o Linux usa o recurso de copy-on-write: quando um processo-
filho é criado, ele compartilha as mesmas páginas de memória do pai. Quando um dos
dois tenta escrever na memória, é gerada uma interrupção para o núcleo, que então
copia o conteúdo das páginas de memória para novas molduras de páginas, e estas são
atribuídas ao processo que efetuou a escrita.

Para manter um ambiente multitarefa e possibilitar o multiprocessamento, o Linux


mantém algumas estruturas importantes, das quais podemos citar duas: (i) o descritor do
processo (task_struct), que contém todas as informações relativas ao processo; (ii)
uma fila (runqueue) de processos por processador. Quando o sistema possui mais de
um processador, o agendador do Linux faz o balanceamento de carga entre as filas.

[editar] Escalonamento

Para poder fazer um adequado compartilhamento de tempo do processador, o Linux usa


duas classificações para avaliar qual a prioridade que um processo deve ter: (i)
determina a responsividade do processo (tempo real, interativo, em segundo plano); (ii)
verifica se o processo usa muito tempo de processador (CPU-bound) ou faz muitas
operações de entrada e saída (I/O-bound).
Essas duas classes são razoavelmente independentes. Um processo pode executar em
segundo plano (um daemon, por exemplo) e ser consumidor de recursos de entrada e
saída (um servidor de banco de dados) ou usar muito tempo de processador (um
compilador). Um processo que executa em tempo real foi assim definido pelo seu
programador, mas o agendador do Linux necessita fazer uma análise heurística para
saber se um processo é interativo ou está executando em segundo plano.

O Linux utiliza um sistema de prioridades, onde um processo que possui prioridade


maior tem precedência sobre um de prioridade menor para obter o processador. A
identificação da prioridade de um processo pode ser estática ou dinâmica e varia de 1, a
maior prioridade, a 139, a menor. Os números 1 a 99 são atribuídos a processos de
tempo real e 100 a 139 são atribuídos a processos tradicionais (interativos e segundo
plano).

Um processo em tempo real é classificado em "primeiro a entrar, primeiro a sair" (em


inglês: firtst-in, first-out FIFO) ou "todos contra todos" (em inglês: Round-Robin RR) e
somente será retirado do processador nos seguintes casos: (i) fim de execução; (ii) para
ser substituído por um processo de maior prioridade; (iii) executar uma operação de
bloqueio; (iv) espontaneamente; (v) é RR e esgotou seu quantum de processamento.

Um processo tradicional tem inicialmente atribuída uma prioridade estática (em geral
120) que determina o seu quantum de processamento, mas pode ter uma prioridade
dinâmica, que é o valor analisado pelo agendador quando percorrer a lista de processos
para determinar qual irá usar o processador. A prioridade dinâmica pode alterar o valor
da prioridade estática em 5 pontos, para mais (penalidade) ou para menos (bônus),
dependendo do passado do processo. O passado irá beneficiar o processo se o mesmo
ficou muito tempo fora do processador (sleep time). Caso este tempo seja pequeno, o
processo será penalizado.

A estrutura acima pode ser modificada a partir do lançamento 2.6.23 ou posterior, com a
introdução do "escalonador completamente justo" (em inglês: completely fair scheduler
CFS).

[editar] Gerenciamento de memória

O Linux utiliza memória virtual, que possui, pelo menos, 4 funções básicas: (i)
assegurar que cada aplicação (processo) tenha seu próprio espaço de endereçamento,
começando em zero-problema de relocação;[56][57] (ii) proteção de memória, para impedir
que um processo utilize um endereço de memória que não lhe pertença;[57] (iii)
compartilhamento de memória—processos diferentes podem compartilhar código ou
dados;[57] (iv) possibilitar que uma aplicação utilize mais memória do que a fisicamente
existente (essa é a função mais óbvia).

Seu código divide-se em duas partes. Uma é dependente da arquitetura, onde são
definidos o endereçamento — virtual e físico, o tamanho de página e o tratamento das
tabelas de páginas. Na parte independente ficam o controle de alocação e liberação de
memória e o esquema de substituição páginas.

O Linux utiliza tamanhos de páginas de acordo com a arquitetura. Os processadores x86


utilizam páginas de 4 KiB (padrão), 2 MiB (caso seja utilizado o recurso de Extensão de
Endereço de Página (em inglês: Page Address Extension PAE) – da Intel) ou de 4 MiB.
Nas arquiteturas RISC o tamanho padrão é de 8 KiB, mas não é o único.

O endereçamento virtual é dividido em espaço do usuário e espaço do núcleo. O


primeiro é privativo de cada processo, com início no endereço lógico zero e terminando
no endereço determinado pela macro PAGE_OFFSET . O espaço do núcleo é único e
começa depois do espaço do usuário. Na arquitetura x86 PAGE_OFFSET determina um
valor de 3 GiB para o espaço do usuário e 1 GiB para o espaço do núcleo.

O código do Linux é carregado no início do espaço do núcleo, sendo seguido pela área
fisicamente mapeável (mem_map, estrutura que indexa as páginas físicas, e as páginas
propriamente ditas). Na arquitetura x86, os últimos 128 MiB do espaço do núcleo são
reservados para alocação de memória não contígua e memória alta, limitando a memória
física endereçável pelo Linux, na compilação padrão, a 896 MiB.

Um endereço virtual no Linux , é dividido em 5 campos: diretório de páginas (PGD),


diretório superior de páginas (PUD), diretório intermediário de páginas (PMD), tabela
de páginas (PTE) e deslocamento (offset). A arquitetura x86 possui um espaço de
endereçamento de 32 bits; quando são utilizadas páginas de 4 KiB (o padrão) o PUD e o
PMD não são utilizados; o PGD e o PTE usam 10 bits cada, e o deslocamento usa 12
bits.

O esquema de substituição de páginas no Linux usa o algoritmo LRU (por


aproximação) mantendo duas listas de envelhecimento (em inglês: aging). A primeira
(active_list) contém as páginas atualmente em uso (as páginas mais recentemente
referenciadas estarão mais próximas do início da lista) e a segunda (inactive_list)
contém as candidatas a paginação (em inglês: page out).

A paginação para disco pode ocorrer sob demanda, quando algum processo solicitar
página e não houver alguma disponível. Neste caso, a página no final da lista
inactive_list é liberada. Entretanto, existe um processo chamado kswapd,
inicializado pelo núcleo, que verifica, periodicamente, o número de páginas livres. Caso
este número seja menor que pages_low, kswapd é acordado para liberar páginas. Se o
valor chegar a pages_min, kswapd entra num regime síncrono para agilizar a liberação.
Quando o valor de páginas livres atingir pages_high, kswapd vai dormir.

[editar] Sistema de arquivos


Este diagrama, criado com o Free Code Graphing Project, é uma representação artística
do núcleo Linux, na sua versão 2.4.0

O gerenciamento de arquivos no Linux baseia-se num esquema de vários níveis, onde a


camada principal é o VFS (Virtual File System), que esconde da aplicação as
características dos diversos sistemas de arquivo reconhecidos pelo Linux. Quando uma
aplicação solicita uma operação sobre algum arquivo, essa solicitação é encaminhada
para o VFS, que reenvia a solicitação para um dos SA registrados.

O VFS utiliza uma estrutura chamada superbloco para manter as informações referentes
aos diversos sistemas de arquivos montados (tipo, ponto de montagem, dispositivo de
bloco utilizado, arquivos abertos). Também utiliza nós-i, semelhantes aos nós-i do
EXT2, com as informações sobre os arquivos (permissões, blocos utilizados, dono,
etc.).

Os sistemas de arquivos registrados no VFS podem ser classificados em 3 grupos: (i)


dispositivos de blocos (EXT2, EXT3, Reiserfs, XFS, VFAT); (ii) associados a rede
(NFS, SMB); (iii) dispositivos especiais (procfs, tempfs). Todos esses sistemas podem
ser carregados como módulos.

O Ext2 está deixando de ser o padrão, particularmente por sua deficiência quando
ocorre uma pane. Neste caso, o sistema operacional deve executar uma varredura
completa para verificar o estado do sistema (fsck). Outros sistemas foram criados para
sanar essa deficiência, utilizando um recurso chamado journaling, que é a utilização de
um registro (log) de alterações (journal). Os sistemas de arquivos desse tipo mais
importantes são: Ext3, Ext4, Reiserfs, XFS e JFS.

[editar] Pânico do núcleo


Um pânico do núcleo (em inglês: kernel panic) é um erro de sistema não-recuperável
detectado pelo núcleo, ao contrário dos erros de impressão e utilização por código do
espaço de utilizador. É possível que o código do núcleo indique essa condição ao
invocar a função panic localizada no ficheiro-cabeçalho sys/system.h. No entanto,
grande parte dos pânicos são o resultado de excepções do processador não-lidadas no
código do núcleo, tal como referências a moradas de memória inválidas. São
normalmente não indicativo de erros algures na cadeia de chamadas que levam ao
pânico.

[editar] Custo estimado

O custo para criar o Linux novamente, em sua versão 2.6.0, em uma configuração
tradicional de desenvolvimento proprietária foi estimada em cerca de $612 milhões
USD (€467 milhões de euros, 1,145 bilhão de Reais), com base nos custos de 2004,
utilizando o modelo COCOMO de estimativa pessoa-mês.[58] In 2006, a study funded by
the European Union put the redevelopment cost of kernel version 2.6.8 higher, at €882
million euro ($1.14 billion USD).[59]

Este assunto foi revisitado em Setembro de 2008 por Amanda McPherson, Brian Proffitt
e Ron Hale-Evans. Usando a metodologia de David A. Wheelers, eles estimaram que
refazer o núcleo 2.6.25 teria custos de $1.3 bilhão USD (parte de um total de $10.8
bilhões para refazer todo o Fedora 9).[60]

[editar] Histórico de recursos

A versão 1.0 do Linux foi lançada em 14 de Março de 1994.[61] Este lançamento só


suportava sistemas de computador uniprocessados baseados na i386. Portabilidade se
tornou uma preocupação, e logo, na versão 1.2, lançada em 07 de Março de 1995,[62]
ganhou suporte a sistemas de computador utilizando processadores baseados nas
arquiteturas Alpha, SPARC, e MIPS.

A versão 2.0 foi lançada em 09 de Junho de 1996.[63] Já haviam sido 41 lançamentos em


série. O principal recurso da 2.0 foi o suporte a multiprocessamento simétrico, ou seja,
suporte para múltiplos processadores em um único sistema, e suporte para mais
arquiteturas de processadores.

A versão 2.2 foi lançada em 26 de Janeiro de 1999,[64] que removeu o spinlock global e
forneceu suporte melhorado para multiprocessadores, e também adicionou suporte para
as arquiteturas m68k e PowerPC, assim como a novos sistemas de ficheiro, incluindo
suporte somente de leitra para o NTFS da Microsoft.[65]

A versão 2.4.0, lançada em 04 de Janeiro de 2001,[66] continha suporte para Ligar e Usar
ISA, USB, e PC Cards.[67] Ele também incluía suporte ao processador PA-RISC da
Hewlett-Packard. Desenvolvimento para o 2.4.x mudou um pouco em que mais recursos
eram disponibilizadas através da duração da série, incluindo: suporte a Bluetooth,
[[Logical Volume Manager (Linux)|Gerenciador Lógico de Volumes (em inglês:
LVM)]] versão 1, suporte RAID, InterMezzo e sistemas de ficheiro ext3.

A versão 2.6.0 foi lançada em 18 de Dezembro de 2003.[68] A série de núcleos 2.6 ainda
é a série ativa de núcleos estáveis em Abril de 2010. O desenvolvimento para o 2.6.x se
modificou mais ao incluir novos recursos através da duração da série. Entre as
mudanças que foram realizadas, estão: integração do µClinux no código-fonte principal
do Linux, suporte a extensão de endereço físico (em inglês: PAE), suporte a diversas
linhas novas de CPUs, integração da Arquitetura de Som Avançada do Linux (em
inglês: ALSA) no código principal do Linux, suporte para até 232 usuários (acima de
216), suporte para até 229 IDs de processo (acima de 215), aumentou substancialmente o
número de tipos de dispositivo e número de dispositivos para cada tipo, aperfeiçoou o
suporte 64-bites, suporte para sistema de ficheiros de até 16 terabytes, preemptividade
no núcleo, suporte para a biblioteca de linhas de execução nativa do POSIX, integração
do linux em modo de usuário ao código principal do Linux, integração do SELinux ao
código principal do Linux, suporte à Infiniband, e muito mais. Também notáveis são as
adições de vários sistemas de ficheiro através dos lançamentos 2.6.x: FUSE, JFS, XFS,
ext4 e mais. Detalhes da história da série de núcleos 2.6 podem ser encontradas em
registros da mudança (em inglês: changelog) na área de lançamentos dos núcleos 2.6 do
sítio kernel.org.

[editar] Desenvolvimento
[editar] Linha do tempo
Ref:www.kernel.org[69]
[editar] Modelo de desenvolvimento

O modelo de desenvolvimento atual do Linux é de forma que o Linus Torvaldes realize


o lançamento de novas versões, também chamadas de núcleos "baunilha" (em inglês:
vanilla) ou "principais" (em inglês: mainline), o que significa que eles contêm o ramal
principal e genérico de desenvolvimento. Este ramal lança uma versão nova a cada três
meses, aproximadamente, depois que Torvalds realiza um período inicial para
integração grandes mudanças por todos programadores, e vários outros de pré-
lançamentos para a correção de defeitos.

No esquema atual, o ramal principal do desenvolvimento não é o tradicional "estável",


mas ao invés disto, ele incorpora todos os tipos de alterações, ambos últimos recursos
assim como correções de segurança e defeitos. Para usuários que não querem arriscar
atualizando para novas versões, contendo código que pode não ter sido testado o
bastante, um conjunto separado de ramais "estáveis" existe, um para cada versão
lançada, que são criados para usuários que querem apenas as correções de segurança e
defeitos, mas não uma versão totalmente nova. Estes ramais são mantidos pelo time
estável (em inglês: stable team) (Greg Kroah-Hartman, Chris Wright, talvez outros).

A maioria dos usuários do Linux utilizam a versão fornecido pelas suas distribuições.
Algumas distribuições fornecem os núcleos "baunilha" e/ou "estável". No entanto,
muitos distribuidores Linux, como a Red Hat e o Debian, mantém outro conjunto de
ramais do Linux que são integradas aos seus produtos. Estes são em geral atualizados
em um ritmo mais lento em comparação com o ramal "baunilha", e eles normalmente
incluem todas correções do ramal "estável" correspondente, mas ao mesmo tempo eles
podem adicionar suporte a controladores ou recursos que não foram lançados na versão
"baunilha" em que o distribuidor se baseou originalmente para o seu conjunto de
versões.

O modelo de desenvolvimento para o Linux 2.6 foi uma mudança significativa do


modelo utilizado para o Linux 2.5. Anteriormente havia um ramal estável, o 2.4, em que
apenas revisões relativamente pequenas e seguras eram feitas, e um ramal instável, o
2.5, onde mudanças maiores e limpezas eram permitidas. Ambos ramais foram
mantidos pelo mesmo grupo de pessoas, liderado por Torvalds. Isto significada que os
usuários sempre teriam uma versão 2.4 bem testada, com as últimas correções de
segurança e defeitos para usar, embora eles tivessem que esperar pelos recursos que iam
para o ramal 2.5. A desvantagem disto era que o núcleo "estável" ficava tão atrás que
ele não suportava mais hardwares recentes, e faltavam recursos necessários. No fim da
série 2.5.x, alguns mantenedores escolheram tentar portar suas alterações para a série de
núcleos estáveis, o que resultou em defeitos sendo introduzidos nos núcleos 2.4.x. O
ramal 2.5 foi então oficialmente declado estável, e renomeado para 2.6, mas ao invés de
abrir um ramal instável, o 2.7, os desenvolvedores escolheram continuar a fazer grandes
revisões no ramal 2.6, permitindo lançamentos muito mais rápidos do que o ramal 2.4.x,
mas ainda sim, mais lentos do que o 2.5.x. Isto trouxe o efeito desejado de tornar novos
recursos rapidamente disponíveis, e conseguir mais testes do novo código, que foi
adicionado em ramais menores e mais fáceis de testar.
Como resposta a falta de uma árvore de núcleo estável, algumas pessoas coordenaram a
coleta de correções, e em Dezembro de 2005 Adrian Bunk anunciou que ele manteria os
lançamentos dos núcleos 2.6.16.y, mesmo quando o time continuasse para o 2.6.17.[70]
Ele também incluiu alguns atualizações de controladores, tornando a manutenção da
série de núcleos 2.6,16 muito similar às antigas regras de manutenção para uma série
estável, como a 2.4.[71] Deste então, o "time estável" (em inglês: stable team) foi criado,
e poderia continuar atualizando as versões do núcleo com correões. Em Setembro de
2008, Adrian Bunk anunciou que ele iria manter o 2.6.27 por alguns anos como
substituto ao 2.6.16.[72] O time estável apanhou a ideia[73] e desde de 2010 eles continuar
a manter aquela versão, lançando correções para ela, além das outras.

Após a mudança no modelo de desenvolvimento com o 2.6.x, os desenvolvedores


continuaram querendo o que pode-se chamar de uma árvore instável do núcleo, uma que
muda tão rapidamente quanto novas correções chegam. Andrew Morton decidiu
redirecionar sua árvore -mm de gerenciamento de memória, para servir como destino
para todo código novo e ou experimental. Em Setembro de 2007 Morton decidiu parar
de manter a sua árvore.[74] Em Fevereiro de 2008, Stephen Rothwell criou a árvore
linux-next (em português: próximo-linux) em que correções que almejam serem
incorporadas durante o próximo ciclo de desenvolvimento são reunidas.[75][76] Vários
mantenedores de subsistemas também adotaram o sufixo -next (em português:
próximo(a)) para suas árvores contendo código a ser enviado para inclusão no próximo
ciclo de lançamento.

[editar] Manutenção

Enquanto que Linus Torvalds supervisa as alterações no código e os lançamentos para


as últimas versões do núcleo, ele delegou a manutenção das versões anteriores para
outros programadores. Lançamentos importantes tão antigos quanto o 2.0, oficialmente
obsoleto com o lançamento do 2.2.0 em Janeiro de 1999, são mantidos conforme a
necessidade, embora a uma velocidade muito lenta.

Série Versão Mantenedor Modelo de suporte


Oficialmente obsoleto com o
2.0 2.0.40[77] David Weinehall
lançamento da versão 2.2.0
Marc-Christian
2.2 2.2.27-rc2[78] Petersen (former
maintainer Alan Cox)
Willy Tarreau (ex-
2.4 2.4.37.7[79] mantenedor Marcelo
Tosatti)
Lançamento estável de longo
2.6.16 2.6.16.62[80] Adrian Bunk
prazo [81]
Lançamento estável de "longo
Greg Kroah-
2.6.27 2.6.27.44[82] prazo". De 09 de Outubro de
Hartman[73]
2008[83] a Setembro de 2010[84][85]
Lançamento estávle de "longo
Greg Kroah-
2.6.32 2.6.32.4[86] prazo". De 03 de Dezembro de
Hartman[87]
2009 [88] a 2011/2012[89]
2.6.x (lançamentos a cada Linus Torvalds (atual apenas) (lançamentos a
(apenas a
versão três meses) cada três meses)
final)
2.6.x-linux- última versão de última versão em
next desenvolvimento desenvolvimento

Outros programadores do Linux que mantêm subsistemas dentro do núcleo[90] incluem:

• Robert Love: núcleo preemptível, inotify


• Ingo Molnár: arquitetura x86, escalonador, travas
• David S. Miller: rede, arquitetura sparc
• Hans Peter Anvin: arquitetura x86, automontador do núcleo

[editar] Versões iniciais

Ver artigo principal: Anexo:Versões do Linux

• 0.01 - Setembro de 1991 - primeira versão (10.239 linhas de código).


• 0.02 - Outubro de 1991 - primeira versão disponibilizada publicamente.
• 0.12 - Janeiro de 1992 - primeira versão sob GPL (19.258 linhas de código).

[editar] Versões estáveis

Ver artigo principal: Anexo:Versões do Linux

• 1.0 - Março de 1994 - Suportava apenas máquinas monoprocessadoras i386


(176.250 linhas de código).
• 1.2 - Março de 1995 - Adicionado suporte para Alpha, SPARC e MIPS(310.950
linhas de código).
• 2.0 - Junho de 1996 - Adicionado suporte para mais processadores e foi incluído
suporte para SMP (777.956 linhas de código).
• 2.2 - Janeiro de 1999 (1.800.847 linhas de código).
• 2.4 - Janeiro de 2001 (3.377.902 linhas de código).
• 2.6 - Dezembro de 2003 (5.929.913 linhas de código).

[editar] Controle de revisões

O código do Linux costumava ser mantido sem ajuda de um sistema de controle de


versão, principalmente devido ao desgosto de Linus Torvalds com relação a sistemas
centralizados.

Em 2002, o desenvolvimento do Linux mudou para o BitKeeper, um sistema de


controle de versões que satisfazia os requerimentos técnicos de Linus Torvalds.
BitKeeper foi disponibilizado para Linus e outros gratuitamente, mas não era software
livre, o que criou controvérsias. O sistema não oferecia interoperabilidade alguma com
sistemas livres como CVS e Subversion.

Em Abril de 2005, no entando, esforços para realizar a engenharia-reversa do sistema


BitKeeper por Andrew Tridgell levou BitMover, a empresa que mantinha o BitKeeper,
a parar de suportar a comunidade de desenvolvimento Linux. Em resposta, Linus
Torvalds e outros, escreveram um novo sistema de controle de versões para a tarefa,
chamado Git. O novo sistema foi criado em semanas, e em dois meses o primeiro
lançamento oficial do núcleo foi realizado utilizando o git.[91] O git logo se tornou um
separado por direito próprio e ganhou mais escolhas na comunidade do sofware livre.

[editar] Numeração de versões

O Linux possuiu três esquemas de numeração.

A primeira versão do núcleo foi 0.01. Esta foi sucedida por 0.02, 0.03, 0.10, 0.11, 0.12
(a primeira versão sob GPL), 0.95, 0.96, 0.97, 0.98, 0.99 e então 1.0.[92] A partir da 0.95
houve vários lançamentos de correções entre as versões.

Após o lançamento da 1.0, e até o lançamento da 2.6, a versão era composta de


"A.B.C", onde A era definido como a versão do núcleo, B como a grande revisão do
núcleo, e C a revisão menor do núcleo. A versão foi alterada quando grandes alterações
no código e no conceito do núcleo ocorriam, duas vezes na história do núcleo: em 1994
(versão 1.0) e em 1996 (versão 2.0). As grande revisões foram usadas de acordo com o
sistema de numeração par-ímpar tradicional. A revisão menor foi alterada quando
correções de segurança, defeitos ou novos recursos eram implementados no núcleo.

Desde 2004, após o lançamento da versão 2.6.0, os desenvolvedores do núcleo


discutiram sobre o esquema de lançamento e versões[93][94] e por fim, Linus Torvalds e
outros decidiram que um ciclo de lançamentos menor seria benéfico. Desde então, a
versão foi composta de três ou quatro números. Os primeiros dois se tornaram bastante
irrelevantes, sendo o terceiro número a versão atual do núcleo, e o quarto número conta
apenas com atualizações para correções de segurança e defeitos.

O primeiro uso do quarto número ocorreu quando um grave erro, que exigia correção
imediata, foi encontrado no código do NFS da 2.6.8. No entanto, não haviam outras
alterações para ligitimizar o lançamento de uma nova revisão menor (que teria sido a
2.6.9). Então, a 2.6.8.1 foi lançada, com apenas uma alteração sendo feita para corrigir o
defeito. Com a 2.6.11, esta foi adotada adotada como a nova política oficial para
versões. Depois, se tornou comum portar grandes correções para versões já lançadas e
indicar isto atualizando o quarto número.

Pré-lançamentos regulares de desenvolvimento são nomeados candidados a lançamento,


o que é indicado adicionando o sufixo 'rc' a versão do núcleo, seguido por um número
ordinal.

Alguma vezes, também, a versão vai possuir um sufixo como 'tip', indicando outro
ramal de desenvolvimento, geralmente, mas não sempre, as iniciais da pessoa quem o
criou. Por exemplo, 'ck' significa Con Kolivas, 'ac' Alan Cox, etc. Algumas vezes, as
letras são relacionadas à área de desenvolvimento principal do ramal do qual o núcleo é
compilado, exemplo 'wl' indica uma compilação de teste de rede sem fio (em inglês:
WireLess). Além disso, distribuições GNU/Linux podem criar seus próprios sufixos,
com diferente sistemas de numeração, e para transportes de correções para suas versões
de distribuição "Empresariais" (ex. estável, mas mais antigo).
[editar] Versões

Ver página anexa: Versões do Linux

Tux, mascote do projeto.

Torvalds e sua equipe têm continuado a lançar novas versões, consolidando


contribuições de outros programadores e introduzindo alterações suas. Antes do
lançamento da versão 2.6, o número de versão menor (o segundo componente) par
indicavam uma série estável: 1.0.x, 1.2.x, 2.0.x, 2.2.x e 2.4.x; os lançamentos com um
número de versão menor ímpar correspondiam a versões de desenvolvimento. O
terceiro componente do número de versão correspondia a correções (releases) da
versão. A partir da versão 2.6, Torvalds alterou esse padrão, criando um quarto dígito.
Assim, a árvore estável e a de desenvolvimento confundem-se. Atualmente, considera-
se uma versão tanto mais estável quanto maior o quarto dígito. Enquanto que Torvalds
continua a lançar as versões de desenvolvimento mais recentes, a manutenção das
versões "estáveis" mais antigas é delegada a outros, incluindo David Weinehal (2.0),
Alan Cox e mais tarde Marc-Christian Petersen (2.2), Marcelo Tosatti e depois Willy
Tarreau (2.4) e o próprio Torvalds, Andrew Morton e Adrian Bunk (2.6). Para além dos
núcleos "oficiais", "árvores" alternativas podem ser obtidas de outras fontes.
Distribuidores de sistemas operativos completos mantêm as suas próprias versões do
Linux, onde, por exemplo, incluem controladores de dispositivos que não se encontram
incluídos na versão oficial.

[editar] Mascote
O mascote do Linux (núcleo e tudo que é relacionado) é um pinguim chamado Tux,
criado por Larry Ewing. O motivo pelo qual a mascote é um pinguim é, como Torvalds
disse, "O Linus gosta de pinguins. É isso." O nome Tux foi sugerido para representar
Torvalds' Unix, e ficou assim.

Referências
1. ↑ Greg Kroah-Hartman (26 August 2010). "Linux 2.6.35.4". linux-kernel mailing list.
http://lkml.org/lkml/2010/8/26/472. Visitado em 28 August 2010.
2. ↑ Linus Torvalds (23 August 2010). "Linux 2.6.36-rc2". linux-kernel mailing list.
http://article.gmane.org/gmane.linux.kernel/1025970. Visitado em 28 August 2010.
3. ↑ InfoWorld. Linux creator Torvalds still no fan of GPLv3.
4. ↑ a b c COPYING
5. ↑ Stallman, Richard (2006-10-11). Linux, GNU, and freedom. Free Software
Foundation. Página visitada em 2007-02-21.
6. ↑ README
7. ↑ Linus Torvalds (2006-09-25). Re: GPLv3 Position Statement.
8. ↑ Marjorie Richardson (1 November 1999). Interview: Linus Torvalds. Linux Journal.
Página visitada em 20 August 2009.
9. ↑ Free as in Freedom by Sam Williams. O'Reilly books, 2002
10.↑ Greg Kroah-Hartman (April 2008), Linux Kernel Development: How Fast it is Going,
Who is Doing It, What They are Doing, and Who is Sponsoring It,
http://www.linuxfoundation.org/publications/linuxkerneldevelopment.php, "Since 2005,
over 3700 individual developers from over 200 different companies have contributed to
the kernel."
11.↑ TORVALDS, Linus. Gcc-1.40 and a posix-question. 03 de julho de 1991. Disponível
em http://groups.google.com/group/comp.os.minix/msg/a4ea0f118ba82dd0. Acessado
em 18 de janeiro de 2009.
12.↑ "What would you like to see most in minix?". comp.os.minix. (Web link).
13.↑ "Free minix-like kernel sources for 386-AT". comp.os.minix. (Web link).
14.↑ Torvalds, Linus. Release Notes for Linux v0.12. The Linux Kernel Archives. Página
visitada em 2007-02-21.
15.↑ (19 January 1992). "Troubles with Partitions". comp.os.minix. (Web link). Retrieved
on 2007-01-07.
16.↑ (31 March 1992). "It's here!". comp.os.linux. (Web link). Retrieved on 2007-01-07.
17.↑ "Linux Kernel Data."
18.↑ Paul, Ryan (July 2009). Microsoft aims at VM market with Linux kernel code offering.
Página visitada em 2009-07-22.
19.↑ Holwerda, Thom (July 2009). Microsoft's Linux Kernel Code Drop Result of GPL
Violation. Página visitada em 2009-07-23.
20.↑ Microsoft (July 2009). Microsoft Contributes Linux Drivers to Linux Community.
Página visitada em 2009-07-23.
21.↑ Richmond, Gary (August 2009). Yes Linus, Microsoft hating is a disease. And it's a
pandemic. Página visitada em 2009-08-01.
22.↑ Lea, Graham (July 2000). MS' Ballmer: Linux is communism. Página visitada em
2010-02-24.
23.↑ Greene, Thomas C. (June 2001). Ballmer: "Linux is a cancer". Página visitada em
2010-02-24.
24.↑ Anderson, Paul, Prospect Magazine (July 2009). Is Microsoft opening up at last?.
Página visitada em 2010-02-15.
25.↑ Greg Kroah-Hartman (2009-09-03). Staging tree status for the .32 kernel merge.
Linux kernel mailing list. Página visitada em 2009-09-13. "'Microsoft Hyper-V
drivers. Over 200 patches make up the massive cleanup effort needed to just get
this code into a semi-sane kernel coding style (someone owes me a bit bottle of rum
for that work!) Unfortunately the Microsoft developers seem to have disappeared,
and no one is answering my emails. If they do not show back up to claim this
driver soon, it will be removed in the 2.6.33 release. So sad... '"
26.↑ Greg Kroah-Hartman (2009-12-22). Staging tree status for the .33 kernel merge.
Linux kernel mailing list. Página visitada em 2010-02-10. "'Microsoft Hyper V
drivers. The developers again seem to have disappeared, this is getting old. Slated
for removal in 2.6.35'"
27.↑ Greg Kroah-Hartman (2010-02-03). Android code removed from Linux kernel. Linux
kernel mailing list. Página visitada em 2010-02-10. "'Having contributed code
removed is not a new thing; last September, Microsoft found their Hyper-V
drivers under the same threat until employees stepped up to maintain the code,
although a recent status report from Kroah-Hartman now notes "The developers
again seem to have disappeared, this is getting old. Slated for removal in 2.6.35"'"
28.↑ Yamagata, Hiroo (1997). The Pragmatist of Free Software. HotWired. Página visitada
em 2007-02-21.
29.↑ Corbet, Jonathan (2006-01-31). GPLv3 and the kernel. LWN.net. Página visitada em
2007-02-21.
30.↑ Torvalds, Linus (2000-09-08). Linux-2.4.0-test8. Linux-kernel mailing list archive.
Unix Systems Support Group of Indiana University. Página visitada em 2007-02-21.
31.↑ Cox, Alan (2006-01-20). Re: GPL V3 and Linux. Linux-kernel mailing list archive.
LWN.net. Página visitada em 2007-02-21.
32.↑ Shankland, Stephen (25 September 2006). Top Linux programmers pan GPL 3.
News.com. Página visitada em 2007-02-21.
33.↑ Re: Linux GPL and binary module exception clause?
34.↑ Stallman, Richard (2006-10-11). Linux, GNU, and freedom. Free Software
Foundation. Página visitada em 2007-02-21.
35.↑ Linux-libre project. www.fsfla.org. Página visitada em 2009-10-05.
36.↑ Trisquel GNU/Linux-libre. trisquel.info. Página visitada em 2009-10-05.
37.↑ Report from the Courthouse 7 March. Groklaw article
38.↑ Court Rules: Novell owns the UNIX and UnixWare copyrights. Groklaw article
39.↑ Ryan, Justin (August 2009). SCO Will Try Again. Página visitada em 2009-08-30.
40.↑ Harvey, Tom (2010-03-30). Jury says Novell owns Unix copyrights. The Salt Lake
Tribune. MediaNews Group. Página visitada em 2010-03-30.
41.↑ http://lkml.indiana.edu/hypermail/linux/kernel/0303.1/0009.html.Report
42.↑ http://linux.die.net/man/8/kerneloops
43.↑ http://fedoraproject.org/wiki/Features/ABRTF12
44.↑ http://www.kerneloops.org/
45.↑ O'Reilly (1999). The Tanenbaum-Torvalds Debate. O'Reilly. Página visitada em
2006-11-22.
46.↑ (29 January 1992). "LINUX is obsolete". comp.os.minix. (Web link). Retrieved on
2006-05-10.
47.↑ Torvalds, Linus (9 May 2006). Hybrid kernel, not NT. Página visitada em 2007-01-
06.
48.↑ Tanenbaum, Andy (12 May 2006). Tanenbaum-Torvalds Debate: Part II. Página
visitada em 2007-01-06.
49.↑ Linux kernel patch for Intel Compiler
50.↑ [1]
51.↑ [2]
52.↑ Operating system Family. Top 500 Supercomputer Sites (June 2009).
53.↑ Greg Kroah-Hartman (2010-02-02). Android and the Linux kernel community. Página
visitada em 2010-02-03. "'This means that any drivers written for Android
hardware platforms, can not get merged into the main kernel tree because they
have dependencies on code that only lives in Google's kernel tree, causing it to fail
to build in the kernel.org tree. Because of this, Google has now prevented a large
chunk of hardware drivers and platform code from ever getting merged into the
main kernel tree. Effectively creating a kernel branch that a number of different
vendors are now relying on.'"
54.↑ Linux developer explains Android kernel code removal. ZDNet (2010-02-02). Página
visitada em 2010-02-03.
55.↑ Maemo platform described as beeng based on Linux kernel. Maemo community
(2010-04-09). Página visitada em 2010-04-09.
56.↑ a b TANENBAUM, Andrew. Sistemas operacionais modernos. Rio de Janeiro: LTC.
1999.
57.↑ a b c STALLINGS, William. Operating systems: internals and design principles. 5.ed.
Upper Saddle River: Pearson Prentice Hall. 2005.
58.↑ David A. Wheeler. Linux Kernel 2.6: It's Worth More!.
59.↑ Economic impact of FLOSS on innovation and competitiveness of the EU ICT sector,
Table 3 on page 50.
60.↑ Estimating Total Development Cost Of a Linux Distribution, Tabela na página 6.
61.↑ Kernel 1.0 Source Code Release (acessado pela última vez em 2008-10-27)
62.↑ Kernel 1.2 Source Code Release (acessado pela última vez em 2008-10-27)
63.↑ Kernel 2.0.x Source Code Releases (acessado pela última vez em 2008-10-27)
64.↑ Kernel 2.2.x Source Code Releases (acessado pela última vez em 2008-10-27
65.↑ The Wonderful World of Linux 2.2 (acessado pela última vez em 2008-10-27)
66.↑ Kernel 2.4.x Source Code Releases (acessado pela última vez em 2008-10-27)
67.↑ The Wonderful World of Linux 2.4 (acessado pela última vez em 2008-10-27)
68.↑ Kernel 2.6.x.y Source Code Releases (last checked 2008-10-27)
69.↑ [3]
70.↑ [4]
71.↑ [5]
72.↑ [6]
73.↑ a b Greg Kroah-Hartman (2009-09-08). "Re: 2.6,27 maintenance plans after 2.6.32 is
released". linux-kernel mailing list. http://marc.info/?l=linux-
kernel&m=125245118518458.
74.↑ 2.6.23-rc6-mm1, "This Just Isn't Working Any More", from KernelTrap
75.↑ [7]
76.↑ [8]
77.↑ David Weinehall (2004-02-08). [ANNOUNCE] Linux-kernel 2.0.40 aka ``The Moss-
covered Tortoise''.
78.↑ Marc-Christian Petersen (2005-01-13). Linux 2.2.27-rc2.
79.↑ Willy Tarreau (2009-07-26). "Linux 2.4.37.7". linux-kernel mailing list.
http://marc.info/?l=linux-kernel&m=125761436627901.
80.↑ Adrian Bunk (2008-07-21). "Linux 2.6.16.62". linux-kernel mailing list.
http://marc.info/?l=linux-kernel&m=121667337007967.
81.↑ http://marc.info/?l=linux-kernel&m=122375909403298&w=2
82.↑ Greg Kroah-Hartman (2009-09-15). "Linux 2.6.27.44". linux-kernel mailing list.
http://marc.info/?l=linux-kernel&m=126384067101404.
83.↑ http://kernelnewbies.org/Linux_2_6_27
84.↑ http://lkml.indiana.edu/hypermail/linux/kernel/1001.2/00858.html
85.↑ http://marc.info/?l=linux-kernel&m=122375909403298&w=2
86.↑ Greg Kroah-Hartman (2010-01-18). "Linux 2.6.32.4". linux-kernel mailing list.
http://lkml.indiana.edu/hypermail/linux/kernel/1001.2/00844.html.
87.↑ Greg Kroah-Hartman (2010-01-18). "Stable kernel tree status, January 18, 2010".
linux-kernel mailing list.
http://lkml.indiana.edu/hypermail/linux/kernel/1001.2/00858.html.
88.↑ http://kernelnewbies.org/Linux_2_6_32
89.↑ http://lkml.indiana.edu/hypermail/linux/kernel/1001.2/00858.html
90.↑ See the Linux MAINTAINERS file.
91.↑ Linux Kernel Mailing List (2005-06-17). Linux 2.6.12.
92.↑ Linux Kernel Archives - Volume 1 (Riley Williams)
93.↑ [9]
94.↑ [10]

[editar] Ver também


• TORVALDS, Linus; DIAMOND, David (2001). Just For Fun: The story of an
accidental revolutionary. HarperBusiness. ISBN 0-06-662072-4 (hardcover);
HarperAudio ISBN 0-694-52539-1 (audio tape, abridged ed., read by David
Diamond) - on the beginnings of the Linux kernel; No Brasil: Só por Prazer.
Campus. ISBN 85-352-0801-1.

A Wikipédia possui o portal:


Software Livre

O Wikilivros tem um livro chamado Guia foca Linux

O Wikimedia Commons possui multimedia sobre Linux (núcleo)

• Lista de distribuições de Linux


• Comparação entre distribuições Linux
• LINUX Guia de Comandos
• Installfest
• Lei de Linus
• Patrick Gates

[editar] Ligações externas


• www.kernel.org (em inglês) The Linux Kernel Archives, the official kernel
repository, acessado pela última vez há 101 semanas e 5 dias
• KernelTrap (em inglês) , acessado pela última vez há 101 semanas e 5 dias
• Cobertura sobre o kernel em LWN.net (em inglês) , acessado pela última vez há
101 semanas e 5 dias
• Linux Kernel Source Code Viewer (em inglês) , acessado pela última vez há 101
semanas e 5 dias
• Linux Kernel Janitor (em inglês) , acessado pela última vez há 101 semanas e 5
dias
• Linux Device Drivers, 3rd Edition (em inglês) , acessado pela última vez há 101
semanas e 5 dias
• Understanding the Linux Kernel, 2nd Edition (em inglês) , acessado pela última
vez há 101 semanas e 5 dias
• LinkSys and binary modules] (em inglês) LWN.net Weekly Edition, October 16,
2003, acessado pela última vez há 101 semanas e 5 dias
• The Wonderful World of Linux 2.6 (em inglês) Joseph Pranevich; December
2003, acessado pela última vez há 101 semanas e 5 dias
• O Maravilhoso Mundo do Linux 2.6 (em português) tradução do artigo acima
por Cesar A. K. Grossmann, acessado pela última vez há 101 semanas e 5 dias
• Understanding the Linux 2.6.8.1 CPU Scheduler (em inglês) Josh Aas, 17th
February 2005, acessado pela última vez há 101 semanas e 5 dias
• Linux Online - Linux Kernel Information (em inglês) , acessado pela última vez
há 101 semanas e 5 dias
• Open Directory - Linux: Kernel (em inglês) , acessado pela última vez há 101
semanas e 5 dias
• Google Directory - Linux > Kernel (em inglês) , acessado pela última vez há 101
semanas e 5 dias
• Linux Links - The Linux Portal: Kernel (em inglês) , acessado pela última vez
há 101 semanas e 5 dias
• Loads of Linux Links (em inglês) , acessado pela última vez há 101 semanas e 5
dias
• VGER.KERNEL.ORG (em inglês) Linux Kernel Developers' email list,
acessado pela última vez há 101 semanas e 5 dias
• Linux Kernel Newbies.org (em inglês) , acessado pela última vez há 101
semanas e 5 dias
• linux kernel links (em inglês) linux kernel source and news, acessado pela
última vez há 101 semanas e 5 dias
• Foca GNU/Linux: Página oficial: (em português) Um guia completo sobre
sistemas operacionais GNU/Linux, acessado pela última vez há 101 semanas e
5 dias
• What is Linux (em inglês) , acessado pela última vez há 101 semanas e 5 dias
• O que é Linux (em inglês) , acessado pela última vez há 101 semanas e 5 dias
• GNU/Linux distro timeline (em inglês) , acessado pela última vez há 101
semanas e 5 dias
• GNU/Linux naming controversy (em inglês) , acessado pela última vez há 101
semanas e 5 dias
• Linux: The 0.01 Release (em inglês) , acessado pela última vez há 101 semanas
e 5 dias

OpenSUSE
Origem: Wikipédia, a enciclopédia livre.

Ir para: navegação, pesquisa

OpenSUSE v • e
OpenSuse 10.3, KDE
3.5

Arquiteturas x86 x86-64

Modelo do Software Livre


desenvolvimento

Lançado em março de 1994 (16 anos)

Versão estável 11.3 / 15 de Julho de 2010; há


19 semanas

Versão em teste 11.4 Milestone 1 / 2 de


Setembro de 2010; há 12
semanas

Língua natural Multilíngue

Mercado-alvo Consumidores, pequenas


empresas, desenvolvedores

Família GNU

Núcleo Linux

Método de ZYpp (YaST)


atualização

Gerenciamento de RPM
pacotes

Interface KDE, GNOME

Estado do Corrente
desenvolvimento

Website www.opensuse.org (em


inglês) , acessado pela última
vez há 76 semanas e 6 dias

Posição no 4ª (em inglês, em castelhano,


Distrowatch em francês, em alemão, em
tcheco, em japonês e em
chinês)

Origem comum Estados Unidos

Portal do Software Livre

openSUSE, é uma distribuição do sistema operacional GNU/Linux, desenvolvida pela


comunidade openSUSE de forma gratuita.

Após adquirir o SUSE Linux em janeiro de 2004,[1] a Novell, uma empresa norte-
americana que na década de 1980 ficou famosa por seu sistema operacional de rede
(Netware), após o sucesso lançou o SUSE Linux Professional como um projeto 100%
código livre, envolvendo a comunidade no processo de desenvolvimento.[2]

A versão inicial foi uma versão de teste do SUSE Linux 10.0, em julho de 2010 lançou
a versão estável atual openSUSE 11.3.[3]

Índice
[esconder]

• 1 Visão Geral
• 2 Historia
• 3 Distribuição OpenSUSE
• 4 Versões do openSUSE
o 4.1 Séries 10.x
o 4.2 Séries 11.x
o 4.3 Histórico das versões
• 5 Galeria de Fotos
• 6 System requirements
• 7 Ligações externas

• 8 Referências

[editar] Visão Geral


openSUSE é dirigido pela comunidade [openSUSE Project] e patrocinada pela Novell
(empresa), para desenvolver e manter os componentes do SUSE Linux distribuições.

Depois da aquisição do SUSE Linux, a Novell decidiu fazer da comunidade uma


importante parte do processo de desenvolvimento.
Alem da distribuição, o Projeto openSUSE prove um portal web para o envolvimento da
comunidade. A comunidade colabora com o openSUSE em desenvolvimento com
representantes da Novell contribuindo com códigos através do [openSUSE Build
Service], escrevendo documentação, desenhando artes graficas, criando discussões
abertas em mailing lists e canais Internet Relay Chats (irc), assim como aprimorando o
openSUSE através de wikis.

Como a maioria das distribuições Linux, o openSUSE inclui ambas Ambiente gráfico
(padrão) e um poderoso Interpretador de comandos (opcional). Durante instalação, o
usuario pode escolher dentre vários Ambiente gráficos e com focos diferentes: KDE
(padrão), GNOME, LXDE e Xfce.

[editar] Historia
No passado, a companhia SUSE Linux tinha focado em um lançamento conjunto do
“SUSE Linux Personal” e “SUSE Linux Professional”, incluindo extensiva
documentação impressa que esteve disponível para vendas nas Lojas. A habilidade da
companhia de vender um produto de codígo-livre era larga devido o processo de
desenvolvimento usado em codígo-fechado. Embora o SUSE Linux tivesse sempre sido
um produto de codígo-livre com licença GPL, somente era possível analisar livremente
o codígo-fonte do próximo lançamento, 2 meses depois de lançado. A estratégia do
SUSE Linux foi criar uma distribuição Linux tecnicamente superior com um grande
numero de engenheiros empregados, que poderia fazer que usúarios paguem pela
distribuição em Lojas.

Desde a aquisição pela [[Novel Empresa] em 2003 e com o advento do openSUSE isso
estava sendo revertido: começando com a versão 9.2, 1 DVD não-suportado Imagem
ISO do SUSE Professional esteve disponivel para download também um Live DVD
bootável. O servidor FTP continua a operar e tem a vantagem de instalação online:
Apenas baixando pacotes que o usuario necessitava. O ISO tinha a vantagem de fácil
instalação de pacotes, e a habilidade de operar mesmo se a conexao de rede do usuario
não estive disponivel Out-of-Box(pronta para usar), assim menos experiência era
necessária(ex: Um usuario Linux inexperiente pode não saber se precisa instalar ou não
certo pacote/aplicativo, e a ISO oferece vários conjuntos de pacotes pré-selecionados).

O inicial lançamento estável pela openSUSE Project, SUSE Linux 10.0, esteve
disponível para download apenas após da versão comercial SUSE Linux 10.0. em
adição, a Novell termina a “Personal Version”, renomeando a versão “Professional”
para simplestemente “SUSE Linux”, e remarcando o preço o “SUSE Linux” para quase
o mesmo da até então antiga versão “Personal Version”. Com a versão 10.2, a
distribuição SUSE Linux foi oficialmente renomeada para OpenSUSE.

Ao longo dos anos, o SUSE Linux foi uma distribuição com status que incluía software
proprietário, com restritivas publicações atrasadas(2 meses de espera para aqueles que
não compraram o produto sem ISO disponíveis, mas instalação disponível via FTP) e
desenvolvimento fechado para um modelo livre de distribuição para todos de
transparencia e desenvolvimento aberto. [9] Sua popularidade continua a crescer: como
em May de 2010, por exemplo, as estatíticas de downloads mostra mais que 2 milhões
instalações unicas apenas do openSUSE 11.1 e 11.2, [10] com números altos na
alemanha(28%) e Estados Unidos(14%).
[editar] Distribuição OpenSUSE
openSUSE é completamente e livremente disponível para [download direto ou
bittorrent], e tambem vendindo como DVD-Box para o publíco em geral. Uma
distribuição openSUSE, vem com varías edições para arquiteturas x86 e x86-64 (como
para a atual versão 11.3):

• openSUSE Edição para Download: Download livre, disponível nas


páginas de [download do openSUSE]. Disponíveis também um Live
CD versão (KDE4 ou Gnome), quais podem ser instaladas no HD ou
um completo DVD com diversos aplicativos. Um CD contendo
adicionais software proprietário e um CD contendo arquivos para
internacionalização (para linguas menos comuns) também estão
disponível. Esta versão não inclui assistencia tecnica, nem manuais
impressos.

[editar] Versões do openSUSE


[editar] Séries 10.x

A versão inicial estável do projeto comunitário openSUSE era o SUSE Linux 10.0,
lançado em 6 de outubro de 2005.[4] Foi liberado como uma imagem ISO de livre
download e numa caixa contendo a versão comercial, que incluia determinados
aplicativos exclusivos.[5]

Em 11 de maio de 2006, o projeto comunitário openSUSE lançou o SUSE Linux 10.1,


conforme anúncio em lista de discussão identificando Xgl, NetworkManager,
AppArmor e Xen como proeminentes destaques.[6]

Em sua terceira versão, o projeto comunitário openSUSE renomeou a distribuição,


lançando o openSUSE 10.2 em 7 de dezembro de 2006. Entre as diversas áreas que
foram enfocadas pelos desenvolvedores neste esforço, destacam-se a reformatação dos
menus usados para acessar programas no KDE e no GNOME, a mudança para o ext3
como o sistema de arquivo padrão, o suporte para leitores internos de cartões de
memória Secure Digital card, geralmente usados em câmeras digitais; a melhora do
power management framework, possibilitando que uma quantidade maior de
computadores possa entrar em estado de suspensão ao invés de desligar e inicializar,
além do melhora do gerenciador de pacotes. Nesta versão também figurava a versão 2.0
do Mozilla Firefox.

A quarta versão, openSUSE 10.3, foi considerada estável em 4 de outubro de 2007.[7] A


revisão do software do sistema gerenciador de pacotes (incluindo suporte para 1-Click-
Install), o suporte legal de MP3 através do Fluendo e a melhora no tempo de
inicialização foram algumas das áreas enfocadas nesta revisão.

[editar] Séries 11.x

O openSUSE 11.0 foi lançado em 19 de junho de 2008. Tendo sido incluída a última
versão do GNOME e duas versões do KDE (antiga, estável, 3.5.9 e a nova 4.0.4).[8][9]
Apresentou-se em três versões de livre download: Uma instalação completa em DVD
(incluindo GNOME, KDE3, e KDE4), e dois Live CDs (GNOME e KDE4
respectivamente). O KDE3 Live CD não foi produzido, contudo, devido a seus
limitados recursos.[9] A instalação e o gerenciamento de pacotes tornaram-se
significativamente mais rápidos com o ZYpp.[10]

O openSUSE 11.1 foi lançado no Pirate Bay em 12 de dezembro de 2008. As


atualizações incluem o GNOME 2.24.1, o KDE 4.1.3 + KDE 3.5.10, o OpenOffice.org
3.0, o VirtualBox 2.0.6, o Compiz 0.7.8 e o Zypper 1.0.1, continuação do melhoramento
no software update stack, X.Org 7.4 e o Linux 2.6.27.7.[11]

O openSUSE 11.2 foi lançado em 12 de novembro de 2009.[12] Incluiu KDE 4.3,


GNOME 2.28, Mozilla Firefox 3.5, OpenOffice.org 3.1, suporte melhorado a redes
sociais, atualização do sistema de arquivo para Ext4 como padrão, além de suporte para
Btrfs, suporte na instalação para total encriptação de disco, melhorias significativas no
YaST e zypper, e todas as imagens ISO híbridas, tendo suporte atualizado para boot por
USB e CD-ROM.[13]

[editar] Histórico das versões

O openSUSE tem, em teoria, um ciclo de desenvolvimento de oito meses e um tempo


de vida útil (duração das atualizações críticas) de dois anos a partir da data de
lançamento.[14]

Cor Legenda

Vermelh Versão antiga não mais


o suportado

Versão antiga no fim do


Amarelo
suporte

Verde Versão atual

Azul Versão futura

Nome da Vers Data de Versão do


Suportada até
Distribuição ão lançamento Linux

3/94 ??/03/1994 1.0.0 ?.?.?

7/94 ??/07/1994 1.2.9 ?.?.?

SuSE Linux 11/94 ??/11/1994 ?.?.? ?.?.?

(baseada no 4/95 ??/04/1995 1.2.9 ?.?.?


Slackware)
8/95 ??/08/1995 ?.?.? ?.?.?

11/95 ??/11/1995 ?.?.? ?.?.?


SuSE Linux 4.2 ??/05/1996 1.2.13 ?.?.?

4.3 ??/09/1996 ?.?.? ?.?.?

4.4 ??/05/1997 ?.?.? ?.?.?

5.0 ??/10/1997 2.0.30 ?.?.?

5.1 ??/10/1997 ?.?.? ?.?.?

23 de março de
5.2 2.0.33 ?.?.?
1998

10 de setembro
5.3 2.0.35 ?.?.?
de 1998

21 de dezembro 19 de março de
6.0 2.0.36
de 1998 2001[15]

7 de abril de 19 de março de
6.1 2.2.6
1999 2001[15]

12 de agosto de 19 de março de
6.2 2.2.10
1999 2001[15]

25 de novembro 10 de dezembro de
6.3 2.2.13
de 1999 2001[16]

9 de março de 17 de junho de
6.4 2.2.14
2000 2002[17]

27 de setembro 4 de novembro de
7.0 2.2.16
de 2000 2002[18]

24 de janeiro de 16 de maio de
7.1 2.2.18
2001 2003[19]

15 de junho de 1 de outubro de
7.2 2.4.4
2001 2003[20]

13 de outubro de 15 de dezembro de
7.3 2.4.9
2001 2003[21]

22 de abril de 30 de junho de
8.0 2.4.18
2002 2004[22]

30 de setembro 31 de janeiro de
8.1 2.4.19
de 2002 2005[23]

8.2 7 de abril de 2.4.20 14 de julho de


2003 2005[24]

15 de outubro de 15 de dezembro de
9.0 2.4.21
2003 2005[25]

23 de abril de 21 de julho de
9.1 2.6.4
2004 2006[26]

25 de outubro de 21 de novembro de
9.2 2.6.8
2004 2006[27]

16 de abril de 18 de junho de
SUSE Linux 9.3 2.6.11.4
2005 2007[28]

6 de outubro de 20 de dezembro de
10.0 2.6.13
2005 2007[29]

11 de maio de 13 de agosto de
10.1 2.6.16.13
2006 2008[30]

10.1bi 13 de outubro de 13 de agosto de


2.6.16.21
s 2006 2008[30]

7 de dezembro 16 de dezembro de
10.2 2.6.18.2
de 2006 2008[31]

4 de outubro de 13 de novembro de
10.3 2.6.22.5
2007 2009[32]

19 de junho de 30 de junho de
11.0 2.6.25.5
2008 2010[14][33]

18 de dezembro 31 de dezembro de
openSUSE 11.1 2.6.27.7
de 2008 2010[14]

12 de novembro 12 de maio de
11.2 2.6.31.5
de 2009 2011[14]

15 de julho de 15 de janeiro de
11.3 2.6.34
2010[14] 2012[14]

Março de
11.4 2.6.36 Março de 201x[34]
2011[14]

http://pt.wikipedia.org/wiki/OpenSUSE 14:19
Mac OS X
Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa

Mac OS X

Desenvolvedor: Apple Inc.

Modelo: Código fechado (com componentes de


código aberto)

Versão estável: Mac OS X v10.6.4 (Snow Leopard)

Família do SO: Unix-certified (Leopard Intel),[1][2] Unix-


like (todas as outras versões)

Núcleo: Baseado no núcleo Mach, núcleo híbrido

Licença: AP EULA

Desenvolvimento: Corrente

Website www.apple.com/macosx
www.apple.com/br/macosx/

Portal Tecnologias de informação

Mac OS X (pronuncia-se Mac OS Ten) é um sistema operacional proprietário baseado


no kernel Unix titulado OpenDarwin, desenvolvido, fabricado e vendido pela empresa
americana Apple, destinado exclusivamente aos computadores da linha Macintosh e que
combina a experiência adquirida com a tradicional GUI desenvolvida para as versões
anteriores do Mac OS com um estável e comprovado núcleo. A última versão do Mac
OS X possui certificação UNIX.

Assim, o Mac OS X, lançado inicialmente pela Apple Computer em 2001, é uma


combinação do Darwin (um núcleo derivado do micronúcleo Mach) com uma renovada
GUI chamada Aqua. As primeiras versões do Mach (não-micronúcleo) foram derivadas
do BSD.
Esquema exemplificando a arquitetura do sistema Mac OS X
Índice
[esconder]

• 1 Descrição
• 2 Versões
o 2.1 Mac OS X v10.0 "Cheetah"
o 2.2 Mac OS X v10.1 "Puma"
o 2.3 Mac OS X v10.2 "Jaguar"
o 2.4 Mac OS X v10.3 "Panther"
o 2.5 Mac OS X v10.4 "Tiger"
o 2.6 Mac OS X v10.5 "Leopard"
o 2.7 Mac OS X v10.6 "Snow Leopard"
o 2.8 Mac OS X v10.7 "Lion"
• 3 História
• 4 Ligações externas

• 5 Referências

[editar] Descrição
O Mac OS X apresenta uma grande mudança em relação aos sistemas operacionais
anteriores do Macintosh e o código que é a base do sistema é completamente diferente
do de versões anteriores. Apesar de a maioria das alterações estarem nos "bastidores" do
sistema operacional, a interface gráfica de usuário Aqua é o novo recurso mais visível.
O uso de bordas arredondadas, cores translúcidas e outros adereços trouxe mais cores e
texturas às janelas e controles do Desktop do que a interface Platinum do OS 9.
Inicialmente isso gerou bastante controvérsia entre os usuários, com uns alegando que a
interface tinha ficado "como um brinquedo" e com falta de profissionalismo; outros
alegando que era "outra grande inovação da Apple". O visual é instantaneamente
reconhecível e antes mesmo do lançamento da primeira versão do Mac OS X, outros
desenvolvedores começaram a produzir skins para aplicativos personalizáveis como o
Winamp para ficarem mais parecidos com o visual Aqua. A Apple ameaçou processar
pessoas que fazem ou distribuem programas que oferecem uma interface que eles dizem
ser derivada de seu design patenteado.

O núcleo do Mac OS X é um sistema operacional certificado Unix, construído em torno


de um núcleo XNU com recursos básicos Unix acessáveis por meio de uma interface de
linha de comando. Pouco antes do lançamento do Mac OS X a Apple lançou esse
núcleo como Darwin. Baseando-se nesse núcleo, a Apple projetou e desenvolveu um
número de componentes de código fechado (closed source) de licença proprietária,
incluindo a interface Aqua e o Finder (o sistema de gerenciamento de arquivos). A
combinação da interface amigável e o poder do núcleo open source Darwin/BSD
tornaram o Mac OS X o ambiente Unix mais bem vendido até hoje em número de
computadores vendidos.

Você também pode gostar