Linux- Algoritmos (3)

7

Click here to load reader

Transcript of Linux- Algoritmos (3)

Page 1: Linux- Algoritmos (3)

Linux

Linux es un núcleo de sistema operativo libre tipo Unix.[ ]Es uno de los principales ejemplos de software libre y código abierto. Linux está licenciado bajo la GPL v2 y está desarrollado por colaboradores de todo el mundo.

Historia

LINUX hace su aparicion a principios de la decada de los noventa, era el año 1991 y por aquel entonces un estudiante de informatica de la Universidadde Helsinki, llamado Linus Torvalds de 21 años empezó a trabajar en unas simples ideas para un núcleo de sistema operativo., -como una aficion y sin poderse imaginar a lo que llegaria este proyecto, a programar las primeras lineas de codigo de este sistema operativo llamado LINUX.

Todo comenzó con un intento por obtener un núcleo de sistema operativo gratuito similar a Unix que funcionara con microprocesadores Intel 80386.

Este comienzo estuvo inspirado en MINIX, un pequeño sistema Unix desarrollado por Andy Tanenbaum. Las primeras discusiones sobre Linux fueron en el grupo de noticias comp.os.minix, en estas discusiones se hablaba sobre todo del desarrollode un pequeño sistema Unix para usuarios de Minix que querian mas.

Después de esto, muchas personas ayudaron con el código. En septiembre de 1991 se lanzó la versión 0.01 de Linux. En octubre de ese año, se lanzó la versión 0.02 de Linux; luego, en diciembre se lanzó la versión 0.11. Esta versión fue la primera en ser self-hosted (autoalbergada). Es decir, Linux 0.11 podía ser compilado por una computadora que ejecutase Linux 0.11, mientras que las versiones anteriores de Linux se compilaban usando otros sistemas operativos. Cuando lanzó la siguiente versión, Torvalds adoptó la GPL como su propio boceto de licencia, la cual no permitía su redistribución con otra licencia que no sea GPL.

En mayo de 1996 Torvalds decidió adoptar al pingüino Tux como mascota para Linux.

La versión 2 de Linux se lanzó el 9 de junio de 1996 y fue un gran éxito. A éste le siguieron grandes desarrollos:

25 de enero de 1999: se lanzó Linux 2.2.0 con 1.800.847 líneas de código.

Page 2: Linux- Algoritmos (3)

18 de diciembre de 1999: se publicaron parches de IBM Mainframe para 2.2.13, permitiendo de esta forma que Linux fuera usado en ordenadores corporativos.

4 de enero de 2001: se lanzó Linux 2.4.0 con 3.377.902 líneas de código.

17 de diciembre de 2003: se lanzó Linux 2.6.0 con 5.929.913 líneas de código.

24 de diciembre de 2008: se lanzó Linux 2.6.28 con 10.195.402 líneas de código.5

20 de octubre de 2010: se lanzó Linux 2.6.36 con 13.499.457 líneas de código.6

Linux frente a los otros sistemas operativos

Linux es una muy buena alternativa frente a los demás sistemas operativos. Más allá de las ventajas evidentes de costo, ofrece algunas características muy notables.

En comparación con las otras versiones de Unix para PC, la velocidad y confiabilidad de Linux son muy superiores. También está en ventaja sobre la disponibilidad de aplicaciones, ya que no hay mucha difusión de estos otros Unixes (como Solaris, XENIX o SCO) entre los usuarios de PC por sus altos costos.

Comparado con sistemas operativos como los diferentes MicrosoftWindows, Linux también sale ganando. Los bajos requisitos de hardware permiten hacer un sistema potente y útil de aquel 486 que algunos guardan en un armario. Esta misma característica permite aprovechar al máximo las capacidades de las computadoras más modernas. Es poco práctico tener una PC con 16 Mb de RAMy ponerle un sistema operativo que ocupa 13 (que es lo que reporta sobre Windows 95 el System Information de Symantec). No solo es superior respecto a el sistema de multitarea y de administraciónde memoria, sino también en la capacidades de networking (conectividad a redes) y de multiusuario (aún comparando con sistemas multiusuario como NT). La única desventaja de Linux frente a estos sistemas, es la menor disponibilidad de software, pero este problema disminuye con cada nuevo programa que se escribe para el proyecto GNU, y con algunas empresas que están desarrollando software comercial para Linux.

PINGUINO

La idea de que la mascota de Linux fuera un pingüino provino de Linus Torvalds, creador de Linux. Según se cuenta, cuando era niño le picó un pingüino, y le resultó simpática la idea de asociar un pingüino a su proyecto.

Page 3: Linux- Algoritmos (3)

Existen dos versiones sobre el origen de su nombre. La primera sugiere que el nombre surge del hecho de que los pingüinos parecen vestir un esmoquin (que en inglés es tuxedo, abreviado tux). La segunda es que las letras que componen Tux provienen de las palabras Torvalds Unix.

Tux fue diseñado durante un concurso para elegir un logotipo para Linux. Las herramientas utilizadas para su creación fueron, por supuesto, un computador con el sistema operativo con kernel Linux y el software libre de manipulación de imágenes GIMP. Algunas de las imágenes enviadas se encuentran aún disponibles en el sitio del concurso.

El logotipo se puede usar y modificar sin restricciones, siempre que se reconozca la autoría de Larry Ewing, ya que es su trabajo y se debe reconocer su autoría tal y como se indica en su página: http://www.isc.tamu.edu/~lewing/linux.

Tux se ha vuelto un ícono para las comunidades de Linux y de software libre; es mucho más famoso que su gran amigo, GNU, un ñu pacífico y algo tímido que representa el proyecto GNU.

Caracteristicasss

1. multitarea: varios programas (realmente procesos) ejecutándose al mismo tiempo.

2. multiusuario: varios usuarios en la misma máquina al mismo tiempo (y sin licencias para todos).

3. multiplataforma: corre en muchas CPUs distintas, no sólo Intel.4. funciona en modo protegido 386.5. tiene protección de la memoria entre procesos, de manera que

uno de ellos no pueda colgar el sistema. 6. carga de ejecutables por demanda: Linux sólo lee de disco

aquellas partes de un programa que están siendo usadas actualmente.

7. política de copia en escritura para la compartición de páginas entre ejecutables: esto significa que varios procesos pueden usar la misma zona de memoria para ejecutarse. Cuando alguno intenta escribir en esa memoria, la página (4Kb de memoria) se copia a otro lugar. Esta política de copia en escritura tiene dos beneficios: aumenta la velocidad y reduce el uso de memoria.

Page 4: Linux- Algoritmos (3)

8. memoria virtual usando paginación (sin intercambio de procesos completos) a disco: una partición o un archivo en el sistema de archivos, o ambos, con la posibilidad de añadir más áreas de intercambio sobre la marcha (se sigue denominando intercambio, es en realidad un intercambio de páginas). Un total de 16 zonas de intercambio de 128Mb de tamaño máximo pueden ser usadas en un momento dado con un límite teórico de 2Gb para intercambio.

9. la memoria se gestiona como un recurso unificado para los programas de usuario y para el caché de disco, de tal forma que toda la memoria libre puede ser usada para caché y éste puede a su vez ser reducido cuando se ejecuten grandes programas.

10. librerías compartidas de carga dinámica (DLL's) y librerías estáticas también, por supuesto.

11. se realizan volcados de estado (core dumps) para posibilitar los análisis post-mortem, permitiendo el uso de depuradores sobre los programas no sólo en ejecución sino también tras abortar éstos por cualquier motivo.

12. casi totalmente compatible con POSIX, System V y BSD a nivel fuente.

13. mediante un módulo de emulación de iBCS2, casi completamente compatible con SCO, SVR3 y SVR4 a nivel binario.

14. todo el código fuente está disponible, incluyendo el núcleo completo y todos los drivers, las herramientas de desarrollo y todos los programas de usuario; además todo ello se puede distribuir libremente. Hay algunos programas comerciales que están siendo ofrecidos para Linux actualmente sin código fuente, pero todo lo que ha sido gratuito sigue siendo gratuito.

15. control de tareas POSIX.16. pseudo-terminales (pty's).17. emulación de 387 en el núcleo, de tal forma que los

programas no tengan que hacer su propia emulación matemática. Cualquier máquina que ejecute Linux parecerá dotada de coprocesador matemático. Por supuesto, si tu ordenador ya tiene una FPU (unidad de coma flotante), será usada en lugar de la emulación, pudiendo incluso compilar tu propio kernel sin la emulación matemática y conseguir un pequeño ahorro de memoria.

18. soporte para muchos teclados nacionales o adaptados y es bastante fácil añadir nuevos dinámicamente.

19. consolas virtuales múltiples: varias sesiones de login a través de la consola entre las que se puede cambiar con las combinaciones adecuadas de teclas (totalmente independiente del hardware de video). Se crean dinámicamente y puedes tener hasta 64.

20. soporte para varios sistemas de archivo comunes, incluyendo minix-1, Xenix y todos los sistemas de archivo típicos

Page 5: Linux- Algoritmos (3)

de System V, y tiene un avanzado sistema de archivos propio con una capacidad de hasta 4 Tb y nombres de archivos de hasta 255 caracteres de longitud.

21. acceso transparente a particiones MS-DOS(o a particiones OS/2 FAT) mediante un sistema de archivos especial: no necesitas ningún comando especial para usar la partición MS-DOS, parece un sistema de archivos normal de Unix (excepto por algunas graciosas restricciones en los nombres de archivo, permisos, y esas cosas). Las particiones comprimidas de MS-DOS 6 no son accesibles en este momento, y no se espera que lo sean en el futuro. El soporte para VFAT (WNT, Windows 95) ha sido añadido al núcleo de desarrollo y estará en la próxima versión estable.

22. un sistema de archivos especial llamado UMSDOS que permite que Linux sea instalado en un sistema de archivos DOS.

23. soporte en sólo lectura de HPFS-2 del OS/2 2.124. sistema de archivos de CD-ROM que lee todos los formatos

estándar de CD-ROM.25. TCP/IP, incluyendo ftp, telnet, NFS, etc.26. Appletalk disponible en el actual núcleo de desarrollo.27. software cliente y servidor Netware disponible en los núcleos

de desarrollo.

Griss---ely

Amarillo---isabel

Rojo---karla

Azul--taly

Verde--rocio

Rosa--mabely

Gris--carloss