1. Linux Linux es, a simple vista, un Sistema Operativo. Es una implementación de libre distribución UNIX para computadoras personales (PC), servidores, y estaciones de trabajo. Fue desarrollado para el i386 y ahora soporta los procesadores, Pentium, Pentium Pro y Pentium II.
2. Características de Linux Multiprocesador: Soporte para sistemas con mas de un procesador esta disponible para Intel y SPARC. Funciona en modo protegido 386. Protección de la memoria entre procesos, de manera que uno de ellos no pueda colgar el sistema. Carga de ejecutables por demanda: Linux sólo lee del disco aquellas partes de un programa que están siendo usadas actualmente. Un sistema de archivos especial llamado UMSDOS que permite que Linux sea instalado en un sistema de archivos DOS. Soporte en sólo lectura de HPFS-2 del OS/2 2.1 Sistema de archivos de CD-ROM que lee todos los formatos estándar de CD-ROM. TCP/IP, incluyendo ftp, telnet, NFS, etc. Appletalk. Software cliente y servidor Netware. Lan Manager / Windows Native (SMB), software cliente y servidor. Diversos protocolos de red incluidos en el kernel: TCP, IPv4, IPv6, AX.25, X.25, IPX, DDP, Netrom, etc.
3. Historia El proyecto GNU, que se inició en 1983 por Richard Stallman; tiene como objetivo el desarrollo de un sistema operativo Unix completo y compuesto enteramente de software libre. La historia del núcleo Linux está fuertemente vinculada a la del proyecto GNU. En 1991 LinusTorvalds empezó a trabajar en un reemplazo no comercial para MINIX que más adelante acabaría siendo Linux. Cuando Torvalds liberó la primera versión de Linux, el proyecto GNU ya había producido varias de las herramientas fundamentales para el manejo del sistema operativo, incluyendo un intérprete de comandos, una biblioteca C y un compilador, pero como el proyecto contaba con una infraestructura para crear su propio núcleo (o kernel), el llamado Hurd, y este aún no era lo suficiente maduro para usarse, comenzaron a usar a Linux a modo de continuar desarrollando el proyecto GNU, siguiendo la tradicional filosofía de mantener cooperatividad entre desarrolladores.
4. "distribuciones" de GNU/Linux Una distribución es un modo de facilitar la instalación, la configuración y el mantenimiento de un sistema GNU/Linux. Al principio, las distribuciones se limitaban a recopilar software libre, empaquetarlo en disquetes o CD-ROM y redistribuirlo o venderlo. Ahora las grandes distribuciones -RedHat, SuSE, Caldera, Mandrake, Corel Linux, TurboLinux...- son potentes empresas que compiten entre sí por incluir el último software, a veces también software propietario, con instalaciones gráficas capaces de autodetectar el hardware y que instalan un sistema entero en unos cuantos minutos sin apenas preguntas.
5. Componentes Entorno gráfico: Linux puede funcionar tanto en entorno gráfico como en modo consola. Como sistema de programación: La colección de utilidades para la programación de GNU es con diferencia la familia de compiladores más utilizada en este sistema operativo. Aplicaciones de usuario: Las aplicaciones para Linux se distribuyen principalmente en los formatos.deb y.rpm, los cuales fueron creados por los desarrolladores deDebian y Red Hat respectivamente. Software de código cerrado para GNU/Linux: Durante la etapa temprana había pocas aplicaciones de código cerrado para GNU/Linux. Con el tiempo se fueron portando programas no libres al sistema GNU/Linux, entre ellos Adobe Reader, Adobe Flash, Google Picasa, Opera, entre otros.
6. Núcleo Linux El núcleo Linux fue concebido por el entonces estudiante de ciencias de la computación finlandés, LinusxTorvalds, en 1991. Linux consiguió rápidamente desarrolladores y usuarios que adoptaron códigos de otros proyectos de software libre para su uso en el nuevo sistema operativo. El núcleo Linux ha recibido contribuciones de miles de programadores.
7. Lenguaje de Programación 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 que permitiera compilarlo correctamente. Arquitectura de máquina virtual El núcleo Linux puede correr sobre muchas arquitecturas de máquina virtual, tanto como host del sistema operativo o como cliente. La máquina virtual usualmente emula la familia de procesadores Intel x86, aunque en algunos casos también son emulados procesadores de Power PC o AMD. Formatos binarios soportados Linux 1.0 admitía sólo el formato binario a.out. La siguiente serie estable (Linux 1.2) agregó la utilización del formato ELF, el cual simplifica la creación de bibliotecas compartidas (usadas de forma extensa por los actuales ambientes de escritorio como GNOME y KDE). ELF es el formato usado de forma predeterminada por el GCC desde alrededor de la versión 2.6.0. El formato a.out actualmente no es usado, convirtiendo a ELF en el formato binario utilizado por Linux en la actualidad.