Usuario:Larocka/Linux kernel
Linux es el núcleo de sistema operativo libre más popular y constituye la base del sistema operativo Linux (también llamado GNU/Linux), que ha comenzado a competir con sistemas operativos proprietarios como Unix y Windows.
El núcleo Linux, escrito casi completamente en C con algunas extensiones GNU C, fue desarrollado por el hacker finlandés Linus Torvalds en un intento por obtener un sistema operativo libre similar a Unix que funcionara con microprocesadores Intel 80386. El proyecto nació en 1991 con un famoso mensaje en el grupo comp.os.minix de Usenet, que contenía esta oración:
"Estoy haciendo un sistema operativo (libre) (sólo un hobby, no será nada grande y profesional como gnu) para clones AT 386(486)..."
Puedes encontrar el texto completo del mensaje aquí.
Muy pronto, los hackers de Minix aportaron ideas y código al núcleo Linux, y hasta hoy ha recibido contribuciones de miles de programadores.
Originalmente Linux era solamente el nombre del núcleo. El término "núcleo" (en inglés kernel) propiamente dicho se refiere al software de sistema de bajo nivel que provee una capa de abstracción sobre el hardware, control de discos y sistema de archivos, multitarea, balance de carga, comunicación en red y medidas de seguridad. Un núcleo no es un sistema sperativo completo (tal y como se entiende el término normalmente). El sistema completo construído alrededor del núcleo Linux es conocido usualmente como el sistema operativo Linux, aunque hay quienes prefieren llamar GNU/Linux al sistema completo. La gente confunde a menudo núcleo con sistema operativo, llegando a ciertas inferencias incorrectas, como suponer por ejemplo, que Torvalds programa/coordina otros componentes del sistema, además del núcleo.
Torvalds ha continuado liberando nuevas versiones del núcleo, consolidando aportes de otros programadores y haciendo cambios por su cuenta. Todas las versiones de Linux que tienen el número de sub-versión (el segundo número) par, pertenecen a la serie "estable", por ejemplo: 1.0.x, 1.2.x, 2.0.x, 2.2.x, 2.4.x y actualmente 2.6.x, mientras que las versiones con sub versión impar, como la serie 2.5.x, son versiones de desarrollo, es decir que no son consideradas de producción. Mientras que Torvalds continúa liberando las últimas versiones de desarrollo, el mantenimiento de las rama "estables", siempre algo mas viejas, ha sido delegada a otros programadores, incluyendo a David Weinehall (2.0), Alan Cox (2.2) y Marcelo Tosatti (2.4). Además de estas versiones "oficiales" del núcleo, es posible obtener versiones "alternativas" en otras fuentes. Los encargados de las Distribuciones de Linux, normalmente mantienen sus propias versiones del núcleo, que a veces incluyen por ejemplo, controladores que no han sido incorporados a la versión oficial.
La versión inestable actual, 2.5, ha llegado a su final, con la creación de la serie llamada 2.6.0-test (a Noviembre de 2003). Cuando finalice la serie 2.6.0-test, será liberado el núcleo 2.6.0 oficial. La serie 2.6 ya contiene muchas mejoras sobre la versión estable anterior: 2.4. Entre ellas se destaca la posibilidad de correr una nueva copia del núcleo Linux sobre Linux, en Espacio de Usuario, de algún modo similar a una máquina virtual, usando Linux en Modo Usuario.
La mascota de Linux es un pingüio llamado Tux, creado por Larry Ewing.
Arquitectura
[editar]Hoy por hoy, Linux es un núcleo monolítico híbrido. Los controladores de dispositivos y las extensiones del núcleo normalmente corren en anillo 0 (ring 0), con acceso completo al hardware, aunque algunas corren en espacio de usuario. A diferencia de los núcleos monolíticos, los controladores de dispositivos se cargan fácilmente como módulos, y pueden cargarse y quitarse con el sistema funcionando. También a diferencia de los núcleos monolíticos estándar, los controladores pueden ser pre-volcados bajo ciertas condiciones. Esta habilidad fue agregada para manejar correctamente interrupciones de hardware, y para mejorar el soporte de Multiprocesamiento Simétrico.
El hecho de que Linux no es un microkernel fue asunto de una famosa y acalorada discusión entre Linus Torvalds y Andy Tanenbaum; puede verse un resumen de la discusión en http://www.dina.dk/~abraham/Linus_vs_Tanenbaum.html
El código fuente completo de varias versiones del núcleo Linux puede encontrarse en http://lxr.linux.no.
Portabilidad
[editar]Aún cuando Linus Torvalds no ideó originalmente Linux como un sistema portable, ha evolucionado en esa dirección. Linux es ahora de hecho, uno de los núcleos de sistema opertivo mas ampliamente portados (rigurosamente, NetBSD ha sido portado a un mayor número de plataformas), y funciona en sistemas tan diversos que van desde iPAQ (una handheld) hasta IBM S/390 (un mainframe masivo, muy costoso). Está planeado que Linux sea el sistema operativo principal de las nuevas supercomputadoras de IBM, Blue Gene cuando su desarrollo se complete.
De todos modos, es importante notar que los esfuerzos de Torvalds también estaban dirigidos a un tipo diferente de portabilidad. Según su punto de vista, la portabilidad es la habilidad de compilar fácilmente en un sistema aplicaciones de los orígenes más diversos; así, la popularidad original de Linux se debió en parte al poco esfuerzo necesario para tener funcionando las aplicaciones favoritas de todos, ya sean GPL o de Código Abierto.
Linux funciona actualmente en las siguientes plataformas:
- Acorn: Archimedes, A5000 y las series RiscPC: (ARM, StrongARM, Intel XScale etc.)
- AMD64: Procesadores de AMD con tecnología de 64-bits (conocidos inicialmente como x86-64)
- Axis Communications: CRIS
- Compaq: Alpha
- Hewlett Packard: familia PA-RISC
- Hitachi: SuperH (SEGA Dreamcast), H8/300
- IA-64: PCs con teconnología de 64-bits Intel Itanium
- IBM: S/390
- Intel: 80386 y superiores: IBM PCs y compatibles: 80386, 80486, la serie Pentium completa; AMD Athlon, Duron, Thunderbird; las series Cyrix. El soporte para microprocesadores Intel 8086, 8088, 80186, 80188 e 80286 está siendo desarrollado (véase el proyecto ELKS)
- Microsoft: Xbox
- MIPS: estaciones Silicon Graphics, Inc., ...
- Motorola: 68020 y superiores: modelos nuevos de Amiga, algunas computadoras Apple
- NEC Corporation: v850e
- PowerPC y POWER: la mayoría de las nuevas Apple (todas las basadas en PCI Power Macintosh, soporte limitado para las viejas NuBus Power Macs), clones de Power Mac vendidos por Power Computing, UMAX y Motorola, Amigas mejorados con placas "Power-UP" (como Blizzard o CyberStorm), IBM RS/6000, sistemas iSeries y pSeries, numerorsas plataformas PowerPC embebidas
- Sony: PlayStation 2
- SPARC y UltraSparc: puestos de trabajo Sun, y sus clones hechos por Tatung y otros
Términos de la Licencia
[editar]Inicialmente, Torvalds liberó Linux bajo una licencia que prohibía la explotación comercial. Pero pronto fue cambiada por la Licencia Pública General de GNU (versión 2 exclusivamente). Esta licencia permite la distribución e incluso la venta de copias o incluso modificaciones, pero requiere que todas esas copias sean liberadas bajo los mismos términos y acompañadas con el código fuente.
Torvalds se ha referido públicamente a la adhesión a la licencia GPL como "la mejor cosa que hice nunca". [1]
Véase también
[editar]- Revolution OS - un documental sobre la historia de Linux con entrevistas a hackers prominentes, incluído Linus Torvalds.
- Just For Fun (sólo por diversión): La historia de un Revolucionario Accidental - libro de Linus Torvalds y David Diamond sobre los inicios del núcleo Linux. - ISBN 0066620732 o ISBN 1587990806 (inglés)