Administración de Sistemas Operativos ACI495 Sistema Operativo LINUX • GNU/LINUX es un sistema operativo que se distribuye bajo la 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”. Sistema Operativo LINUX • 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. Sistema Operativo LINUX • 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. Un poco de historia… • 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. Sistema Operativo LINUX • 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. Un poco de historia… • 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,... Un poco de historia… • 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. Características de LINUX • 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. Características de LINUX • 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. Características de LINUX • 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. Características de LINUX • 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. Distribuciones GNU/LINUX • 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. Distribuciones GNU/LINUX • 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”. Distribuciones GNU/LINUX • 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. Distribuciones GNU/LINUX • 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. El kernel de GNU/LINUX • 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. El kernel de GNU/LINUX • 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. El kernel de GNU/LINUX El kernel de GNU/LINUX • 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“. El kernel de GNU/LINUX • ¿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. El kernel de GNU/LINUX • El sitio oficial para encontrar los kernels de LINUX es http://www.kernel.org/. Resumen • 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. Resumen • 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. Resumen • 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. Resumen • 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. Resumen • 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.