Académique Documents
Professionnel Documents
Culture Documents
Historia
En 1965, los laboratorios de telefona Bell (una divisin de A T&T) trabajaban
(Iunto con General Electric y el M.I.T. (Instituto Tecnolgico de Massachussets) en
el desarrollo de Multics, un proyecto para realizar un sistema operativo de grandes
prestaciones, multitarea y de tiempo compartido. Por diversas razones, Bell se
separ del grupo y Ken Thompson y Dennis Ritchie (empleados de Bell
Technologies) decidieron continuar independientemente con el proyecto para su
empresa. As pues, se dedicaron a desarrollar un sistema operativo que cumpliera
con la mayor parte de los requisitos del proyecto anterior pero con una
concepcin diferente, mucho ms simple.
En 1970, Ken Thompson implement una primera versin escrita en ensamblador,
en una PDP-7, y, a modo de burla hacia el Multics de la General Electrics, lo llam
UNIX. Posteriormente, en 1973 Dennis Ritchie desarroll junto a B.W. Kernighan
el lenguaje de programacin C y junto a Thompson rescribieron todo el cdigo
Sistemas Operativos 268 UNIX con este lenguaje.
En 1977, UNIX se port a otra arquitectura diferente a la de la PDP, gracias a que
para recompilarlo slo era necesario realizar los cambios pertinentes para
adaptarlo a la nueva arquitectura, manteniendo intacto el resto del cdigo. Este es
el concepto de sistema abierto que lo hizo triunfar. Adems, UNIX fue diseado
modularmente, es decir, se programaron multitud de sencillos mdulos genricos
que una vez interconectados eran capaces de realizar tareas complejas. Esto
permiti una fcil depuracin de sus errores y facilit la colaboracin entre
distintos
equipos de desarrollo.
En resumen, UNIX es uno de los sistemas operativos ms populares del mundo
debido a su extenso soporte, distribucin y, sobre todo, a su caracterstica de
sistema abierto. Originalmente fue desarrollado como sistema multitarea con
tiempo compartido para mini ordenadores y mainframes y, desde entonces, se ha
convertido en uno de los sistemas ms utilizados a pesar de su, ocasionalmente,
confusa interfaz con el usuario y el problema de su estandarizacin.
Por su parte, Linux es una versin de UNIX de libre distribucin, inicialmente
desarrollada por Linus Torvalds en la Universidad de Helsinki, en Finlandia. Ha
sido desarrollado con la colaboracin de muchos programadores y expertos de
UNIX a lo largo y ancho del mundo, gracias a la existencia de Internet. Cualquier
habitante del planeta puede acceder a Linux y desarrollar nuevos mdulos o
cambiarlo a su antojo.
El ncleo de Linux no utiliza ni una sola lnea del cdigo de A T &T o de cualquier
otra fuente de propiedad comercial y buena parte del software para Linux se
desarrolla bajo las reglas del proyecto de GNU de la Free Software Foundation.
Cambridge, Massachusetts.
Inicialmente, Linux fue un proyecto de aficionado de Linus Torvalds. Se inspiraba
en Minix, un pequeo UNIX de carcter fundamentalmente acadmico diseado
para microprocesadores de Intel de las familias 8086, 8088 y 80286 desarrollado
por Andrew Tanenbaum. La intencin de Linus Torvalds era la de mejorar MINIX
para aprovechar al mximo las caractersticas avanzadas del procesador 80386
de Intel como son la conmutacin de tareas en modo protegido y el coprocesador
matemtico.
El 5 de octubre de 1991, Linus anunci la primera versin oficial de Linux, La
0.02. Ya poda ejecutar bash (el shell de GNU) y gcc (el compilador de C de GNU),
pero no haca mucho ms. La intencin era ser un juguete para hackers. No haba
nada sobre soporte a usuarios, distribuciones, documentacin ni nada parecido.
Hoy, la comunidad de Linux an trata estos asuntos de forma secundaria. Lo
primero sigue siendo el desarrollo del kernel.
Actualmente, Linux es ya un clnico de UNIX completo, capaz de ejecutar
XWindow,
TCP/IP, Emacs, UUCP y software de correo y News, mucho software de
libre distribucin ha sido ya portado a Linux y estn empezando a aparecer
multitud de aplicaciones comerciales. El hardware soportado es mucho mayor que
en las primeras versiones del ncleo y abarca la prctica totalidad de arquitecturas
y perifricos.
Linux es, pues, una reimplementacin completamente gratuita de las
especificaciones POSIX, con extensiones de SYSV y BSD (lo cual significa que
parece UNIX pero no proviene del mismo cdigo fuente base), que est disponible
tanto en su versin fuente como ya compilada. El copyright pertenece a Linus B.
Torvalds (Linus.Torvalds@.Helsinki.FI) y otros colaboradores, y es libremente
redistribuible bajo las condiciones de la GNU Public License.
Arquitectura de UNIX y LINUX
El ncleo del Sistema Operativo
El ncleo del sistema operativo Unix (llamado Kernel) es un programa escrito casi
en su totalidad en lenguaje C, con excepcin de una parte del manejo de
interrupciones, expresada en el lenguaje ensamblador del procesador en el que
opera.
Las funciones del ncleo son permitir la existencia de un ambiente en el que sea
posible atender a varios usuarios y mltiples tareas en forma concurrente,
repartiendo al procesador entre todos ellos, e intentando mantener en grado
ptimo la atencin individual.
El Kernel opera como asignador de recursos para cualquier proceso que necesite
Proteccin de la memoria entre procesos, de manera que uno de ellos pueda colgar el sistema.
Carga de ejecutables por demanda: Linux slo lee de disco aquellas
partes de un programa que estn siendo usadas actualmente.
Poltica de copia en escritura (copy on write).
Memoria virtual usando paginacin (sin intercambio de procesos
completos) a disco.
La memoria se gestiona como un recurso unificado para los programas
de usuario y para la cach de disco.
Libreras compartidas de carga dinmica (DLL's).
Casi totalmente compatible con POS IX, System V y BSD a nivel fuente.
Cdigo fuente disponible, incluyendo el ncleo completo y todos los
drivers, las herramientas de desarrollo y todos los programas de usuario.