Capitulo 02 - Filosofía Linux y Conceptos

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 11

Capítulo 2: La filosofía de Linux y Conceptos

Introducción/ Objetivos de aprendizaje

Te has preguntado de dónde provino Linux?


En este capítulo, vamos a discutir la historia de Linux, la filosofía, la
comunidad, y los componentes de una distribución de Linux.
Empecemos.

Objetivos de aprendizaje
Para el final de este capítulo, deberías ser capaz de:
 Comprender la historia y la filosofía de Linux.
 Describir la comunidad Linux.
 Definir los términos comunes asociados con Linux.
 Entender los componentes de una distribución de Linux.

Sección 1: Historia de Linux


Introducción
Linux es un sistema operativo libre, de código abierto desarrollado inicialmente
para los ordenadores personales
basados en Intel x86. Posteriormente
se ha trasladado a muchas otras
plataformas de hardware.
En esta sección, nos familiarizaremos
con la forma en que Linux evolucionó
a partir de un proyecto de estudiantes
en un esfuerzo masivo con un enorme
impacto en el mundo de hoy.
Historia de Linux
Linus Torvalds era un estudiante en
Helsinki, Finlandia, en 1991, cuando
empezó un proyecto: escribir su
propio kernel de sistema operativo.
También recogió y/o desarrolló
otros componentes esenciales
requeridos para construir un
sistema operativo completo, con su kernel en el centro. Esto pronto se hizo
conocido como el kernel de Linux.
En 1992, Linux fue re-licenciado usando the General Public License (GPL) y
GNU (un proyecto de la Free Software Foundation (FSF) que promueve el
software de libre distribución) que hizo posible el establecimiento de una
comunidad mundial de desarrolladores. Al combinar el núcleo con otros
componentes del sistema del proyecto GNU, numerosos desarrolladores
crearon sistemas completos que se llaman distribuciones de Linux en los
mediados de los 90.

Más sobre la Historia de Linux


Las distribuciones de Linux creadas
en la década de los 90 fueron la
base para la computación
totalmente libre y se convirtieron en
la fuerza impulsora del movimiento
del software de código abierto. En
1998, las principales compañías
como IBM and Oracle anunciaron
soporte para la plataforma Linux y
también comenzaron los principales
esfuerzos de desarrollo.
Hoy día, Linux funciona en más de
la mitad de los servidores de
Internet, la mayoría de los
smart-phones (via Android el cual
se basa en el sistema Linux), y casi
todos los superordenadores más potentes del mundo.
Sección 2: Filosofía Linux
Introducción
Cada organización o proyecto tiene una filosofía que trabaja como guía
mientras se elaboran sus objetivos y se delinea su senda de crecimiento. Esta
sección contiene una descripción de la filosofía de
Linux y cómo esta filosofía ha impactado en su
desarrollo.
Linux está siendo constantemente renovado y
mantenido por una red de desarrolladores de
todo el mundo colaborando a través de Internet,
con Linus Torvalds a la cabeza. La habilidad
técnica y el deseo de contribuir son los únicos
requisitos para participar.

Filosofía Linux
Linux se inspira en gran medida en el sistema
operativo UNIX, ya que fue escrito para ser una
versión de código libre y abierto de UNIX. Los
archivos se almacenan en un sistema de ficheros
jerárquico, con un nodo superior, raíz o root o
simplemente "/". Siempre que sea posible, Linux
hace que sus componentes se encuentren
disponibles a través de archivos u objetos que se parecen a los archivos.
Procesos, dispositivos y sockets de red están todos representados por objetos
de tipo fichero, y, a menudo se puede trabajar con ellos con el uso de las
mismas utilidades que se utilizan para los archivos normales.
Linux es un totalmente multitarea (multitasking) (se realizan múltiples
tareas durante el mismo período de tiempo), es multiusuario (multiuser),
con conexión en red incorporada y servicio de procesos conocidos como
daemons en el mundo de UNIX.

Utilizamos Linux todos los días, ya sea que lo sepamos o no. Más de 850.000
teléfonos Android que ejecutan Linux se activan diariamente.
Comparemos eso con sólo 30.000 teléfonos con Windows según los últimos
informes. Eso significa que un centenar de dispositivos Android se han puesto
en línea sólo desde que empezó a leer este capítulo. Cerca de 700.000
televisores se venden todos los días la mayor parte de los cuales están
ejecutando Linux. Ocho de cada diez operaciones financieras son llevadas a
cabo en sistemas con Linux. Nueve de cada diez de los superordenadores del
mundo utilizan Linux.
Google, Twitter, Facebook, y Amazon operan con Linux. Entonces ¿cómo se
desarrolló Linux para lograr todo esto? A diferencia de otros sistemas
operativos como Windows o iOS, Linux está construido en colaboración entre
empresas, geografías y mercados que resultan en el mayor proyecto de
colaboración en el desarrollo de la historia de la computación.
Sólo desde el año 2005, alrededor de 8000 desarrolladores de casi 800
empresas han contribuido al kernel de Linux. Estas contribuciones se han
traducido en 15 millones de líneas de código, 1,5 millones de líneas escritas en
sólo el último par de años. Tengamos en cuenta que el poema épico La Ilíada
de Homero consta de 15.000 líneas de texto, la novela La Guerra y la Paz, sólo
560.000 palabras. Pero no se trata sólo de las escarpadas líneas de código, se
trata también de la rapidez con que Linux es desarrollado y actualizado. Por
ejemplo, un importante kernel nuevo sale cada dos o tres meses. Compare
esto con los años para los sistemas operativos competidores.
Esto es posible gracias a un proceso de desarrollo único de colaboración. Al
presentar el código para el kernel de Linux, los desarrolladores fraccionan los
cambios en unidades individuales denominadas patchs (parches).
Un patch está constituido por las líneas de códique que necesitan ser
cambiadas, añadidas o eliminadas del código fuente. Cada patch puede añadir
una nueva característica, nuevo soporte para algún dispositivo, solucionar un
problema, mejorar el rendimiento, o reelaborar el texto para ser más fácil de
entender. Los desarrolladores publican sus patchs en la lista de correo
pertinente para que otros desarrolladores puedan proveer feedback.
Cuando el patch está cerca listo para ser liberado, es aceptado por un
programador senior del kernel de Linux o personal de mantenimiento, que
gestiona uno o más de un centenar de diferentes secciones del núcleo. Esto no
es garantía de que va a formar parte del código, es sin duda una buena señal.
Aquí se hace una evaluación aún más extensa. Cuando la persona finaliza la
revisión del patch, él o ella termina su sesión en el parche y lo envía al creador
de Linux, y miembro de la Fundación Linux, Linus Torvalds, quien tiene la
máxima autoridad en lo que se acepta en la próxima versión, y lo que no.
Cerca de 10.000 parches van en cada nueva versión; aproximadamente 6
parches se aplican a un núcleo en cada hora.
La tasa de desarrollo de Linux es simplemente incomparable. Hoy en día, Linux
está dominando en los dispositivos móviles, en la empresa y la infraestructura
web, data centers, la supercomputación y más. ¿Qué sigue? Juntos estamos
listos.
Section 3: Comunidad de Linux
Introducción
Supongamos que, como parte de su trabajo tiene
que configurar un servidor de archivos de Linux, y
se encuentra con algunas dificultades. Si no es
capaz de averiguar la respuesta usted mismo o
conseguir la ayuda de un compañero de trabajo,
sólo la comunidad Linux podría salvar el día! Hay
muchas maneras de participar con la comunidad
Linux: se puede publicar preguntas en los foros
de discusión pertinentes, suscribirse a hilos de
discusión, e incluso unirse a los grupos locales de Linux en su área.

Era agosto de 1991 y un estudiante de informática de 20 años llamado Linus


Torvalds se sentó frente a su computadora en Helsinki para publicar lo que
ahora es una de las entradas más famosas de la historia del ordenador, "Hola a
todos por ahí... Estoy haciendo un sistema operativo libre (sólo un hobby, no
será nada grande y profesional como GNU) ... probablemente no será otra cosa
que un soporte para los discos duros AT, ya que eso es todo lo que tengo ... "
Palabras de proyectos de código abierto Linux se extendieron rápidamente por
todo el mundo y desarrolladores de todo contribuyeron con su código. Linus
nombró a su sistema operativo kernel de Linux y muestra un pingüino como
mascota después de un pequeño incidente en el zoológico.
Pronto tomó una decisión muy importante, que forma el futuro de Linux, tanto
como la tecnología. Eligió la licencia GPL creada por un visionario llamado
Richard Stallman.
El kernel de Linux junto con la licencia GPL y otros componentes de GNU
revolucionaron la industria de la computación con libertades muy simples pero
muy importantes: la libertad de usar el programa para cualquier propósito.
La libertad de cambiar el software para satisfacer las necesidades individuales.
La libertad de compartir el software con sus amigos y vecinos, y la libertad de
compartir los cambios que realice.
Estas ideas radicales impulsaron su propagación en todo el mundo, y un tanto
paradójicamente, su ascenso desde un hobby y experimento a la fundación de
un ecosistema comercial grande y próspero.
Las empresas construyen negocio en torno a Linux. En 1999, las acciones de
Red Hat se triplicaron, ya que se convirtió en la primera compañía de Linux
cotizando en la bolsa. Ese mismo año, IBM gastó un billón de dólares para
mejorar y hacer publicidad de Linux.
Pronto Linux fue llamando a los pesos pesados de la industria, impulsando el
aumento de su uso software libre con el auge de Internet. En resumen, Linux
ha revolucionado la informática.
Cuando algo es perturbador, está obligado a competir en fuego cruzado, pero
Linux no sólo sobrevivió, sino que prosperó. Hoy en día los números de la
comunidad de desarrollo del kernel son miles y cientos de empresas colaboran
en el desarrollo de Linux.
Cada tres meses otra versión de Linux se libera. Entonces ¿dónde está Linux
hoy en día?
Corriendo en el 75% de las bolsas de valores en todo el mundo, potenciando
los servidores de Amazon, Facebook, Twitter, eBay y Google. Se utiliza Linux,
literalmente, cada vez que navegamos por Internet. Está en nuestro teléfono,
en el televisor, se ejecuta el 95% de los superordenadores y en muchos de los
dispositivos que se utilizan todos los días.
Linux está en todas partes y el programador de Helsinki que lo empezó todo?
Organiza este ejército de desarrolladores desde la oficina en su casa en
Portland, Oregón, como miembro de la Fundación Linux.

Más sobre La Comunidad Linux


La comunidad de Linux es un ecosistema de gran alcance que consiste en
desarrolladores, administradores de sistemas, usuarios y proveedores, que
utilizan muchos foros diferentes para conectarse entre sí. Entre los más
populares estan:
 Linux User Groups (tanto locales como online)
 Internet Relay Chat (IRC) software (tales como Pidgin y XChat)
 Comunidades Online y foros de discusión
 Newsgroups y mailing lists
 Eventos de la Comunidad (tal como LinuxCon y ApacheCon)
Una de las más poderosas comunidades de usuarios en línea es linux.com. Este
sitio lo mantiene la Fundación Linux y atiende a más de un millón de
visitantes únicos cada mes. Tiene secciones activas en:
 Noticias
 Comunidades de discusión
 Tutoriales gratuitos y consejos de usuarios (user tips)
Nos referiremos varias veces en este curso a los artículos o tutoriales
relevantes en este sitio.

Sección 4: Terminología Linux

Introducción
Cuando comiences a explorar Linux, pronto
encontrarás algunos términos desconocidos
como distribución, gestor de arranque, entorno
de escritorio, etc. Así que vamos a parar y
echar un vistazo a algunos de los términos
básicos utilizados en Linux para ayudarte a
ponerte en marcha antes de continuar.

Antes de comenzar a utilizar Linux, es necesario ser conscientes de algunos


términos básicos como kernel (núcleo), distribution (distribución), boot loader
(gestor de arranque), service (servicio), filesystem (sistema de archivos),
X Window system, desktop environment (entorno de escritorio), y command
line (línea de comandos). Estos términos son utilizados con mucha frecuencia
por la comunidad Linux.
El kernel es considerado el cerebro del sistema operativo Linux. Controla el
hardware y hace que el hardware interactúe con las aplicaciones. Un ejemplo
de un kernel es el kernel de Linux. El kernel más reciente de Linux, junto con
últimos kernels de Linux, se pueden encontrar en el sitio web kernel.org.
Una distribución también se conoce como Distro es una colección de
programas que combinados con el núcleo Linux hacen un sistema operativo
basado en Linux. Algunos ejemplos comunes de una distribución son Red Hat
Enterprise Linux, Fedora, Ubuntu, y Gentoo.
El boot loader, como su nombre lo indica, es un programa que arranca el
sistema operativo. Dos ejemplos de gestor de arranque son GRUB e ISOLINUX.
Un servicio es un programa que se ejecuta como un proceso en segundo plano.
Algunos ejemplos de servicios son httpd, nfsd, ntpd, ftpd y named.
El filesystem (sistema de archivos) es un método para almacenar y organizar
los archivos en Linux. Algunos ejemplos de sistemas de archivos son ext3,
ext4, FAT, XFS y Btrfs.
El X Window system proporciona el conjunto de herramientas estándar y el
protocolo para construir interfaces gráficas de usuario en casi todos los
sistemas Linux.
El desktop environment (entorno de escritorio) es una interfaz gráfica de
usuario en la parte superior del sistema operativo. GNOME, KDE, Xfce y
Fluxbox son algunos ejemplos del entorno de escritorio.
La línea de comandos es una interfaz para escribir comandos en la parte
superior del sistema operativo.
El Shell es el intérprete de la línea de comandos (command line) que interpreta
la entrada de la línea de comandos e instruye al sistema operativo para llevar
a cabo las tareas y comandos necesarios. Por ejemplo, bash, tcsh and zsh.

Sección 5: Distribuciones Linux

Introducción
Supongamos que ha sido asignado a un proyecto
de construcción de un producto para una
plataforma Linux. Los requisitos del proyecto
incluyen asegurarse que el proyecto funcione
correctamente en las distribuciones de Linux más
utilizadas. Para lograr esto es necesario para
aprender acerca de los diferentes componentes,
servicios y configuraciones asociadas con cada distribución. Estamos a punto
de ver cómo tendría que ir haciendo exactamente eso.

Distribuciones Linux

Entonces, ¿qué es una distribución de Linux y cómo se relaciona con el núcleo


de Linux?
Como se ilustra arriba, el kernel de Linux es el corazón del sistema operativo
del ordenador. Una distribución Linux (Linux distribution) completa consiste
en el kernel más un número de otras herramientas de software para las
operaciones relacionadas con archivos, gestión de usuarios, y la gestión de
paquetes de software. Cada una de estas herramientas proporciona una
pequeña parte del sistema completo. Cada herramienta es a menudo un propio
proyecto independiente, con sus propios desarrolladores trabajando para
perfeccionar esa pieza del sistema.

Más información acerca de distribuciones de Linux

Como se mencionó anteriormente, el kernel actual de Linux, junto con últimos


kernels de Linux (así como las versiones anteriores a la actual) se pueden
encontrar en el sitio web www.kernel.org. Las distintas Distribuciones de Linux
pueden estar basadas en diferentes versiones del núcleo. Por ejemplo, la muy
popular distribución RHEL 6 se basa en la versión 2.6.32 del kernel de Linux,
que es bastante antiguo pero muy estable. Otras distribuciones pueden
adoptar más rápidamente las últimas versiones del kernel. Es importante tener
en cuenta que el kernel no es una proposición de todo o nada, por ejemplo,
RHEL 6 ha incorporado muchas de las mejoras más recientes del kernel en su
versión de 2.6.32.
Otros ejemplos de herramientas e ingredientes esenciales proporcionados por
las distribuciones incluyen el compilador C/C++, el debugger gdb, las
bibliotecas del kernel del sistema, las aplicaciones necesitan enlazar con la
interfaz de bajo nivel para dibujar gráficos en la pantalla, así como el de alto
nivel del entorno de escritorio, y el sistema para la instalación y la
actualización de los diferentes componentes, incluyendo el propio núcleo.

Servicios asociados con Distribuciones

Una amplia variedad de distribuciones de Linux se adaptan a diferentes


públicos y organizaciones en función de sus necesidades específicas. Las
grandes organizaciones comerciales tienden a favorecer a las distribuciones de
soporte comercial de Red Hat, SUSE y Canonical (Ubuntu).
CentOS es una alternativa popular y gratuita de Red Hat Enterprise Linux
(RHEL). Ubuntu y Fedora son populares en el ámbito educativo. Scientific
Linux se ve favorecida por la comunidad de investigación científica para su
compatibilidad con los paquetes de software de científicos y matemáticos.
Tanto CentOS como Scientific Linux son binarios-compatible con RHEL; es
decir, los paquetes binarios de software en la mayoría de los casos se
instalarán correctamente en estas distribuciones.
Muchos distribuidores comerciales, incluyendo Red Hat, Ubuntu, SUSE, y
Oracle, proporcionan soporte a largo plazo para sus distribuciones, así como la
certificación de hardware y software. Todos los grandes distribuidores ofrecen
servicios de actualización para mantener su sistema con las últimas
actualizaciones en cuanto a seguridad, corrección de errores y mejoras de
rendimiento, también proporcionan recursos de apoyo en línea.
Sumario
Has completado este capítulo. Vamos a resumir
los conceptos clave cubiertos.
 Linux se inspira en gran medida en el sistema
operativo UNIX, con el que sus creadores eran
versados.
 Linux accede a muchas características y servicios
a través de archivos y objetos de tipo fichero.
 Linux es un sistema operativo totalmente
multitarea, multiusuario, con conexión en red
incorporada y servicio de procesos conocidos como daemons
 Linux es desarrollado por una confederación de desarrolladores de todo el
mundo, colaborando a través de Internet, con Linus Torvalds a la cabeza. La
habilidad técnica y el deseo de contribuir son los únicos requisitos para
participar
 La comunidad de Linux es un rico ecosistema formado por desarrolladores,
proveedores y usuarios que dan soporte y hace avanzar el sistema operativo
Linux
 Algunos de los términos comunes utilizados en Linux son: Kernel, Distribution,
Boot loader, Service, Filesystem, X Window system, desktop environment, y
command line.
 Una distribución completa de Linux consiste en el kernel más un número de
otras herramientas de software para las operaciones relacionadas con archivos,
gestión de usuarios, y la gestión de paquetes de software.

También podría gustarte