Download Intro Linux

Document related concepts

Linux International wikipedia , lookup

Adopción de Linux wikipedia , lookup

Controversia por la denominación GNU/Linux wikipedia , lookup

Historia de Linux wikipedia , lookup

Distribución Linux wikipedia , lookup

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/
[email protected]
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.