Buscar este blog

Mostrando entradas con la etiqueta linux. Mostrar todas las entradas
Mostrando entradas con la etiqueta linux. Mostrar todas las entradas

domingo, 21 de febrero de 2010

LINUX






¿QUE ES?




Linux es un sistema operativo libre tipo Unix.[1] Es usualmente utilizado junto a las herramientas GNU como interfaz entre los dispositivos de hardware y los programas usados por el usuario para manejar un computador.








HISTORIA




Linux fue creado por Linus Torvalds en 1991. Muy pronto, la comunidad de Minix (un clon de Unix), contribuyó en el código y en ideas para el núcleo Linux. Por aquel entonces, el Proyecto GNU ya había creado muchos de los componentes necesarios para conseguir un entorno operador con software libre, pero su propio sistema operativo, el llamado (GNU Hurd), se encontraba incompleto por lo que comenzaron a usar Linux. El día en que el proyecto GNU estime que Hurd es suficiente robusto y estable, será llamado a reemplazar a Linux.


En septiembre de 1991 se lanzó la versión 0.01 de Linux. Tenía 10.239 líneas de código. En octubre de ese año, se lanzó la versión 0.02 de Linux; luego, en diciembre se lanzó la versión 0.11. Esta versión fue la primera en ser self-hosted (autoalbergada). Es decir, Linux 0.11 podía ser compilado por una computadora que ejecutase Linux 0.11, mientras que las versiones anteriores de Linux se compilaban usando otros sistemas operativos. En septiembre de 1991 se lanzó la versión 0.01 de Linux. Tenía 10.239 líneas de código. En octubre de ese año, se lanzó la versión 0.02 de Linux; luego, en diciembre se lanzó la versión 0.11. Esta versión fue la primera en ser self-hosted (autoalbergada). Es decir, Linux 0.11 podía ser compilado por una computadora que ejecutase Linux 0.11, mientras que las versiones anteriores de Linux se compilaban usando otros sistemas operativos.




En mayo de 1996 Torvalds decidió adoptar al pingüino Tux como mascota para Linux.
La versión 2 de Linux se lanzó el 9 de junio de 1996 y fue un gran éxito. A éste le siguieron grandes desarrollos:
25 de enero de 1999: se lanzó Linux 2.2.0 con 1.800.847 líneas de código.
18 de diciembre de 1999: se publicaron parches de IBM Mainframe para 2.2.13, permitiendo de esta forma que Linux fuera usado en ordenadores corporativos.
4 de enero de 2001: se lanzó Linux 2.4.0 con 3.377.902 líneas de código.
17 de diciembre de 2003: se lanzó Linux 2.6.0 con 5.929.913 líneas de código.
24 de diciembre de 2008: se lanzó Linux 2.6.28 con 10.195.402 líneas de código.[5]
Actualmente se puede bajar el codigo fuente desde su sitio web oficial.








ASPECTOS TECNICOS




Arquitectura:


Actualmente Linux es un núcleo monolítico híbrido. Los controladores de dispositivos y las extensiones del núcleo normalmente se ejecutan en un espacio privilegiado conocido como anillo 0 (ring 0), con acceso irrestricto al hardware, aunque algunos se ejecutan en espacio de usuario. A diferencia de los núcleos monolíticos tradicionales, los controladores de dispositivos y las extensiones al núcleo se pueden cargar y descargar fácilmente como módulos, mientras el sistema continúa funcionando sin interrupciones. También, a diferencia de los núcleos monolíticos tradicionales, los controladores pueden ser prevolcados (detenidos momentáneamente por actividades más importantes) bajo ciertas condiciones. Esta habilidad fue agregada para gestionar correctamente interrupciones de hardware, y para mejorar el soporte de multiprocesamiento simétrico.





LENGUAJES DE PROGRAMACION


Linux está escrito en el lenguaje de programación C, en la variante utilizada por el compilador GCC (que ha introducido un número de extensiones y cambios al C estándar), junto a unas pequeñas secciones de código escritas con el lenguaje Ensamblador. Por el uso de sus extensiones al lenguaje, GCC fue durante mucho tiempo el único compilador capaz de construir correctamente Linux. Sin embargo, Intel afirmó haber modificado su compilador C de forma de poder compilarlo correctamente.
Asimismo se usan muchos otros lenguajes en alguna forma, básicamente en la conexión con el proceso de construcción del núcleo (el método a través del cual las imágenes boteables son creadas desde el código fuente). Estos incluyen a
Perl, Python y varios lenguajes shell scripting. Algunos drivers también pueden ser escritos en C++, Fortran, u otros lenguajes, pero esto no es aconsejable. El sistema de construcción de Linux oficialmente solo soporta GCC como núcleo y compilador de controlador.