2. El kernel es el corazón del sistema
operativo, lo que conocemos como LINUX,
es solamente el kernel.
El resto del sistema, SHELL, utilitarios,
sistemas de ventanas, son lo que
conocemos como herramientas GNU, por
tanto un nombre más adecuado para
nuestros sistemas sería GNU/LINUX.
3. GNU/LINUX es un sistema operativo que se
distribuye bajo una licencia pública general
GNU.
LINUX es propiedad y creación de Linus B.
Torvalds y muchas otras personas que han
aportado software pero, “todo es libremente
distribuible y gratis bajo los términos de la
licencia pública de GNU”.
4. Las variantes de estos sistemas se
denominan “distribuciones“ y su objetivo es
ofrecer una edición que cumpla con las
necesidades de determinado grupo de
usuarios.
5. LINUX originalmente fue creado por Linus
Torvalds en la Universidad de Helsinki en
Finlandia. Su nombre proviene del núcleo
Linux desarrollado por Linus desde 1991.
Se inicio como un pequeño proyecto
inspirado en MINIX (mini UNIX desarrollado
por Andy Tanembaum).
Linus trató de crear un mejor MINIX y en
poco tiempo ya trabajaba en LINUX.
6. Entonces, el núcleo creado por Linus
Torvalds, llenó el hueco final que el sistema
operativo GNU exigía.
Linus nunca anunció la versión 0.01 de
Linux (agosto 1991), esta versión no era
ejecutable, solamente incluía los principios
del núcleo del sistema, estaba escrita en
lenguaje ensamblador y asumía que se tenía
acceso a un sistema MINIX para su
compilación.
7. El 5 de octubre de 1991, Linus anuncio la
primera versión "Oficial" de LINUX, -versión
0.02. Con esta versión Linus pudo ejecutar
BASH y GCC (el GNU Compiller Collection -
el compilador GNU del lenguaje C) pero no
mucho mas funcionaba. En este estado de
desarrollo ni se pensaba en los términos
soporte, documentación, distribución,...
8. Después de la versión 0.03, Linus salto en
la numeración hasta la 0.10, mas y mas
programadores a lo largo y ancho de
INTERNET empezaron a trabajar en el
proyecto y después de sucesivas revisiones,
Linus incremento el número de versión
hasta la 0.95 (Marzo 1992). Mas de un año
después (diciembre 1993) el núcleo del
sistema estaba en la versión 0.99 y la
versión 1.0 no llego hasta el 14 de marzo
de 1994.
9. Multitarea – Habilidad de ejecutar varios
programas al mismo tiempo.
Multiusuario – Habilidad de atender a
muchos usuarios a la vez.
Multiplataforma – Habilidad de utilizar
muchas y variadas plataformas.
Multiprocesador – Habilidad para soportar
sistemas con más de un procesador.
10. Funciona en modo protegido 386. Corre en
modo protegido en un procesador 386 o
superior.
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 ejecutadas.
11. Reducción de cache. El cache se reduce al
correr programas grandes.
Robusto. Tiene protección de memoria
entre procesos de manera que un programa
no puede hacer caer al sistema.
Emulación de 387. En el kernel se emula un
coprocesador matemático y los programas
no necesitan hacer esta emulación,
incrementándose así la velocidad.
12. Memoria compartida. Múltiples procesos
pueden compartir la misma memoria por lo
que, la velocidad se incrementa y el uso de
memoria se decrementa.
Kernel monolítico. El kernel contiene todos
los drivers y dispositivos.
Software gratis. Existen algunos programas
comerciales sin códigos fuentes que
también son libremente distribuidos y que
se pueden obtener en INTERNET.
13. GNU/LINUX es un sistema de libre
distribución por lo que se pueden encontrar
todos los archivos y programas necesarios
para su funcionamiento en multitud de
servidores conectados a INTERNET.
La tarea de reunir todos los archivos y
programas necesarios, así como instalarlos
en el sistema y configurarlo, puede ser una
tarea bastante complicada y no apta para
muchos.
14. Por esto mismo, nacieron las llamadas
“distribuciones“ de GNU/LINUX.
“Una distribución no es otra cosa, que una
recopilación de programas y archivos,
organizados y preparados para su
instalación que utilizan el núcleo de LINUX
como base”.
15. Una distribución contiene el kernel LINUX,
bibliotecas y paquetes de software. Es un
conjunto de aplicaciones LINUX preparadas
para que el usuario las pueda instalar (o
ejecutar) de forma sencilla.
Algunas distribuciones LINUX se pueden
utilizar sin instalar nada en el computador.
Se les llama LiveCD. Se graban en un CD y
se insertan en el computador.
16. Las distribuciones LiveCD suelen ejecutarse
más lentamente, ya que funcionan desde el
CD, y obviamente no es posible guardar los
datos de tu sesión.
Suelen incluir la opción de instalar la
distribución.
Es una forma de probar LINUX en tu
computador y si te gusta, instalar el sistema
completo.
17. El kernel linux tiene un diseño monolítico,
es decir, es una sola pieza de software que
actúa como el corazón del sistema
operativo.
Sin embargo, con el paso de los años, ha
adquirido un toque modular, y hoy en día
se pueden inyectar características al kernel
en tiempo de ejecución a través de los
llamados módulos, que vienen a ser el
equivalente a los “drivers” de MS WINDOWS.
18. Las funciones más importantes del kernel,
aunque no las únicas, son:
Administración de la memoria para todos
los programas y procesos en ejecución.
Administración del tiempo de procesador
que los programas y procesos en ejecución
utilizan.
Es el encargado de que podamos acceder al
hardware del computador de una manera
cómoda.
20. Configurar el kernel de LINUX no es una
tarea sencilla, se necesita conocer el
hardware con el que se está trabajando.
Por otra parte, no todos necesitan
recompilar o reconfigurar el kernel. Esta
tarea está reservada a quienes quieren
obtener un mejor performance en sus
máquinas, hacer ajustes finos a la
configuración del kernel, o bien quienes
simplemente no están a gusto con los
llamados "Stock Kernels“.
21. ¿Cuál sería el motivo para no usar un Stock
Kernel si funciona todo mi hardware en él?.
Simple, un Stock Kernel es un kernel
configurado de forma genérica, en él deben
funcionar la mayor cantidad de dispositivos
posibles. Como consecuencia de esto, los
Stock Kernel son kernels grandes y algunas
veces más lentos que un kernel optimizado
para nuestro hardware.
22. El sitio oficial para encontrar los kernels de
LINUX es http://www.kernel.org/.
23. El proyecto GNU pretende ser un entorno
computacional completo de uso libre; debe
incluir un sistema operativo avanzado,
herramientas de desarrollo, hojas de
cálculo, gestores de bases de datos,
editores y procesadores de textos, juegos y
otros programas típicos que un usuario de
un computador pueda necesitar.
24. Además de la extraordinaria potencia y
versatilidad del software GNU, uno de los
mayores atractivos es su condición de
software libre (Freeware). Esto significa que
GNU puede ser utilizado y distribuido sin
ningún tipo de cargo.
Todo el software GNU está disponible con
código fuente. La modificación de este
código fuente por parte de un usuario debe
hacerse bajo las condiciones de GNU.
25. La Licencia Pública General de GNU o más
conocida por su nombre en inglés GNU
General Public License o simplemente sus
siglas del inglés GNU GPL, es una licencia
creada por la Free Software Foundation en
1989 (la primera versión), y está orientada
principalmente a proteger la libre
distribución, modificación y uso de software.
Su propósito es declarar que el software
cubierto por esta licencia es software libre y
protegerlo de intentos de apropiación que
restrinjan esas libertades a los usuarios.
26. El software libre (en inglés free software, aunque
esta denominación también se confunde a veces
con "gratis" por la ambigüedad del término en el
idioma inglés, por lo que también se usa "libre
software") es la denominación del software que
respeta la libertad de los usuarios sobre su
producto adquirido y, por tanto, una vez
obtenido puede ser usado, copiado, estudiado,
modificado y redistribuido libremente. Según la
Free Software Foundation, el software libre se
refiere a la libertad de los usuarios para ejecutar,
copiar, distribuir, estudiar, modificar el software
y distribuirlo modificado.
27. Tampoco debe confundirse software libre con
"software de dominio público". Este Último es
aquel software que no requiere de licencia, pues
sus derechos de explotación son para toda la
humanidad, porque pertenece a todos por igual.
Cualquiera puede hacer uso de el, siempre con
fines legales y consignando su autoría original.
Este software será aquel cuyo autor lo dona a la
humanidad o cuyos derechos de autor han
expirado, tras un plazo contado desde la muerte
de este, habitualmente 70 años. Si un autor
condiciona su uso bajo una licencia, por muy
débil que sea, ya no es del dominio público.
28. De acuerdo con tal definición, un software es
"libre" cuando garantiza las siguientes libertades:
La libertad de usar el programa, con cualquier
propósito.
La libertad de estudiar como funciona el
programa y modificarlo, adaptándolo a tus
necesidades.
La libertad de distribuir copias del programa, con
lo cual puedes ayudar a tu prójimo.
la libertad de mejorar el programa y hacer
públicas esas mejoras a los demás, de modo que
toda la comunidad se beneficie.
29.
30. Código abierto es el término con el que se
conoce al software distribuido y desarrollado
libremente. El código abierto tiene un punto
de vista más orientado a los beneficios
prácticos de compartir el código que a las
cuestiones éticas y morales las cuales
destacan en el llamado software libre.
31. La idea bajo el concepto de código abierto es
sencilla: cuando los programadores (en
Internet) pueden leer, modificar y redistribuir
el código fuente de un programa, este
evoluciona, se desarrolla y mejora. Los
usuarios lo adaptan a sus necesidades,
corrigen sus errores a una velocidad
impresionante, mayor a la aplicada en el
desarrollo de software convencional o
cerrado, dando como resultado la producción
de un mejor software.
32. La idea del código abierto se centra en la
premisa de que al compartir el código, el
programa resultante tiende a ser de calidad
superior al software propietario, es una visión
técnica. Por otro lado, el software libre tiene
tendencias filosóficas e incluso morales: el
software propietario, al no poder
compartirse, es "antitético" dado que prohibir
compartir entre seres humanos va en contra
del sentido común.
33. Al igual que el software libre, el código
abierto u open source tiene una serie de
requisitos necesarios para que un programa
pueda considerarse dentro de este
movimiento, estos son:
Libre redistribución: el software debe poder
ser regalado o vendido libremente.
Código fuente: el código fuente debe estar
incluido u obtenerse libremente.
Trabajos derivados: la redistribución de
modificaciones debe estar permitida.
34. Integridad del código fuente del autor: las
licencias pueden requerir que las
modificaciones sean redistribuidas solo como
parches.
Sin discriminación de personas o grupos:
nadie puede dejarse fuera.
Sin discriminación de áreas de iniciativa: los
usuarios comerciales no pueden ser
excluidos.
Distribución de la licencia: deben aplicarse
los mismos derechos a todo el que reciba el
programa
35. La licencia no debe ser especifica de un
producto: el programa no puede licenciarse solo
como parte de una distribución mayor.
La licencia no debe restringir otro software: la
licencia no puede obligar a que algún otro
software que sea distribuido con el software
abierto deba también ser de código abierto.
La licencia debe ser tecnológicamente neutral: no
debe requerirse la aceptación de la licencia por
medio de un acceso por clic de ratón o de otra
forma especifica del medio de soporte del
software.
36. Resumen de la clase
En primer lugar, se establecen los antecedentes históricos de LINUX
que lo sitúan como descendiente de los sistemas operativos UNIX
(usualmente se le denomina clon de UNIX).
Se establecen las principales características de LINUX: multiusuario,
multitarea, de tiempo compartido, multiplataforma, etc.
LINUX es el nombre del kernel del sistema operativo GNU/LINUX.
GNU/LINUX es un sistema de libre distribución, distribuido bajo
licencia GPL de GNU. Esto contribuye a que existan una gran
cantidad de “distribuciones”.
Una distribución contiene el kernel LINUX, bibliotecas y paquetes de
software. Es un conjunto de aplicaciones LINUX preparadas para que
el usuario las pueda instalar (o ejecutar) de forma sencilla.
37. Resumen de la clase
Entre las distribuciones mas notables, podemos nombrar: Red Hat,
Suse, Debian, Slackware, entre otras.
El kernel linux tiene un diseño monolítico, sin embargo, con el paso
de los años, ha adquirido un toque modular.
El kernel que viene por defecto en las distribuciones se denomina
“stock kernel”. Un “stock kernel” es un kernel configurado de forma
genérica, en él deben funcionar la mayor cantidad de dispositivos
posibles.
El proyecto GNU pretende ser un entorno computacional completo
de uso libre.
GNU/LINUX puede ser utilizado y distribuido sin ningún tipo de
cargo.
Todo el software GNU está disponible con código fuente. La
modificación de este código fuente por parte de un usuario debe
hacerse bajo las condiciones de GNU.