|
|
|
|
Administración de Sistemas Operativos
| ||
| Inicio ASO | Aula Virtual |
Contenido |
A lo largo de su existencia, son numerosos los acontecimientos que han rodeado al sistema operativo Unix. Destaquemos a continuación de una forma no exhaustiva y cronológicamente algunos de estos acontecimientos.
A finales de los años 60, los laboratorios Bell (ATT) y el MIT estaban desarrollando el S.O. MULTICS para un GE645. En el 1969, Ken Thompson empieza a escribir Unix en lenguaje ensamblador para una PDP-7, como sistema operativo para desarrollo de programas en el entorno de investigación dentro de Bell-Labs. En 1971, se rescribe para un PDP-11/20 pero es en el año 1973 cuando Dennis Ritchie, junto con Thompson, reescriben el sistema UNIX en el lenguaje de programación C, lo que lo convierte en un S.O. fácil de transportar a otros sistemas.
En 1975 se crea el grupo de usuarios USENIX. Además, en este mismo año, Western Electric da las primeras licencias de uso de Unix a varias instituciones académicas con objetivos educacionales. Se estandariza su uso en las universidades americanas.
En 1980, Microsoft desarrolla Xenix, la versión comercial de Unix para microcomputadoras de 16 bits; pero hay que esperar hasta el año 1983, para que ATT anunciase la primera versión estándar comercial: el Unix System V. A partir de esos momentos han ido apareciendo diversas variantes entre las que cabe destacar el Unix de Berkeley 4.2 BSD, el cuál a su vez está basado en el Unix 32V de Bell-Labs.
Si quieres concer mejor la historia de GNU/Linux te recominedo que veas el siguiente documental.
La estructura básica del S.O. Unix podemos verla en la figura 1. El kernel, capa más interna en la figura, es el núcleo del sistema operativo Unix. Se encarga de secuenciar los procesos, reservar espacio de memoria y de disco, supervisar la transmisión de datos entre memoria principal y periféricos, y satisfacer las peticiones de servicios de los procesos existentes.
El kernel nunca trabaja directamente para los usuarios. Todos los servicios los proporciona el shell o los programas de utilidades (ambos actúan de interfaz entre los usuarios y el Kernel).
Para requerir un servicio del sistema operativo se utiliza lo que se denomina llamadas al sistema (system calls). Las llamadas al sistema lo que hacen es conmutar la máquina de modo usuario al modo kernel (también llamado modo núcleo o supervisor) y transfieren el control al sistema operativo. Se puede ver la existencia de estos modos como un esquema de protección ya que en modo núcleo se pueden ejecutar todas las instrucciones, mientras que en modo usuario las instrucciones de E/S, por ejemplo, y otras no están permitidas. Sólo se permiten algunas instrucciones como las relacionadas con las operaciones aritméticas, de acceso a memoria principal, etc. Por ello, los programas de usuario se ejecutan en modo usuario y el sistema operativo se ejecuta en modo núcleo.
El shell es el intérprete de órdenes y se encuentra por encima del kernel. Se encarga de interpretar las órdenes y convertirlas en peticiones al kernel. Normalmente se incluye con cualquier sistema operativo Unix distintos tipos de shell, lo que permite poder elegir el que más se adapte a nuestras necesidades.
La capa más externa está formada por utilidades para la manipulación de ficheros, lenguajes de programación, utilidades de depuración de código, aplicaciones de usuarios, etc.
Son muchas las caracterÃsticas que podemos encontrar en el sistema operativo UNIX, pero entre ellas destacamos las siguientes:
Linux fue concebido por el finlandés Linus Torvalds, estudiante de la Universidad de Helsinki, quién comenzó trabajando sobre el código fuente de Minix (un pequeño UNIX desarrollado por Andy Tanembaum) para lograr un Unix mÃnimo, capaz de ejecutar al menos un shell y un compilador. Primero fue la versión 0.02 ya que la 0.01 nunca llego a ser compilada con éxito. Luego Linus anunció en Internet su proyecto de la siguiente manera:
"Si suspiras al recordar aquellos dÃas cuando lo hombres eran hombres y escribÃan sus propios manejadores (drivers). Si te sientes sin ningún proyecto interesante y te gustarÃa tener un verdadero sistema operativo que pudieras modificar a placer. Si te resulta frustrante tener sólo Minix. Entonces este artÃculo es para ti"
De esa forma Linux fue liberado en Internet y la respuesta de los programadores y usuarios de UNIX fue contundente. Pronto todos querÃan aportar sus conocimientos para que Linux se convirtiera en un sistema operativo estable, robusto y potente. Finalmente llego la primera versión estable del Kernel la versión 1.0. De allà en adelante Linux fue evolucionando a un ritmo vertiginoso hasta convertirse en un fuerte rival de los actuales sistemas operativos.
Como hemos dicho antes, Linux se desarrollo a partir de los sistemas UNIX. Por tal motivo Linux posee las caracterÃsticas principales asà como la arquitectura de los sistemas UNIX.
A partir de ese momento los sistemas GNU/Linux han evolucionado contÃnuamente a través de las aportaciones de empresas y de los usuarios de Internet. Al ser código abierto, se han creado muchas distribuciones para personalizarlas a sus necesidades.
Las distribuciones más importantes son fedora, debian, ubuntu (no necesariamente en ese orden). A continuación puedes ver una lÃnea temporal de las diferentes distribuciones GNU/Linux que han ido apareciendo.
Una de las ventajas principales de los sistemas GNU/Linux es que aprovecha perefectamente los recursos hardware de cualquier sistema. A continuación, a modo de ejmplo, se pueden ver algunos dipositivos que utilizan GNU/Linux y que sin duda estan revolucionando el mercado: