Núcleo Linux

Na Galipedia, a Wikipedia en galego.
Para o sistema operativo libre composto principalmente polo núcleo Linux e GNU, véxase GNU/Linux.
Linux Kernel
DesenvolvedorLinus Torvalds, e a comunidade de colaboradores ao redor do mundo.
Modelo de desenvolvementoDesenvolvemento iterativo, mediante código aberto e colaboración da comunidade.[1]
NúcleoMonolítico
Tipo de núcleoUnix-like
LicenzaGPL v2
Última versión estable3.9.3 19 de maio de 2013; hai 10 anos (2013-05-19)
Estado actualActivo
Sitio webLinux Kernel Arquives
Núcleo Linux

Linux é un núcleo libre de sistema operativo baseado en Unix.[2] É un dos principais exemplos de software libre e de código aberto.[3] Linux está licenciado baixo a GPL v2 e está desenvolvido por colaboradores de todo o mundo. O desenvolvemento do día a día ten lugar na Linux Kernel Mailing List Arquive

O núcleo Linux foi concibido polo entón estudante de ciencias da computación finlandés, Linus Torvalds, en 1991.[4] Linux conseguiu rapidamente desenvolvedores e usuarios que adoptaron códigos doutros proxectos de software libre para usalo co novo sistema operativo.[5] O núcleo Linux recibiu contribucións de miles de programadores de todo o mundo.[6] Normalmente Linux utilízase xunto a un empaquetado de software, chamado distribución Linux e servidores.

Historia[editar | editar a fonte]

En abril de 1991,[7] Linus Torvalds, de 21 anos, empezou a traballar nunhas simples ideas para un núcleo dun sistema operativo. Comezou cun intento por obter un núcleo de sistema operativo gratuíto similar a Unix que funcionase con microprocesadores Intel 80386. Logo, o 25 de agosto de 1991, Torvalds escribiu no grupo de noticias comp.vos.minix:[8]

"Estou a facer un sistema operativo (gratuíto, só un hobby, non será nada grande nin profesional como GNU) para clons AT 386(486). Levo niso desde abril e está a empezar a estar listo. Gustaríame saber a súa opinión sobre as cousas que lles gustan ou desgustan en minix, xa que a miña SO ten algún parecido con el.[...] Actualmente portei bash(1.08) e gcc(1.40), e parece que as cousas funcionan. Isto implica que terei algo práctico dentro duns meses..."

Despois disto, moitas persoas axudaron co código. En setembro de 1991 lanzouse a versión 0.01 de Linux. Tiña 10.239 liñas de código. En outubro dese ano(1991), lanzouse a versión 0.02 de Linux; logo, en decembro lanzouse a versión 0.11(1991). Esta versión foi a primeira en ser self-hosted (autoalbergada). É dicir, Linux 0.11 podía ser compilado por unha computadora que executase Linux 0.11, mentres que as versións anteriores de Linux se compilaban usando outros sistemas operativos. Cando lanzou a seguinte versión, Torvalds adoptou a GPL como o seu propio bosquexo de licenza, a cal non permitía a súa redistribución con outra licenza que non sexa GPL.

Iniciouse un grupo de noticias chamado alt.vos.linux e o 19 de xaneiro de 1992 publicouse nese grupo o primeiro post. O 31 de marzo, alt.vos.linux converteuse en comp.vos.linux. XFree86, unha implementación do X Window System, foi portada a Linux, a versión do núcleo 0.95 foi a primeira en ser capaz de executala. Este gran salto de versións (de 0.1x a 0.9x) foi pola sensación de que unha versión 1.0 acabada non parecía estar lonxe. Con todo, estas previsións resultaron ser un pouco optimistas: desde 1993 a principios de 1994, desenvolvéronse 15 versións diferentes de 0.99 (chegando á versión 0.99r15).

O 14 de marzo de 1994, lanzouse Linux 1.0.0, que constaba de 176.250 liñas de código. En marzo de 1995 lanzouse Linux 1.2.0, que xa estaba composto de 310.950 liñas de código.

O seu código fonte está dispoñible para descarga no sitio web oficial: http://www.kernel.org

Aspectos técnicos[editar | editar a fonte]

Arquitecturas[editar | editar a fonte]

Diagrama do núcleo 2.4.0.

Actualmente Linux é un núcleo monolítico híbrido. Os controladores de dispositivos e as extensións do núcleo normalmente execútanse nun espazo privilexiado coñecido como anel 0 (ring 0), con acceso irrestricto ao hardware, aínda que algúns se executan en espazo de usuario. A diferenza dos núcleos monolíticos tradicionais, os controladores de dispositivos e as extensións ao núcleo pódense cargar e descargar facilmente como módulos, mentres o sistema continúa funcionando sen interrupcións. Tamén, a diferenza dos núcleos monolíticos tradicionais, os controladores poden ser prevolcados (detidos momentaneamente por actividades máis importantes) baixo certas condicións. Esta habilidade foi agregada para xestionar correctamente interrupcións de hardware, e para mellorar o soporte de multiprocesamiento simétrico.

O feito de que Linux non fose desenvolvido seguindo o deseño dun micronúcleo (deseño que, naquela época, era considerado o máis apropiado para un núcleo por moitos teóricos informáticos) foi asunto dunha famosa e acalorada discusión entre Linus Torvalds e Andrew S. Tanenbaum.[13][14]

Xerarquía de directorios[editar | editar a fonte]

En Linux existe un sistema de arquivos que carga e contén todos os directorios, redes, programas, particiones, dispositivos etc. que o sistema sabe recoñecer, ou polo menos, identificar. Este sistema de ficheiros e directorios, ten como base ao carácter (/); ese mesmo carácter serve tamén para demarcar os directorios, por exemplo: "/home/usuario/imaxe.jpg". O directorio especificado por unha ruta consistente só por este carácter contén toda a xerarquía dos directorios que constitúen todo o sistema. A este directorio adoita chamarllo directorio raíz. En Linux, aos discos non se lles asigna unha letra como en Windows (p.e. "C:"), senón que se lles asigna un directorio da xerarquía do directorio raíz (/), por exemplo: "/media/floppy". É práctica común no sistema de ficheiros de Linux, utilizar varias sub-xerarquías de directorios, segundo as diferentes funcións e estilos de utilización dos arquivos.[15] Estes directorios poden clasificarse en:

  • Estáticos: Contén arquivos que non cambian sen a intervención do administrador (root), con todo, poden ser lidos por calquera outro usuario. (/bin, /sbin, /opt, /boot, /usr/bin...)
  • Dinámicos: Contén arquivos que son cambiantes, e poden lerse e escribirse (algúns só polo seu respectivo usuario e o root). Conteñen configuracións, documentos etc. Para estes directorios, é recomendable unha copia de seguridade con frecuencia, ou mellor aínda, deberían ser montados nunha partición á parte no mesmo disco, por exemplo, montar o directorio /home noutra partición do mesmo disco, independente da partición principal do sistema; desta forma, pode repararse o sistema sen afectar ou borrar os documentos dos usuarios. (/var/mail, /var/spool, /var/run, /var/lock, /home...)
  • Compartidos: Contén arquivos que se poden atopar nun computador e utilizarse noutro, ou mesmo compartirse entre usuarios.
  • Restrinxidos: Contén ficheiros que non se poden compartir, só son modificables polo administrador. (/etc, /boot, /var/run, /var/lock...)

Kernel panic[editar | editar a fonte]

Artigo principal: Kernel panic.
Kernel panic.

En Linux, un panic é un erro case sempre insalvable do sistema detectado polo núcleo en oposición aos erros similares detectados no código do espazo de usuario. É posible para o código do núcleo indicar estas condicións mediante unha chamada á función de pánico situada no arquivo header sys/system.h. Con todo, a maioría das alertas son o resultado de excepcións no código do núcleo que o procesador non pode manexar, como referencias a direccións de memorias inválidas. Xeralmente isto é indicador da existencia dun bug nalgún lugar da cadea de alerta. Tamén poden indicar un fallo no hardware como un fallo da RAM ou erros nas funcións aritméticas no procesador, ou por un erro no software. En moitas ocasións é posible reiniciar ou apagar adecuadamente o núcleo mediante unha combinación de teclas como ALT+SysRq+REISUB.

Linguaxes de programación[editar | editar a fonte]

Linux está escrito na linguaxe de programación C, na variante utilizada polo compilador GCC (que introduciu un número de extensións e cambios ao C estándar), xunto a unhas pequenas seccións de código escritas co linguaxe ensamblador. Polo uso das súas extensións á linguaxe, GCC foi durante moito tempo o único compilador capaz de construír correctamente Linux. Con todo, Intel afirmou modificar o seu compilador C de forma que permitise compilarlo correctamente.

Así mesmo úsanse moitos outras linguaxes nalgunha forma, basicamente na conexión co proceso de construción do núcleo (o método a través do cal as imaxes arrancables son creadas desde o código fonte). Estes inclúen a Perl, Python e varias linguaxes shell scripting. Algúns drivers tamén poden ser escritos en C++, Fortran, ou outras linguaxes, pero isto non é aconsellable. O sistema de construción de Linux oficialmente só soporta GCC como núcleo e compilador de controlador.

Portabilidade[editar | editar a fonte]

Ipod executando un núcleo Linux.

Aínda cando Linus Torvalds non ideou orixinalmente Linux como un núcleo portable, evolucionou nesa dirección. Linux é agora de feito, un dos núcleos máis amplamente portados, e funciona en sistemas moi diversos que van desde iPAQ (unha handheld) até un zSeries (un mainframe masivo). Está planeado que Linux sexa o sistema operativo principal das novas supercomputadoras de IBM, Blue Gene cando o seu desenvolvemento complétese.

De todos os xeitos, é importante notar que os esforzos de Torvalds tamén estaban dirixidos a un tipo diferente de portabilidade. Segundo o seu punto de vista, a portabilidad é a habilidade de compilar facilmente nun sistema aplicacións das orixes máis diversas; así, a popularidade orixinal de Linux debeuse en parte ao pouco esforzo necesario para ter funcionando as aplicacións favoritas de todos, xa sexan GPL ou de Código aberto.

As arquitecturas principais soportadas por Linux son DEC Alpha, ARM, AVR32, Blackfin, ETRAX CRIS, FR-V, H8, IA64, M32R, m68k, MicroBlaze, MIPS, MN10300, PA-RISC, PowerPC, System/390, SuperH, SPARC, x86, x86 64 e Xtensa[16]

Arquitectura de máquina virtual[editar | editar a fonte]

O núcleo Linux pode correr sobre moitas arquitecturas de máquina virtual, tanto como host do sistema operativo ou como cliente. A máquina virtual usualmente emula a familia de procesadores Intel x86, aínda que nalgúns casos tamén son emulados procesadores de PowerPC ou ARM.

Formatos binarios soportados[editar | editar a fonte]

Linux 1.0 admitía só o formato binario a.out. A seguinte serie estable (Linux 1.2) agregou a utilización do formato ELF, o cal simplifica a creación de bibliotecas compartidas (usadas de forma extensa polos actuais ambientes de escritorio como GNOME e KDE). ELF é o formato usado de forma predeterminada polo GCC desde ao redor da versión 2.6.0. O formato a.out actualmente non é usado, convertendo a ELF no formato binario utilizado por Linux na actualidade.

Linux ten a capacidade de permitir ao usuario engadir o manexo doutros formatos binarios. Tamén binfmt_misc permite correr o programa asociado a un arquivo de datos.

Versións[editar | editar a fonte]

Máis aló de desenvolver o seu propio código e de integrar os cambios realizados por outros programas, Linus Torvalds continua lanzando novas versións do núcleo Linux. Estes son chamados núcleos ?vanilla?, o que significa que non foron modificados por ninguén.

Numeración[editar | editar a fonte]

A versión do núcleo Linux orixinal constaba de catro números. Por exemplo, asumamos que o número da versión está composta desta forma: A.B.C[.D] (ex.: 2.2.1, 2.4.13 ó 2.6.12.3).

  • O número A denota a versión do núcleo. É o que cambia con menor frecuencia e só faio cando se produce un gran cambio no código ou no concepto do núcleo. Historicamente só foi modificado tres veces: en 1994 (versión 1.0), en 1996 (versión 2.0) e en 2011 (versión 3.0).
  • O número B denota a subversión do núcleo.
Antes da serie de Linux 2.6.x, os números pares indicaban a versión ?estable? lanzada. Por exemplo unha para uso de fabricación, como o 1.2, 2.4 ó 2.6. Os números impares, en cambio, como a serie 2.5.x, son versións de desenvolvemento, é dicir que non son consideradas de produción.
Comezando coa serie Linux 2.6.x, non hai gran diferenza entre os números pares ou impares con respecto ás novas ferramentas desenvolvidas na mesma serie do núcleo. Linus Torvalds ditaminou que este será o modelo no futuro.
  • O número C indica unha revisión maior no núcleo. Na forma anterior de versións con tres números, isto foi cambiado cando se implementaron no núcleo os parches de seguridade, bugfixes, novas características ou drivers. Coa nova política, só é cambiado cando se introducen novos drivers ou características; cambios menores reflíctense no número D.
  • O número D produciuse cando un grave erro, que require dun arranxo inmediato, atopouse no código NFS da versión 2.6.8. Con todo, non había outros cambios como para lanzar unha nova revisión (a cal fose 2.6.9). Entón lanzouse a versión 2.6.8.1, co erro arranxado como único cambio. Con 2.6.11, isto foi adoptado como a nova política de versións. Bug-fixes e parches de seguridade son actualmente manexados polo cuarto número deixando os cambios maiores para o número C.

Tamén, algunhas veces logo das versións pode haber algunhas letras como ?rc1? ou ?mm2?. O ?rc? refírese a release candidate e indica un lanzamento non oficial. Outras letras usualmente (pero non sempre) fan referencia ás iniciais da persoa. Isto indica unha bifurcación no desenvolvemento do núcleo realizado por esa persoa, por exemplo ck refírese a Con Kolivas, ac a Alan Cox, mentres que mm refírese a Andrew Morton.

O modelo de desenvolvemento para Linux 2.6 foi un cambio significativo desde o modelo de desenvolvemento de Linux 2.5. Previamente existía unha rama estable (2.4) onde se produciron cambios menores e seguros, e unha rama inestable (2.5) onde estaban permitidos cambios maiores. Isto significou que os usuarios sempre tiñan unha versión 2.4 a proba de fallos e co último en seguridade e case libre de erros, aínda que tivesen que esperar polas características da rama 2.5. A rama 2.5 foi eventualmente declarada estable e renombrada como 2.6. Pero no canto de abrir unha rama 2.7 inestable, os desenvolvedores de núcleos elixiron continuar agregando os cambios na rama ?estable? 2.6. Desta forma non había que seguir mantendo unha rama vella pero estable e podíase facer que as novas características estivesen rapidamente dispoñibles e puidésense realizar máis probas co último código.

Con todo, o modelo de desenvolvemento do novo 2.6 tamén significou que non había unha rama estable para aqueles que esperaban seguridade e bug fixes sen necesitar as últimas características. Os arranxos só estaban na última versión, así que se un usuario quería unha versión con todos os bug fixed coñecidos tamén tería as últimas características, as cales non foran ben probadas. Unha solución parcial para isto foi a versión xa mencionada de catro números (e en 2.6.x.e), a cal significaba lanzamentos puntuais creados polo equipo estable (Greg Kroah-Hartman, Chris Wright, e quizais outros). O equipo estable só lanzaba actualizacións para o núcleo máis recente, con todo isto non solucionou o problema do faltante dunha serie estable de núcleo. Distribuidores de Linux, como Red Hat e Debian, manteñen os núcleos que saen cos seus lanzamentos, de forma que unha solución para algunhas persoas é seguir o núcleo dunha distribución.

Como resposta á falta dun núcleo estable e de xente que coordinase a colección de corrección de erros, en decembro de 2005 Adrian Bunk anunciou que continuaría lanzando núcleos 2.6.16 aínda cando o equipo estable lanzase 2.6.17. Ademais pensou en incluír actualizacións de controladores, facendo que o mantemento da serie 2.6.16 sexa moi parecido ás vellas regras de mantemento para a serie estables como 2.4. O núcleo 2.6.16 será substituído proximamente polo 2.6.27 como núcleo estable en mantemento durante varios anos.

Dado o novo modelo de desenvolvemento, que mantén fixa a subversión de 2.6, tras durante o Linux Kernel Summit dese ano, Linus Torvalds decidiu modificar o sistema de numeración, substituíndo os dous primeiros números por unha única cifra, de forma que Linux 2.6.39 foi seguida por Linux 3.0 [17]

Datas de publicación[editar | editar a fonte]

Versión Data[18] Nota Ficheiros[19] LoC[20] MiB MiB (bz2)
0.01 17 de setembro de 1991 Initial Public Release 88 8.413 0,267 0,06
0.02 5 de outubro de 1991 - -
0.11 8 de decembro de 1991 100 11.907 0,363 0,076
0.95 7 de marzo de 1992 122 19.200 0,533 0,111
1.0.0 13 de marzo de 1994 Primeira versión estable 561 170.581 4,633 0,969
1.1.0 6 de abril de 1994 Versión de desenvolvemento 561 170.320
1.2.0 6 de marzo de 1995 909 294.623
1.3.0 12 de xuño de 1995 Versión de desenvolvemento 992 323.581
2.0.0 9 de xuño de 1996 2.015 716.119 21,7 4,499
2.1.0 30 de setembro de 1996 Versión de desenvolvemento 1.727 735.736
2.2.0 26 de xaneiro de 1999 4.599 1.676.182
2.3.0 11 de maio de 1999 Versión de desenvolvemento 4.721 1.763.358
2.4.0 4 de xaneiro de 2001 8.187 3.158.560 96,8 18,79
2.5.0 23 de novembro de 2001 Versión de desenvolvemento 9.893 3.833.603
2.6.0 18 de decembro de 2003 15.007 5.475.685 170,7 31,7
2.6.25 16 de abril de 2008 23.810 8.396.250 258,8 46,4
2.6.30 10 de xuño de 2009 27.878 10.419.567 322,3 56,7
2.6.35 1 de agosto de 2010 33.315 12.250.679 376,2 66,1
3.0 22 de xullo de 2011 36.782 13.688.408 410,8 73,2

Distribucións[editar | editar a fonte]

Sharp Zaurus, un computador de peto con Linux.

Unha distribución Linux é un conxunto de software acompañado do núcleo Linux que se enfoca a satisfacer as necesidades dun grupo específico de usuarios. Deste xeito hai distribucións para fogares, empresas e servidores.

As distribucións son ensambladas por individuos, empresas ou outros organismos. Cada distribución pode incluír calquera número de software adicional, incluíndo software que facilite a instalación do sistema. A base do software incluído con cada distribución inclúe o núcleo Linux, na maioría dos casos as ferramentas GNU, ao que adoitan engadirse tamén multitude de paquetes de software.

As ferramentas que adoitan incluírse na distribución deste sistema operativo obtéñense de diversas fontes, e en especial de proxectos de software libre, como: GNU, GNOME (creado por GNU) e KDE. Tamén se inclúen utilidades doutros proxectos como Mozilla, Perl, Ruby, Python, PostgreSQL, MySQL, Xorg, case todas con licenza GPL ou compatibles con esta (LGPL, MPL).

Usualmente utilízase a plataforma X.Org Server, baseada na antiga XFree86, para soster a interface gráfica.

Copyright[editar | editar a fonte]

Inicialmente, Torvalds distribuíu Linux baixo os termos dunha licenza que prohibía a explotación comercial. Pero esta licenza foi substituída, pouco tempo despois, pola GNU GPL (versión 2 exclusivamente). Os termos desta última licenza permiten a distribución e venda de copias ou mesmo modificacións, pero require que todas as copias do traballo orixinal e traballos de autoría derivados do orixinal sexan publicados baixo os mesmos termos, e que o código fonte sempre poida obterse polo mesmo medio que o programa licenciado.

Torvalds referiuse a licenciar Linux baixo a GPL como "a mellor cousa que fixen" (en inglés, "the best thing I ever did").[21]

Con todo, a versión oficial do núcleo Linux contén firmware de código pechado[Cómpre referencia], por iso, o Proxecto Linux-libre, auspiciado pola FSFLA, publica e mantén versións modificadas do núcleo Linux ás que se lles quitou todo o software non libre.

Marca[editar | editar a fonte]

A día de hoxe, Linux é unha marca rexistrada de Linus Torvalds nos Estados Unidos.[22]

Até 1994 ninguén rexistrou a marca Linux nos Estados Unidos. O 15 de agosto de 1994 cando William R. Della Croce, Jr. rexistrou a marca Linux, pediu o pago de regalías aos distribuidores de Linux. En 1996, Torvalds e algunhas organizacións afectadas denunciaron a Della Croce e en 1997 o caso pechouse e a marca foi asignada a Torvalds.[23]

Desde entón, o Linux Mark Institute xestiona a marca. En 2005 o LMI enviou algunhas cartas a empresas distribuidoras de Linux esixindo o pago dunha cota polo uso comercial do nome. Isto é así porque a lexislación estadounidense esixe que o dono dunha marca deféndaa, polo que se tivo que pedir diñeiro por usar a marca Linux, algunhas compañías de forma totalmente voluntaria cumpriron coa devandita esixencia, a propósito de que devandito diñeiro se ía a usar para caridade ou defender a marca Linux.[24]

Críticas[editar | editar a fonte]

Soporte de hardware[editar | editar a fonte]

O núcleo Linux foi criticado con frecuencia por falta de controladores para certo hardware de computadoras de escritorio. Con todo, o progresivo incremento na adopción de Linux no escritorio mellorou o soporte de hardware por parte de terceiros ou dos propios fabricantes, provocando que, nos últimos anos, os problemas de compatibilidade redúzanse.

Empresas como IBM, Intel Corporation, Hewlett-Packard, Dell ou MIPS Technologies[25] teñen programadores no equipo de desenvolvedores do núcleo Linux que se encargan de manter os controladores para o hardware que fabrican. Este grupo de programadores tamén se lle suman os que prové grandes distribuidores de solucións Linux como Novell ou Red Hat.

Arquitectura monolítica[editar | editar a fonte]

Andy Tanenbaum escribiu o 29 de xaneiro de 1992:

...Linux é un sistema monolítico. Isto é retroceder un paso xigante cara á década de 1970. É como tomar un programa existente escrito en C e reescribilo en BASIC. Para min, escribir un sistema monolítico en 1991 é verdadeiramente unha idea pobre.[26]

Notas[editar | editar a fonte]

  1. LMKL.ORG - the Linux Kernel Mailing List Arquive, Sitio Oficial de Linux Kernel Mailing List.
  2. linux.org, ed. (2010). "What is Linux" (en inglés). Arquivado dende o orixinal o 27 de maio de 2010. Consultado o 11 de agosto de 2011. 
  3. Linus Torvalds (25 de setembro de 2006). "Re: GPLv3 Position Statement" (en inglés). Consultado o 22 de maio de 2013. 
  4. Marjorie Richardson (1 de novembro de 1999). "Interview: Linus Torvalds". Linux Journal (en inglés). Consultado o 20 de agosto de 2009. 
  5. "Free as in Freedom by Sam Williams. Ou'Reilly books, 2002". Oreilly.com. Consultado o 12 de novembro de 2010. 
  6. Greg Kroah-Hartman (abril de 2008). "Linux Kernel Development: How Fast it is Going, Who is Doing It, What They are Doing, and Who is Sponsoring It" (PDF) (en inglés). Arquivado dende o orixinal o 12 de setembro de 2019. Consultado o 24 de maio de 2013. Since 2005, over 3700 individual developers from over 200 different companies have contributed to the kernel. 
  7. "Sobre Linux". Linux.org. Consultado o 19 de xullo de 2012. 
  8. Linus Torvalds (25-08-1991) Message from discussion What would you like to see most in minix? Newsgroups: comp.vos.minix, Google Groups (en inglés).
  9. "Linux Kernel Data 2.6.28."
  10. "Linux Kernel Data 2.6.36."
  11. Linus Torvalds (30 de maio de 2011). "Linux 3.0-rc1". Arquivado dende o orixinal o 31 de maio de 2011. Consultado o 30 de maio de 2011. 
  12. Linus Torvalds (21 de xullo de 2011). "Linux 3 Pushed Out - Linus Torvalds Google Plus Profile". Consultado o 27 de xullo de 2011. 
  13. GNU/Linux Kernel Híbrido (en español)
  14. Resumo da afamada discusión entre Linus Torvalds e Andrew Tanenbaum Arquivado 08 de xuño de 2015 en Wayback Machine. (en inglés)
  15. Organización dos directorios en Linux[Ligazón morta]
  16. /pub/scm / linux/kernel/git/torvalds/linux-2.6.git / tree[Ligazón morta]
  17. 29 de maio de 2011, anuncio de Linux 3.0-rc1
  18. "Datas de publicación de Linux". Arquivado dende o orixinal o 27 de decembro de 2008. Consultado o 24 de maio de 2013. 
  19. Contados con "find -type f | wc -l"
  20. Lines of Code (Liñas de código), contados con "find -name *.[hcS] | xargs cat | wc -l"
  21. Yamagata, Hiroo (11-11-1997). "The Pragmatist of Free Software: Linus Torvalds Interview". Arquivado dende o orixinal o 26-12-2007. Consultado o 30-10-2011. 
  22. "Rexistro en Estados Unidos Non: 1916230". Oficina de Patentes e Marcas Comerciais de Estados Unidos. Consultado o 30-10-2011. 
  23. "Linux Timeline". Linux Journal. 31-05-2006. 
  24. "Linus gets tough on Linux trademark". 05-09-2005. Arquivado dende o orixinal o 12-04-2008. Consultado o 30-10-2011. 
  25. "Who writes Linux" (PDF). Agosto de 2009. Arquivado dende o orixinal (PDF) o 31 de xaneiro de 2010. Consultado o 24 de maio de 2013. 
  26. A. S. Tanenbaum (29-01-1992). "LINUX is obsolete". Grupo de novascomp.vos.minix. Consultado o 30-10-2011. 

Véxase tamén[editar | editar a fonte]

Outros artigos[editar | editar a fonte]

Ligazóns externas[editar | editar a fonte]