Download Intro Linux
Document related concepts
Transcript
Una Introducción al Desarrollo, Características y Usabilidad del Sistema Operativo GNU/Linux Mauricio Cuenca Rafael Arango N Deepak, Bangalore INDIA - www.ndeepak.info • Historia de Linux • Característica del Sistema • Algunos Mitos • Detalles no Resueltos • Grandes Patrocinadores • Algunas Razones para usar Linux • Recursos Adicionales Linux se pronuncia Lai-nux, algunas personas dicen Li-nux El Principio El núcleo de Linux fue creado por un programador finlandés llamado Linus Benedict Torvalds en 1991, cuando solo tenía 21 años. Tenía un 386 y le parecío que DOS y el UNIX actual eran costosos e inadecuados. En esos días, un sistema pequeño y libre, llamado Minix era intensamente usado para propósitos académicos. Como su código fuentes estaba disponible, Linus decidió tomar a Minix como modelo. En sus propias palabras, ‘Quería escribir un Minix mejor que Minix.’ Página Oficial de Linux: www.cs.helsinki.fi/~torvalds Creciendo y creciendo… Con el propósito de fomentar una amplia aceptación de su sistema operativo, Linus hizo que el código fuente fuera libre. A finales de 1992 Linux: No of Users ya habían cerca de cien desarrolladores de Linux. Al año siguiente eran 1000. Estimaciones recientes indican que cerca de 18 millones de personas usan Linux a nivel mundial. Esto no incluye máquinas como los servidores de Internet y otras redes. Source: The Linux Counter Más estadísticas en http://counter.li.org/ Linux Hoy Aunque Linus nunca lo imaginó, Linux rápidamente se convirtió en una herramienta de cómputo importante, muchos empezaron a pensar seriamente en él. Hoy día, existen miles de aplicaciones que pueden correr bajo Linux, desde aplicaciones de oficina hasta juegos 3D. Cientos de Linux User Groups en el mundo, discuten acerca de cómo mejorar el sistema. También existen miles de newsgroups y mailing lists acerca de Linux. Linux 2.6 tiene cerca de 6 millones de líneas de código y ocupa 212 megabytes. Distribuciones de Linux Sintonizados con la tradición del poder de elección de Linux, muchas compañías y comunidades ahora lo ofrecen junto con cantidades de aplicaciones. Aunque el S.O. es el mismo, el software incorporado varía de una distribución a otra. RedHat, SuSE, Mandrake, y muchas otras firmas venden Linux de esta forma y sus CDs son llamados distribuciones. Usualmente los distribuidores cobran un costo nominal por los medios y el soporte futuro. Debian es una distribución de Linux no-comercial y de alta calidad, fundada y operada por cientos de voluntarios. Cada persona puede crear su propia distribución de Linux, visite LinuxFromScratch.org Todo software contiene instrucciones binarias, flujos de unos y ceros hacia el procesador para que funcione de la forma deseada. Codificar el software directamente en binario es una propuesta sin duda tediosa, por no decir imposible. De modo que un programador usa un lenguaje de alto nivel para escribir el software. Este programa en texto es lo que se llama el código fuente; es compilado o ensamblado para obtener el ejecutable. Microsoft solo entrega el ejecutable; Linux además le entrega el código fuente, por lo tanto es código libre. Esto importa? Mucho. Comprar código cerrado es como comprar un carro con la tapa del motor soldada. CODIGO COMPILER / ASSEMBLER EXE Por qué Linux es contruído en base a UNIX ? • UNIX ha sido probado por más de 30 años • El diseño básico de UNIX es elegante, siendo el producto del cerebro de dos programadores: Thompson and Ritchie, the Thompson y Ritchie. Ritchie fue cocreators of UNIX, working on a PDP-11 machine. inventor del lenguaje C. • UNIX fue desarrollado con contribuciones de muchas fuentes diferentes; hoy alberga una gigante colección de excelente software • UNIX está muy bien documentado, y la mayoría del código fuente del sistema está disponible, contrario a MS Windows, por ejemplo. Google es operado en decenas de miles de servidores, todos corriendo Linux. Características de Linux: Multitarea Real • Las aplicaciones en Linux operan en multitarea. El OS maneja los procesos de calendarización (e hilos del kernel). Ninguna aplicación podrá acaparar los recursos a menos que el Multitasking under Linux: The number of apps you administrador del sistema la defina can run is limited only by the memory you have. como de alta prioridad. Esto lleva a un mejor rendimiento y mejor balanceo de cargas • Las aplicaciones se ejecutan en un espacio privado de memoria. Esto significa que una aplicación pobremente creada no puede interferir con la memoria de otra aplicación (o el kernel). Si una aplicación trata de acceder nemoria que no le pertenece, es suspendida por el sistema sin pertubar otro procesos Sabía que los efectos especiales de la película Titanic fueron creados usando Linux ? Multi-Usuario y Personalizable UNIX fue diseñado con la noción de que muchas personas compartirían el sistema al mismo tiempo. Varias personas pueden ingresar a una máquina Linux y cada uno ejecutar diferentes programs. Las aplicaciones de UNIX son concebidas con la idea de que múltiples usuarios las usarán y cada una tendrá preferencias diferentes. Muchas personas pueden usar la misma aplicación al mismo tiempo de acuerdo a su gusto! Máquina Linux USUARIO 1 Compila un programa USUARIO 2 Chatea con otro usuario USUSARIO 3 Ejecuta un script 49% de los Profesionales TI piensan que Linux es importante para sus estrategias corporativas. Fácil Administración Remota y Manejo de DLL’s • Debido al diseño fundamental de UNIX, cada aplicación puede correr en una máquina y mostrar su interfaz en otra. Esto es bastante útil para administración remota • Windows permite el uso de DLLs (Dynamic Linker Libraries) para modularizar aplicaciones y reusar código. Pero los conflictos entre versiones son comunes, lo que haría que ciertas aplicaciones o el Sistema Operativo inútil Linux también maneja DLLs (llamados shared objects), pero revisa qué versión del DLL solicita cada aplicación y enlaza la versión correcta. En Windows, el programa simplemente se bloquea A DLL Goof-up in Windows Desarrollar Red Hat Linux 7.1 le hubiera costado a una empresa privada más US$1 billón Manejo Eficiente de la Memoria • Linux es excelente en el manejo de la memoria. Usará cada pedazo de memoria en un sistema a su máxima potencia. Corre bien en un P1 con 32 How shall I get 64 MB AGAIN for Win 2000? MB RAM. • Linux usa un esquema de copia-en-escritura. Si dos o más programas están usando el mismo bloque de memoria, solo una copia se alberga en la RAM, y todos los programas leen el mismo bloque. Si un programa escribe a ese bloque, se hace una copia solo para ese programa. Los otros programas comparten el resto de la memoria. La carga de DLL’s permite un gran ahorro de memoria En pruebas de rendimiento, Linux superó a Windows NT, Solaris y FreeBSD por un margen superior al 35% Manejo Eficiente de Memoria (Cont.) Carga-por-Demanda también es muy útil. Linux solo carga en la memoria, partes del programa que está siendo usado, lo cual reduce los requerimientos de memoria de forma significativa. Al mismo tiempo, cuando el intercambio es necesario, solo porciones de los programas son intercambiadas al disco, no procesos enteros. Esto ayuda a incrementar el rendimiento del multiproceso. Finalmente, la RAM que no se usa por aplicaciones o el kernel es usado como cache de disco. Esto incrementa acceso al disco mientras haya memoria ociosa. Why waste money on upgrades when you can use it with Linux? Linux/Netscape corren 30-40% más rápido que NT4/IE4 en desplegar HTML: Microsoft Source: The Halloween Documents Richard Stallman es el padre fundador del proyecto GNU y la Free Software Foundation (1985), cuyo objetivo es crear software que brinde libertad al usuario – libertad para compartir, modificar y distribuir – lo que no hace el software propietario. This goat is the logo of GNU Stallman gustaba tanto de UNIX que quizo hacer una alternativa libre a su uso. El proyecto GNU, empezó en 1984, ha desarrollado miles de programas que hacen todo lo que las herramientas originales de UNIX hacían, pero con una diferencia: podemos modificarlos y compartir con quien los quiera usar. Images: gnu.org GNU y Linux comparten una relación simbiótica. Mientras que el kermel de Linux es el núcleo el software GNU hace el sistema más funcional. De allí el término: GNU/Linux Poderoso Sistema de Archivos • Linux normalmente usa su propio sistema de archivos de alto rendimiento, el cual usa el espacio en disco más eficientemente, la velocidad de lecto escritura y automáticamente previene la fragmentación. Linux no necesita un defragmentador, aunque existen. También ve cuando los programas escriben al disco de forma incorrecta y lo evita, así que no hay que correr chequeos de disco a menos de que se note un problema • Linux también puede leer y escribir todas las variantes del sistema FAT (FAT12, FAT32), NTFS, OS/2's HPFS, y muchos que seguro nunca ha oído. Linux can use your Incluso lo hace más rápido que su hard disc better sistema operativo nativo! El sistema de archivps Linux ext2 soporta hasta 4000 GB de datos Linux tiene la Estabilidad de UNIX • Linux refuerza una estricta separación entre el kernel y otras aplicaciones. La mayoría de servicios como correo, archivos, servicios de impresión, servidor web y otras aplicaciones, pueden ser cambiadas dinamicamente. En el peor caso, una aplicación requeriría ser reiniciada y no el sistema completo. Reiniciar solo es necesario para actualizaciones de kernel y cambios de hardware.UNIX puede correr por años! • Linux también brinda la habilidad de incrementar la memoria virtual de forma dinámica y luego reducirla nuevamente sin reiniciar, contrario The Blue Screen of Death a Windows Linux representa una vertiente de UNIX, confiado en aplicaciones de misión crítica con credibilidad a largo plazo que excede la de otros Sistemas Operativos: Microsoft. Soporte para Redes Incluído TCP/IP e Internet fueron desarrollados originalmente en sistemas UNIX y la mayoría del intercambio de información se hace en UNIX. Cerca del 75% de los servidores Web en el mundo usan alguna Linux is network ready variante de UNIX Linux tiene la mayor participación del mercado en Internet, corriendo 25.7% de los servidores de noticias, 26.9% de los servidores web y 33.7% de los servidores FTP en el mundo. Aparte de un sistema de redes rápido y confiable, docenas de servicios de red son proporcionados cuando se usa Linux. Servidores Web, de impresión, ftp, NIS, IRC, news y más son disponibles de forma gratuita o a bajo costo. Con Linux, puede configurar un 486 para ser un enrutador, un firewall, o un servidor Web para su LAN Alto grado de Seguridad Linux es un sistema operativo muy seguro, mucho mejor que Windows. • Cada aplicación corre en su propio espacio de memoria protegida, no es posible que un virus infecte otra aplicación ejecutándose en memoria. Linux también tiene una estructura de permisos de archivos que límite altamente el daño causado por los virus Source: toonshome.com Oh, was that you? I thought it was a virus and I deleted the mail. • Linux es menos viable a ataques de hackers que la mayoría de los S.O.’s, en parte por su naturaleza de software libre. Los huecos de seguridad se arreglan rápidamente incluso en cuestión de horas! >50% de PYMES esperan incrementar el uso de Linux y más del 75% de grandes empresas esperan instalar nuevos servicios de Linux: Zona Research Study Report Linux es un fuerte competidor de Windows Server. Llegó a asustar a Microsoft a tal grado que publicaron un memo resaltando los efectos nocivos de la revolución del Software Libre! Esta tabla, construída por un Ingeniero Certificado por Microsoft, compara Linux con Windows NT Server. Component Operating System Kernel Source Code Web Server Telnet Server POP3 / SMTP Server X-Window Server C / C++ Compilers No. of file systems supported Disk quotas support No. of GUIs Free Online Technical Support Platforms SMP Support Source: www.unix-vs-nt.org/kirch Linux 2.x Free, about $49 for a CDROM Yes Apache Yes Yes Yes Yes 32 Yes 4 Yes x86, SPARC, PowerPC, StrongARM Upto 16. Beowulf supported Windows NT Server 4.0 Depends on no. of users: $899 to $3999 No IIS No No No No 4 No 1 No Intel x86, Alpha 2 in Workstation, 4 in Server. No Beowulf ⊗ Linux es abierto (inseguro) √ Puede ser un argumento válido, pero afortunadamente, nuestro mundo aún es un buen lugar. Cuando los programadores encuentran un error en el código, rápidamente tratan de arreglarlo. Un sistema inseguro es por falta de actualizaciones ⊗ Windows más bonito que Linux √ KDE 2.2 fue calificado por PC Magazine como la GUI más amigable, ganándole a WinXP! Bugtraq reportó solo 20 vulnerabilidades en Debian Linux para el 2000, mientras Windows NT tenía 85. ⊗ No hay muchas aplicaciones para Linux √ Hoy día existen más de 15,000 aplicaciones hechas para la plataforma Linux. Puede programar en C, C++, Java etc.; escuchar música; navegar la Web; jugar; ver películas; e incluso modificar esta presentación! You can do everything in Linux as in Windows ⊗ Linux no tiene una autoridad central √ Linux puede ser creado por programadores alrededor del mundo, pero hay un grupo de personas lideradas por Linus que tiene la última palabra y deciden los cambios en el sistema El número de aplicaciones de nivel empresarial para Linux creció un 30% en el primer semestre del 2000: IBM ⊗ UNIX se fragmenta incompatiblesb en varias √ Este era el tema tiempo atrás, pero en la última década todas han tendido a converger. UNIX ahora se rige mediante los estándares ANSI y POSIX, que permiten al software ser de código-compatible a través de diferentes plataformas, yendo desde micro-controladores embebidos hasta supercomputadoras. El estándar X/OPEN permite un escritorio único entre todas las versiones. En la plataforma Intel x86, por ejemplo, Linux puede ejecutar archivos binarios de SCO UNIX y FreeBSD puede ejecutar binarios de Linux. Existe un pequeña diferencia entre, Windows 3.1, Windows 9x y Windows NT. versiones UNIXes Caldera UnixWare DEC Digital UNIX FreeBSD HP-UX IBM AIX Linux SGI IRIX Sun Solaris Linux cumple con POSIX, haciendo más portable el código e integrable con otros sistemas Linux no es amigable al principiante Linux puede ser complicado para un nuevo usuario de Windows. Deje de comparar Linux con Windows de vez en cuando y empezará a apreciarlo. Instalar Linux es Difícil Instalar Linux es una aventura para un novato acostumbrado solo a Windows. Algunas vez escuchó de particiones swap o puntos de montaje? Algunas veces es difícil trabajar con su software Stallman dice, ‘Libertad es mucho más importante que superioridad técnica o facilidad de uso.’ Paciencia! Linux es la amenza No. 1 para Windows: Steve Ballmer, CEO, Microsoft La ayuda en Linux no es completa Existen bastantes manuales técnicos, grupos locales de Linux y listas de correo acerca del tema! Linux depende de la línea de comandos Aunque KDE y GNOME son excelentes GUIs, no se pueden olivdar los comandos. Tarde o temprano usaremos el shell. Linux es estricto en cuanto a Hardware La mayoría del hardware trabaja bien en Linux, pero pocos, especialmente win-modems y ciertas tarjetas de video y sonido, pueden no cooperar. A medida que los fabricantes reconocen el poder de Linux, conseguir controladoes es fácil. Linux: Mejor Sistema de Escritorio en 1996. Source: InfoWorld A pesar de las decepciones, Linux a encontrado grandes adeptos de un gran espectro de organizaciones. He aquí una lista de sus mayores patrocinadores. Haga click en cualquier logo para ir al Website. Full list. Linux fue el Sistema de mayor crecimiento en el 2000, con un 166%. Source: IDC • Linux es estable, no hay pantallas azules; los bloqueos son pocos. •Linux es ideal para redes: Puede configurarse un enrutador sencillo y funcional, un cortafuegos, servidor Web, de correo o FTP. • Linux se intercomunica con otros sistemas, incluyendo NT, NetWare y Sun. Soporta múltiples procesadores y una gran variedad de sistemas de archivos. • Los requerimientos de sistema son bajos, Linux corre hasta en un 386 • Linux brinda opciones de escoger ambientes gráficos y líneas de comando para todo. El rango de aplicaciones es amplio, existe un poderoso sistema de manejo de paquetes. • Linux es confiable, seguro, fácil de actualizar y tiene un diseno abierto, sistema de archivos lógico y una comunidad que lo soporta, lo que lo convierte en un sistemka de cero mantenimiento. • Linux viene con los mejores compiladores y herramientas de desarrollo, junto con el software de control de versiones, es el paraíso para los programadores. • Y finalmente, la mejor parte: Linux es libre. Se puede compartir con cualquiera. www.linux.org The Linux portal www.kernel.org The official Linux kernel Web site www.linuxdoc.org The Linux documentation project www.ssc.com/lj Linux Journal is a fine Linux periodical www.linuxapps.com Download Linux softwarehere www.slashdot.org Slashdot mirrors the Linux community www.sourceforge.net projects SourceForge is the place for Linux www.cheapbytes.com CheapBytes sells cheap Linux CDs www.oreilly.com O’Reilly sells the best books on Linux www.gnu.org The official GNU Web site www.linuxlinks.com Links to many Linux-related Web sites comp.os.linux The Linux USENET newsgroup www.ndeepak.info/stuff/linux/ deepak@despammed.com My Linux stuff page My e-mail address: comments/feedback My Linux advocacy page has other useful documents if you are interested in using Linux. Link below.