Você está na página 1de 29

Introduccin En una era de cambios en el ambiente computacional, de una amplia oferta en sistemas operativos e interfaces grficas y sobre todo,

del costo que representa contar con un sistema operativo que interactue con el software sin problemas, surge con fuerza inusitada: Linux LINUX es un sistema operativo, compatible Unix. Dos caractersticas muy peculiares lo diferencian del resto de los sistemas que podemos encontrar en el mercado, la primera, es que es libre, esto significa que no tenemos que pagar ningn tipo de licencia a ninguna casa desarrolladora de software por el uso del mismo, la segunda, es que el sistema viene acompaado del cdigo fuente. El sistema lo forman el ncleo del sistema (kernel) mas un gran numero de programas / libreras que hacen posible su utilizacin. LINUX se distribuye bajo la GNU Public License: Ingles , por lo tanto, el cdigo fuente tiene que estar siempre accesible. El sistema ha sido diseado y programado por multitud de programadores alrededor del mundo. El ncleo del sistema sigue en continuo desarrollo bajo la coordinacin de Linus Torvalds, la persona de la que parti la idea de este proyecto, a principios de la dcada de los noventa. Da a da, ms y ms programas / aplicaciones estn disponibles para este sistema, y la calidad de los mismos aumenta de versin a versin. La gran mayora de los mismos vienen acompaados del cdigo fuente y se distribuyen gratuitamente bajo los trminos de licencia de la GNU Public License. En los ltimos tiempos, ciertas casas de software comercial han empezado a distribuir sus productos para Linux y la presencia del mismo en empresas aumenta rpidamente por la excelente relacin calidad - precio que se consigue con Linux. Las plataformas en las que en un principio se puede utilizar Linux son 386-, 486-. Pentium, Pentium Pro, Pentium II, Amiga y Atari, tambin existen versiones para su utilizacin en otras plataformas, como Alpha, ARM, MIPS, PowerPC y SPARC. Resea Historia del Linux: Linux fue creado originalmente por Linus Torvald en la Universidad de Helsinki en Finlandia, siendo l estudiante de informtica. Pero ha continuado su desarrollado con la ayuda de muchos otros programadores a travs de Internet. Linux originalmente inicio el desarrollo del ncleo como su proyecto favorito, inspirado por su inters en Minix, un pequeo sistema Unix desarrollado por Andy Tannenbaum. l se propuso a crear lo que en sus propias palabras seria un "mejor Minix que el Minix". El 5 de octubre de 1991, Linux anuncio su primera versin "oficial" de Linux, versin 0.02. Desde entonces , muchos programadores han respondido a su llamada, y han ayudado a construir Linux como el sistema operativo completamente funcional que es hoy. QU ES LINUX? Linux es un sistema operativo diseado por cientos de programadores de todo el planeta, aunque el principal responsable del proyecto es Linus Tovalds. Su objetivo inicial es propulsar el software de libre distribucin junto con su cdigo fuente para que pueda ser modificado por cualquier persona, dando rienda suelta a la creatividad. El hecho de que el sistema operativo incluya su propio cdigo fuente expande enormemente las posibilidades de este sistema. Este mtodo tambin es aplicado en numerosas ocasiones a los programas que corren en el sistema, lo que hace que podamos encontrar muchisimos programas tiles

totalmente gratuitos y con su cdigo fuente. Y la cuestin es que, seores y seoras, Linux es un sistema operativo totalmente gratuito. Mi mquina corre Linux, y puedo asegurar que es uno de los sistemas que ms aprovecha mi computadora, es decir, con el consigo ejecutar tareas mucho ms rpido que con otros sistemas operativos comerciales. Y es que Linux no requiere grandes prestaciones para funcionar. Las funciones principales de este magnfico sistema operativo son:

Sistema multitarea En Linux es posible ejecutar varios programas a la vez sin necesidad de tener que parar la ejecucin de cada aplicacin. Sistema multiusuario Varios usuarios pueden acceder a las aplicaciones y recursos del sistema Linux al mismo tiempo. Y, por supuesto, cada uno de ellos puede ejecutar varios programas a la vez (multitarea). Shells programables Un shell conecta las ordenes de un usuario con el Kernel de Linux (el ncleo del sistema), y al ser programables se puede modificar para adaptarlo a tus necesidades. Por ejemplo, es muy til para realizar procesos en segundo plano. Independencia de dispositivos Linux admite cualquier tipo de dispositivo (mdems, impresoras) gracias a que cada una vez instalado uno nuevo, se aade al Kernel el enlace o controlador necesario con el dispositivo, haciendo que el Kernel y el enlace se fusionen. Linux posee una gran adaptabilidad y no se encuentra limitado como otros sistemas operativos. Comunicaciones Linux es el sistema ms flexible para poder conectarse a cualquier ordenador del mundo. Internet se cre y desarrollo dentro del mundo de Unix, y por lo tanto Linux tiene las mayores capacidades para navegar, ya que Unix y Linux son sistemas prcticamente idnticos. Con linux podr montar un servidor en su propia casa sin tener que pagar las enormes cantidades de dinero que piden otros sistemas.

Linux no sacrifica en ningn momento la creatividad, tal y como lo hacen algunas compaas informticas. Linux es una ventana abierta por la que es posible huir hacia un mundo donde la verdadera informtica puede ser disfrutada sin limites ni monopolios. Linux es distribuido mediante una serie de distribuciones como RedHat, Slackware, Deban ... las cuales se diferencian por su mtodo de instalacin y por los paquetes (software) que viene incluido. Es posible que encuentre a la venta versiones de Linux y piense: "si, si.... decan que era gratis..." No se asuste, todo el software de Linux esta regido por la licencia de GNU, con la cual cualquier persona puede modificar un programa y venderlo segn el desee, con la condicin que la persona que compra ese producto puede realizar la misma accin o simplemente hacer copias para todos aquellos que lo quieran sin tener que pagar ms (por lo tanto no se extrae si encuentra distribucin comerciales). Esta licencia es la garanta que afirma la absoluta libertad de este sistema operativo. Si no desea ni siquiera pagar esa msera cantidad puede descargrselo de Internet totalmente gratis (bueno, slo tendr que pagar la factura de telfono ).

Caractersticas de Linux

multitarea: varios programas (realmente procesos) ejecutndose al mismo tiempo. multiusuario: varios usuarios en la misma mquina al mismo tiempo (y sin licencias para todos). multiplataforma: corre en muchas CPUs distintas, no slo Intel. funciona en modo protegido 386. tiene proteccin de la memoria entre procesos, de manera que uno de ellos no 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 para la comparticin de pginas entre ejecutables: esto significa que varios procesos pueden usar la misma zona de memoria para ejecutarse. Cuando alguno intenta escribir en esa memoria, la pgina (4Kb de memoria) se copia a otro lugar. Esta poltica de copia en escritura tiene dos beneficios: aumenta la velocidad y reduce el uso de memoria. memoria virtual usando paginacin (sin intercambio de procesos completos) a disco: una particin o un archivo en el sistema de archivos, o ambos, con la posibilidad de aadir ms reas de intercambio sobre la marcha (se sigue denominando intercambio, es en realidad un intercambio de pginas). Un total de 16 zonas de intercambio de 128Mb de tamao mximo pueden ser usadas en un momento dado con un lmite terico de 2Gb para intercambio. 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. libreras compartidas de carga dinmica (DLL's) y libreras estticas tambin, por supuesto. se realizan volcados de estado (core dumps) para posibilitar los anlisis postmortem, permitiendo el uso de depuradores sobre los programas no slo en ejecucin sino tambin tras abortar stos por cualquier motivo. casi totalmente compatible con POSIX, System V y BSD a nivel fuente. mediante un mdulo de emulacin de iBCS2, casi completamente compatible con SCO, SVR3 y SVR4 a nivel binario. todo el cdigo fuente est disponible, incluyendo el ncleo completo y todos los drivers, las herramientas de desarrollo y todos los programas de usuario; adems todo ello se puede distribuir libremente. Hay algunos programas comerciales que estn siendo ofrecidos para Linux actualmente sin cdigo fuente, pero todo lo que ha sido gratuito sigue siendo gratuito. control de tareas POSIX. pseudo-terminales (pty's). emulacin de 387 en el ncleo, de tal forma que los programas no tengan que hacer su propia emulacin matemtica. Cualquier mquina que ejecute Linux parecer dotada de coprocesador matemtico. Por supuesto, si tu ordenador ya tiene una FPU (unidad de coma flotante), ser usada en lugar de la emulacin, pudiendo incluso compilar tu propio kernel sin la emulacin matemtica y conseguir un pequeo ahorro de memoria. soporte para muchos teclados nacionales o adaptados y es bastante fcil aadir nuevos dinmicamente. consolas virtuales mltiples: varias sesiones de login a travs de la consola entre las que se puede cambiar con las combinaciones adecuadas de teclas (totalmente independiente del hardware de video). Se crean dinmicamente y puedes tener hasta 64. soporte para varios sistemas de archivo comunes, incluyendo minix-1, Xenix y todos los sistemas de archivo tpicos 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. acceso transparente a particiones MS-DOS (o a particiones OS/2 FAT) mediante un sistema de archivos especial: no necesitas ningn comando especial para usar la particin 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 aadido al ncleo de desarrollo y estar en la prxima versin estable. un sistema de archivos especial llamado UMSDOS que permite que Linux sea instalado en un sistema de archivos DOS. soporte en slo lectura de HPFS-2 del OS/2 2.1 sistema de archivos de CD-ROM que lee todos los formatos estndar de CD-ROM. TCP/IP, incluyendo ftp, telnet, NFS, etc. Appletalk disponible en el actual ncleo de desarrollo. software cliente y servidor Netware disponible en los ncleos de desarrollo.

LINUX - COMANDOS BSICOS date muestra la fecha del sistema. date u mmddhhhhaa cambia la fecha del sistema, ej. 1202120095 es igual a mes 12, da 02, hora 12:00 y ao 1995. logout sale de la actual sesin. login sale de la actual sesin. ^D sale de la actual sesin. Alt+F1 inicia una consola virtual (varias a la vez: F1,F2,F3...) passwd cambia el password del actual usuario. ^C aborta programa en ejecucin. ^S paraliza la pantalla. ^Q anula la paralizacin de la pantalla. who lista los usuarios conectados. who am i lista tu nombre. who you are lista tu nombre. mail nombre enva correo, se finaliza escribiendo un punto en una lnea sola. mail visualiza tu correo, teclea ? para ayuda. ls lista directorios y ficheros. ls i lista directorios y ficheros con sus i-nmeros. ls a lista directorios y ficheros en orden alfabtico. ls s lista directorios y ficheros con su tamao en bloque (1 bloque= 512 bytes) ls r lista directorios y ficheros en orden inverso. ls u lista directorios y ficheros segn ltimo acceso.

ls l lista todos los directorios y ficheros en formato largo. Head n lines selecciona la primera lnea (ej. ls|head 1 lines) cat file file ... visualiza seguidamente los ficheros indicados. cat file file > file graba los dos archivos en uno. ln file link crea un enlace a un archivo, los dos contienen el mismo fichero fsico, si cambias uno, cambia el otro. Pero si borras uno todava queda el otro. cp file file copia ficheros. rm file borra ficheros. mv file file mueve o cambia de nombre. pwd muestra el directorio actual. cd cambia de directorio. mkdir directorio crea un directorio. rmdir directorio borra un directorio. comando & hace que el proceso sea desatendido en 2 plano (background). ps [n] muestra los procesos desatendidos. ps alx muestra los procesos desatendidos asociados a la terminal (a), los no asociados (x) y hace una lista larga (l). Elementos de la lista larga: STA (Estado del proceso) O (Inexistente) S (Durmiendo) W (Esperando) I (Intermedio) R (Ejecutndose) Z (Terminado) Z (Parado) UID (N de Identificacin del propietario) PID (N de Identificacin del proceso) PPID (N de Identificacin del proceso padre) PRI (Prioridad, n altos=baja prioridad) WCHAN (Suceso al que espera) NICE (N para calcular la pri.) TTY (Terminal) STTY (Tiempo de ejecucin) kill n detiene la ejecucin de un proceso en background. at hora o fecha <<EOF ejecuta algo a una hora establecida (para salir escribir EOF) Posibilidades para hora o fecha: 8am, 2130, 12N fri week (siguiente semana), 2PM apr 3, now +1minute, now +1 hour, 4PM +2 days, 1PM tomorrow,... comando ; comando se pueden escribir varios comandos a la vez. comando > file redirecciona la salida a un archivo. (comando ; comando) > file redirecciona toda la salida del conjunto a un archivo. comando >> file redirecciona la salida a un archivo, pero lo aade al final de este. comando < file > file redirecciona de forma contraria para acabar llevando el resultado a un archivo. comando | comando tubo (pipeline) la salida del 1 la enva hacia el 2. *, ?, [...], ... caracteres de sustitucin. echo * lista directorios y ficheros. echo n "Hoy es `date`, hola $variable" hace eco sin carro de retorno (-n) de la frase Hoy es, ejecuta el comando date (entre acentos), hace eco de hola y imprime el contenido de la

variable. Para eliminar los valores especiales de algunos caracteres deberemos escribir / antes, ejemplo "Hola /"Pepe/"". mesg y permite que te escriban los usuarios del sistema. mesg n prohibe que te escriban a los usuarios del sistema. mesg muestra el estado actual (escribir o no). tty muestra tu nmero (archivo) de terminal. write nombre [tty] para comunicarse con un usuario conectado al sistema. Para salir ^D, para indicar al otro el fin del mensaje oo-, y el fin de la comunicacin oo-. Si el usuario pertenece a otra terminal, se debe indicar. Si el usuario tiene el mesg en no o esta realizando una tarea especfica no podremos comunicarnos. cmp file file comprueba si son idnticos, si lo son no aparece ninguna salida. comm [-n] file file lista las palabras comunes de los dos archivos, en el nmero se indica la columna a comparar: 0,1,2,3. diff file file lista las palabras diferentes de los dos archivos. find . file ... mtime 1 size +10 type f busca en el directorio actual los ficheros con dicho nombre, que hayan sido modificados hace 1 da, con un tamao mayor a 10 bloques y del tipo fichero. find / -name ... atime 1 size 20 type d busca en el directorio actual los directorios con dicho nombre, que hayan tenido acceso hace 1 da, con tamao menor que 20 bloques y del tipo directorio. find . name ok rm {} \; busca en el directorio actual y borra los ficheros encontrados que cumplan los requisitos. lpr file imprime el archivo. pr file imprime el archivo junto a un encabezamiento, la fecha, hora, ... tail n file muestra la cola de un archivo, en n se debe especificar: +2l (a partir de la segunda lnea por arriba), -10l (a partir de la dcima lnea por abajo). Si en lugar de l (lnea) podemos escribir b (bloque) c (carcter). tr caracteres caracteres cambia los caracteres por los indicados a continuacin. (Ejemplo: tr abc ABC). tee file muestra los datos en un punto intermedio. du muestra el tamao por bloques de cada archivo y directorio. du s muestra el tamao total por bloques. file file indica el tipo de archivo que es (empty\ cannot open\ directory\ English text\ ascii text\ data). stty informacin sobre nuestro terminal. stty [-] raw lee carcter a carcter. Se anula aadiendo el signo al comando. stty [-] cooked lee lnea a lnea. Se anula aadiendo el signo al comando. stty [-] cbreak mezcla de los dos anteriores. Se anula aadiendo el signo al comando. stty [-] nl no retorna el carro hasta el principio (se anula con ^J).

stty [-] echo no se ven las pulsaciones en pantalla. Se anula aadiendo el signo al comando. sort file muestra en pantalla el archivo ordenado por la 1 columna (para indicar la segunda columna aadir +1 y as sucesivamente). sort file u muestra en pantalla el archivo ordenado por la 1 columna sin las lneas duplicadas. sort file b muestra en pantalla el archivo ordenado por la 1 columna ignorando espacios en blanco. sort file f muestra en pantalla el archivo ordenado por la 1 columna distinguiendo entre minsculas y maysculas. sort file r muestra en pantalla el archivo ordenado por la 1 columna en orden inverso. sort file c comprueba si el archivo ya esta ordenado. grep palabra file busca unos caracteres determinados en un fichero. grep v palabra file busca las lneas que no contienen dicha palabra. grep c palabra file muestra el nmero de lneas que contienen la palabra. grep y palabra file busca la palabra en el fichero sin distinguir entre minsculas y maysculas. grep n palabra file busca la palabra y muestra su lnea con el nmero de esta. uniq file muestra el archivo sin las lneas que estn repetidas. wc file muestra el nmero de lneas, palabras y caracteres (en este orden) del archivo. wc l file muestra el nmero de lneas del archivo. wc w muestra el nmero de palabras del archivo. wc c muestra el nmero de caracteres del archivo. cal [n mes] n ao imprime un calendario del mes y/o ao indicado. Mes: 1-12, ao 19999. newgrp grupo cambia de grupo. sum file suma las palabras de un archivo. expr n + n suma +, resta -, multiplica *, divide /,... una expresin. wall mensaje manda un mensaje a todos los usuarios. (Solo lo recibirn los usuarios que tengan su sistema configurado para poder recibir estos mensajes) id muestra nuestro UserId y el GroupId. chmod nnn file cambia los permisos de un archivo. 1: Permiso de ejecucin (x), 2: Permiso de escritura (w), 3: Permiso de lectura ( r). Se deben sumar para poner ms de uno. El primer nmero corresponde al creador del archivo, el segundo al grupo del creador, y el tercero al resto de usuarios. Ej. 666 : todo el mundo tiene permiso de todo. chown nombre file cambia el propietario de un archivo. chgrp grupo file cambia el grupo del propietario de un archivo.

umask muestra los permisos por defecto de los archivos creados. Ej. 022 entonces 666022=644, es decir usuario permiso de w, r, grupo permiso de r y lo otros permiso de r. umask n cambia los permisos por defecto de los archivos creados. Ej. umask 000: todo el mundo tiene todos los permisos al ser creado un archivo. Archivos especiales: /etc/passwd Contiene todos los logins y passwords /etc/motd Mensaje del da /etc/profile Se ejecuta al introducir al entrar en el sistema Versiones El desarrollo inicial Linux ya aprovechaba las caractersticas de conmutacin de tareas en modo protegido del 386, y se escribi todo en ensamblador. Linus nunca anunci la versin 0.01 de Linux (agosto 1991), esta versin no era ni siquiera ejecutable, solamente inclua los principios del ncleo del sistema, estaba escrita en lenguaje ensamblador y asuma que uno tenia acceso a un sistema Minix para su compilacin. El 5 de octubre de 1991, Linus anunci la primera versin "Oficial" de Linux, - versin 0.02. Con esta versin Linus pudo ejecutar Bash (GNU Bourne Again Shell) y gcc (El compilador GNU de C) pero no mucho mas funcionaba. En este estado de desarrollo ni se pensaba en los trminos soporte, documentacin, distribucin. Despus de la versin 0.03, Linus salto en la numeracin hasta la 0.10, ms y ms programadores a lo largo y ancho de internet empezaron a trabajar en el proyecto y despus de sucesivas revisiones, Linus incremento el numero de versin hasta la 0.95 (Marzo 1992). Mas de un ao despus (diciembre 1993) el ncleo del sistema estaba en la versin 0.99 y la versin 1.0 no llego hasta el 14 de marzo de 1994. La versin actual del ncleo es la 2.2 y sigue avanzando da a da con la meta de perfeccionar y mejorar el sistema. La ultima versin estable es la versin 2.2, que soporta muchos ms perifricos, desde procesadores hasta joysticks, sintonizadores de televisin, CD ROMs no ATAPI y reconoce buena cantidad de tarjetas de sonido. Incluye tambin soporte para tipos de archivos para Macintosh HFS, Unix UFS y en modo de lectura, HPFS de OS/2 y NTFS, de NT. Otras Versiones: Linux 2.0 Linux 2.2 Linux 2.3 Comparacin Se seala las diferencias de Linux con el DOS y no con otro S.O. porque la mayora provienen del DOS.

No existe el concepto de unidad de disco. Todas las unidades en Linux se 'montan' como si fueran un subdirectorio ms. No existe el concepto de extensin del nombre de un fichero. Los ficheros pueden tener nombres de hasta 256 caracteres. Los puntos estn permitidos en el nombre de un fichero. As, un fichero se podr llamar:

DOSEMU-HOWTO.espaol.tar.gz por poner un ejemplo.

Los subdirectorios no se separan con el carcter '\', como en DOS, sino con el carcter '/'. Ejemplo:

/usr/src/linux-1.2.13/Makefile

Existe diferencia entre maysculas y minsculas. Por ejemplo, no es lo mismo 'dir' que 'DIR' que 'Dir'... Adis a los atributos de los ficheros, tal y como los conoce el DOS. Cada fichero tendr ahora 10 'atributos'. Entre un comando y sus parmetros deberemos dejar obligatoriamente un espacio en blanco. Por ejemplo 'cd..' no funcionar mientras que 'cd ..' s. IMPORTANTE: Un sistema Linux NUNCA se puede apagar por las buenas. Antes le hemos de advertir al S.O. de que vamos a apagarlo (o reiniciarlo). La razn de que esto deba ser as es para que al sistema le d tiempo de escribir en disco todos los datos que tuviera pendientes de escribir, salir ordenadamente de todas las aplicaciones que tuviera arrancadas y desmontar todas las unidades que tuviera montadas.

Existen muchas otras diferencias (gestin de memoria plana, ...), pero las mencionadas son las que ms nos pueden influir en la forma de trabajar, al menos en principio. Qu es el kernel? El kernel o ncleo de linux se podra definir como el corazn de este sistema operativo. Es el encargado de que el software y el hardware de tu ordenador puedan trabajar juntos. Las funciones mas importantes del mismo, aunque no las nicas, son:

Administracin de la memoria, para todos los programas en ejecucin. Administracin del tiempo de procesador, que estos programas en ejecucin utilizan. Es el encargado de que podamos acceder a los perifricos/elementos de nuestro ordenador de una manera cmoda.

Existen dos versiones del Linux kernel: Versin de produccin: La versin de produccin, es la versin estable hasta el momento. Esta versin es el resultado final de las versiones de desarrollo o experimentales. Cuando el equipo de desarrollo del kernel experimental, decide que ha conseguido un kernel estable y con la suficiente calidad, se lanza una nueva versin de produccin o estable. Esta versin es la que se debera utilizar para un uso normal del sistema, ya que son las versiones consideradas mas estables y libres de fallos en el momento de su lanzamiento. Versin de desarrollo: Esta versin es experimental y es la que utilizan los desarrolladores para programar, comprobar y verificar nuevas caractersticas, correcciones, etc. Estos ncleos suelen ser inestables y no se deberan usar, a no ser que sepas lo que haces.

Como interpretar los nmeros de las versiones:


Las versiones del kernel se numeran con 3 nmeros, de la siguiente forma: XX.YY.ZZ XX: Indica la serie principal del kernel. Hasta el momento solo existen la 1 y 2. Este numero cambia cuando la manera de funcionamiento del kernel ha sufrido un cambio muy importante. YY: Indica si la versin es de desarrollo o de produccin. Un numero impar, significa que es de desarrollo, uno par, que es de produccin. ZZ: Indica nuevas versiones dentro de una versin, en las que lo nico que se ha modificado, son fallos de programacin /bugs.

Unos ejemplos nos ayudaran a entenderlo mejor:


ej1: versin del kernel 2.0.0: Kernel de la serie 2 (XX=2), versin de produccin 0 (YY=0 par), primera versin de 2.0 (ZZ=0) ej2: versin del kernel 2.0.1: Kernel de la serie 2, versin 0, en el que se han corregido errores de programacin presentes en la versin 2.0.0 (ZZ=1) ej3: versin del kernel 2.1.100: versin 100 del kernel de desarrollo 2.1.

Sistemas de Archivos Sistema de ficheros linux (I) Bueno como sabrs el DOS funciona con FAT, File Allocation Table, o sea una tabla a principio del disco duro donde se almacena, la informacin de cada bloque del disco, de manera que tenemos una lista enlazada para cada fichero. --------- | 2| 0 FICHERO A bloques 0 2 6 --------- | 3| 1 FICHERO B bloques 1 3 4 --------- | 6| 2 --------- | 4| 3 --------- | fin| 4 --------- | | 5 --------- | fin| 6 --------Para leer un fichero A leemos en la fat el bloque 0, vemos donde continua y leemos la fat en el bloque 2, leemos el bloque del disco, y volvemos a leer el bloque de la fat donde esta el bloque 6. Esto parece rpido, y lo es i la FAT esta en memoria, pero si calculamos lo que puede ocupar una FAT de un disco duro de 1Giga donde el disco esta dividido en bloques de pongamos 4024Kb y pongamos 20 bytes por descriptor, tenemos una FAT de 5 megas, (no recuerdo de cuanto era el tamao de bloque/descriptor en MSDOS), lo cual no se puede tener en memoria y si hay que leer cada vez de disco es muy lento. Cuando MSDOS funcionaba en disquete no era demasiado problema tener en memoria unos Ks de FAT, pero con los disco de ahora de Giga ya es un problema. Como lo hace UNIX? Y por supuesto ext2 de Linux? Con otra estructura de datos llamada i-nodes, que para cada fichero tiene un array, con las posiciones del disco donde se encuentra este. De esta manera cuando queremos leer un fichero, leemos solo un trozo de disco contiguo, donde encontramos todas las referencias a se y no toda la FAT que puede ser de mas de un mega. Con los nodos-i (o inodes) no ahorramos espacio de disco (con respecto a FAT), la informacin de en que bloques esta cada fichero la tenemos igual pero mejor organizada.

10

Las tablas de i-nodes tienen un tamao limitado, pero en caso de que se llenen con indirecciones se accede a otras tablas de i-nodes, con lo que el limite del tamao de los ficheros es grande. (bueno esto lo he explicado un poco por encima se podra explicar extensamente). IN> Me imagino que el ext2 es mejor que el msdos, pero realmente que IN> diferencias hay entre ellos (menos lo de los permisos y la lon- IN> gitud del nombre de los ficheros). Pues como has visto es mas rapido y eficiente, aparte de no tener las limitaciones de usuario, permisos, nombres largos, etc. El tamao de bloque de disco, en MS DOS es fijo en funcin del tamao de la particin, en linux en el momento en que formateas la particin con mkfs (o mk2efs no recuerdo) puedes elegir el tamao del bloque segn vayas a tener mas ficheros pequeos, o mas ficheros grandes. Sistema de ficheros linux (II) El ext2 tiene un tamao de i-nodo fijo entre 1 y 4K, independientemente del tamao de la particin. El tamao del i-nodo se selecciona al crear el sistema de archivos y es seleccionable por el usuario. El ext2 tiene una unidad similar al cluster, llamada bloque, y que es, por lo general de 1K, especificable por el usuario e independiente del tamao de la particin, lo cual asegura un buen aprovechamiento del espacio libre con archivos pequeos. El ext2 no usa una FAT, sino una tabla de i-nodos distribuidos en un nmero determinable de grupos a travs de la superficie, lo cual permite balancear la distribucin de los bloques de archivos en la superficie a travs de dichos grupos para asegurar la mnima fragmentacin. El ext2 tiene un lmite mximo de 4GB de archivo, pero no limita el tamao mximo de la particin a 4GB, como es el caso de la FAT. El ext2 tiene soporte para deteccin de un sistema de archivos desmontado incorrectamente cuando el sistema se apaga de forma errnea, y capacidad para autorecuperarlo en caso de fallo accidental. El ext2 mantiene informacin de la ltima vez que se mont y se accedi al volumen (sistema de archivos), as como del nmero de veces que se ha montado dicho volumen desde la ltima comprobacin automtica, as como la fecha en la que se comprob su integridad por ltima vez. El ext2 permite asignar un porcentaje del disco duro que se reserva para el uso de usuarios con un "uid" y "gid" especficos. El ext2 es un sistema de archivos mucho ms avanzado que el MS-DOS, con soporte de correccin y deteccin de errores, compresin de archivos (todava por implementar), mayor tolerancia a la fragmentacin de archivos y con unos tiempos de respuesta muy superiores, aunque a un coste superior de utilizacin de memoria.

Qu es la Swap?
La swap es un espacio reservado en tu disco duro para poder usarse como una extensin de memoria virtual de tu sistema. Es una tcnica utilizada desde hace tiempo para hacer creer a los programas que existe mas memoria RAM de la que en realidad existe. Es el propio sistema operativo el que se encarga de pasar datos a la swap cuando necesita mas espacio libre en la RAM y viceversa.

11

En Linux, la memoria total disponible por el sistema estar formada por la cantidad de memoria RAM instalada + la swap disponible. El acceso a la swap (disco duro) es mas lento que el acceso a la memoria RAM, por lo que si nuestro ordenador esta muy cargado de trabajo y hace un uso intensivo de la swap, la velocidad del sistema disminuir. Un uso muy intensivo y continuado de la swap es un indicativo de que necesitamos mas memoria en nuestro sistema para que funcione desahogado con el uso que le estamos dando. En linux generalmente se usa como mnimo una particin dedicada a swap (aunque tambin se puede tener un fichero swap).

Cuanta Swap necesito?


Esta es otra pregunta que es difcil de contestar: Todo depender del uso que se le vaya a dar al sistema y del espacio libre que tengamos. Si vas a utilizar muchos programas a la vez y tienes poca memoria RAM, necesitaras mas swap, si tienes mucha RAM, no necesitaras tanta swap. Hay que recordar que un uso no intensivo de la swap es normal y no afectara mucho a la velocidad del sistema, pero como hemos dicho antes, un uso muy intensivo y continuado es un indicativo de que necesitamos mas memoria RAM. No existe una formula mgica para saber cuanto espacio deberamos reservar para swap. Hay que recordar que la memoria total disponible en Linux es RAM + Swap. Como datos orientativos podramos decir que como mnimo, esta combinacin debera ser de 32MB para sistemas que se utilicen en modo texto y de 64MB en adelante para sistemas que se utilicen en modo grfico. Aqu tienes una serie de consejos sobre la swap:

Es recomendable el tener siempre algo de swap configurada, incluso en sistemas con mucha memoria. En linux no se puede tener mas de 128MB en una particin swap, si necesitas mas de 128MB de swap, puedes tener mas de una particin dedicada a swap, por ejemplo, dos de 128MB Si tienes mas de un disco, instala la swap en el que trabaje mas rpido. Si tienes mas de un disco que se puedan acceder simultneamente (por ej. dos SCSI, o dos IDE en diferentes canales IDE), se puede ganar algo de velocidad teniendo una particion swap en cada uno de estos discos.

Para un uso privado "normal-alto" del sistema, aqu tienes unos ejemplos orientativos de la cantidad de swap recomendable:

16MB RAM + 64MB Swap 32MB RAM + 96MB Swap 64MB RAM + 64MB Swap 128MB RAM + 128MB Swap 256MB RAM + 128MB Swap

Como dato anecdtico, decir que existen servidores, en donde la cantidad de swap llega a ser de 256MB y hasta 512MB aunque yo tengo ordenadores con 16MB de RAM y 16MB de Swap como servidores de impresin que funcionan sin ningn problema. En fin, cada uno debe de saber el uso que le va a dar a su sistema y analizar la cantidad de memoria necesaria, aunque si tienes espacio de sobra en el disco, mas vale tener mas Swap disponible que la necesaria, por lo que pueda ocurrir en un futuro, como dice el dicho, mas vale que sobre que no que falte.

12

Manejo de memoria

Qu es una particin? Cmo creo una particin?


Particionar el disco duro es una manera de dividir el disco fsico en varios discos lgicos. O lo que es lo mismo, al particionar un disco, dividimos el disco en varias particiones independientes unas de otras, creando la ilusin de que tenemos diferentes discos, cuando en realidad lo que tenemos es un solo disco fsico dividido en partes. Una particin es una de estas partes (divisiones) del disco. Existen dos clases de particiones: primarias y extendidas. En un disco solo podrs tener como mximo 4 particiones primaria y 1 extendida. En la particin extendida se podrn definir todas (bueno tambin existe un limite, pero es alto) las unidades lgicas que queramos. Con este sistema podemos tener una gran cantidad de particiones en nuestro disco. Cualquier disco que tengamos en nuestro ordenador tiene al menos una particin primaria, que en la mayora de los casos tiene un tamao equivalente al total del disco. Unos ejemplos aclararan las cosas:

Un disco de 1Gb con una sola particin, tendr una particin primaria de 1Gb (total del disco). Ese mismo disco podra tener 4 particiones primarias de 0.25Gb cada una, dando la ilusin de que tenemos 4 discos duros de 0.25Gb en vez de un solo disco de 1Gb. Otra combinacin posible podra ser 4 particiones primarias de 0.10Gb y 1 extendida con 6 unidades lgicas de 0.10Gb, en este caso parecera que tenemos 10 discos duros de 0.10Gb cada uno.

Las combinaciones son mltiples y variadas y dependern de nuestros gustos y de lo que necesitemos. Casi todos los sistemas operativos traen un programa con el que podemos crear, modificar, borrar las particiones de nuestro disco. En Ms-Dos/Windows de llama FDISK, este programa solo puede trabajar con particiones de Ms-Dos/Windows. En Linux tambin se llama FDISK (/sbin/fdisk), pero es un programa mas potente, capaz de trabajar y crear particiones tanto para Linux como otros sistemas operativos. Si vas a trabajar con Linux, es recomendable el uso del FDISK que viene con tu distribucin, para evitar problemas. Al contrario que Ms-Dos, Windows, OS/2, las diferentes particiones en linux no se denominan C:, D:, E:, ...., etc, existe una denominacin propia: Si los discos son IDE:

/dev/hda: Disco duro IDE como master en el canal IDE 1. /dev/hda1: Particin primaria 1 en /dev/hda /dev/hda2: Particin primaria 2 en /dev/hda /dev/hda3: Particin primaria 3 en /dev/hda /dev/hda4: Particin primaria 4 en /dev/hda /dev/hda5: Particin extendida 1 en /dev/hda /dev/hda6: Particin extendida 2 en /dev/hda ..... ..... /dev/hda16: Particin extendida 16 en /dev/hda /dev/hdb: Disco duro IDE como esclavo en el canal IDE 1.

13

/dev/hdb1: Particin primaria 1 en /dev/hdb ........ ........ /dev/hdc: Disco duro IDE como master en el canal IDE 2. /dev/hdc1: Particin primaria 1 en /dev/hdc ........ ........ /dev/hdd: Disco duro IDE como esclavo en el canal IDE 2. /dev/hdd1: Particin primaria 1 en /dev/hdd ........ ........

Si los discos son SCSI:


/dev/sda: Disco duro SCSI nr.1. /dev/sda1: Particin primaria 1 en /dev/sda ........ ........ /dev/sdb: Disco duro SCSI nr.2. /dev/sdb1: Particin primaria 1 en /dev/sdb ........ ........

IMPORTANTE: Es muy importante saber lo que se esta haciendo cuando trabajas con programas que modifican la tabla de particiones de un disco. Al cambiar la tabla de particiones de vuestro disco, se pierden los datos contenidos en las particiones afectadas. Realizar copias de seguridad de los datos que quieras mantener antes de usar FDISK.

Particiones de disco
Con el fin de instalar Linux, debes tener espacio disponible para el. Este espacio de disco necesita estar separado del espacio de disco usado por otros sistemas operativos que puedas tener instalados en tu ordenador, tal que Windows, OS/2, o incluso una versin diferente de Linux. Un disco puede dividirse en diferentes particiones. Se puede acceder cada particin como si fuera un disco separado. Adems cada particin tiene un tipo que se usa para indicar como esta almacenada la informacin en la particin. Por ejemplo, hay distintos tipos de particiones usados por DOS, OS/2, y Linux. Aun si vas a instalar Linux en su propio disco duro, o en un ordenador que no contiene ningn otro sistema operativo, seguirs necesitando crear particiones para que las use Linux. En este caso es muy sencillo, ya que no hay otras particiones en el disco duro de las que preocuparse. Por otra parte, puede querer instalar Linux en un disco que ya contiene software o datos de un sistema operativo diferente. Las cosas pueden ser algo mas delicadas en esta situacin,

14

ya que un error puede destruir tus particiones actuales, por no mencionar los datos que contengan. Durante el proceso de instalacin, tendrs la oportunidad de crear particiones para Linux. Llegado este punto, tu mayor preocupacin ser estar seguro de tener suficiente espacio disponible para las particiones Linux. Djame repasar las diferentes formas de liberar espacio para las particiones Linux. Estrategias para cambiar particiones Hay tres posibles escenarios a los que puedes hacer frente cuando intentas cambiar las particiones de tu disco duro:

Hay espacio libre disponible y no particionado. Hay una particin no usado disponible. Hay espacio libre disponible en una particin usada actualmente.

Veamos cada escenario en orden. Usando espacio libre no particionado Todo el espacio no forma parte de ninguna particin definida. En este caso, puedes crear simplemente las particiones necesarias a partir del espacio libre. Usando una particin no usada El ao pasado reemplazaste tu pequeo disco duro de 105MB en tu sistema Windows por un mounstro de 1.2GB. Lo particionaste en dos partes iguales, pensando en que usaras el ``dispositivo'' C: (en realidad la primera particin del dispositivo) para Windows, y el ``dispositivo'' D: (en realidad ls segunda particin del dispositivo) para tu coleccin de programa de libre distribucin que copiaste de Internet. Bien, has estado tan acostumbrado a usar C: que nunca has puesto nada importante en D:. Si te encuentras en esta situacin, puedes usar el espacio asignado a la particin en desuso. Tendrs que borra la particin, y crear las apropiadas particiones Linux en su lugar. Usando espacio libre de una particin activa Esta es la situacin mas comn. Es adems, desafortunadamente, la mas difcil de tratar. El principal problema es que tenemos el espacio suficiente, pero esta actualmente asignada a una particin en uso. Si compras un ordenador con software preinstalado, el disco duro tendr seguramente una gran particin conteniendo el sistema operativo y los datos. Adems de aadir un nuevo disco duro en tu sistema, tienes otras dos opciones: Cambio de particiones destructivo -- Bsicamente, borras la nica particin grande, y creas varias mas pequeas. Como puedes imaginar, cualquier dato que tengas en esta particin ser destruido. Esto quiere decir que es necesario hacer una copia de seguridad completa. Por tu propio inters, haz dos copias de seguridad, usa la verificacin (si esta disponible en tu software de backup), e intenta leer los datos de la copia de seguridad antes de borrar la particin. Ten tambin en cuenta que si hay un sistema operativo de algn tipo instalado en la particin, ser necesario instalarlo de nuevo tambin. Despus de crear una particin mas pequea para tu software actual, puedes instalar de nuevo cualquier software, restaurar tus datos, y continuar con la instalacin de Linux. Cambio de particiones no destructivo -- En este caso, ejecutas un programa que hace lo que parece imposible; hace una particin grande mas pequea sin perder ninguno de los ficheros almacenados en la particin. Mucha gente ha encontrado este mtodo seguro y

15

libre de problemas; sin embargo, recomendamos que hagas una copia de seguridad de la particin a la que vayamos a cambiar el tamao, por si acaso.

Hardware requerido
El Linux funciona correctamente en un 386 SX con 4 Mb de memoria. Pero se deber tener en cuenta que aquellas aplicaciones con fuerte requerimiento de memoria y carga de la CPU (por ejemplo, las X Windows) irn sumamente lentas. Una configuracin mucho ms 'usable' sera la siguiente: 486 DX 33 MHz o superior, con 8 Mb de memoria RAM y con tarjeta de video VGA o superior. Unidad de CD-ROM es altamente recomendable. Casi mejor habra que decir que imprescindible, dado que las distribuciones vienen en ese formato. En la actualidad, la mayora de ellas estn soportadas por el Linux. Asimismo tiene soporte para mdem y tarjeta de sonido. De todas formas, los propietarios de mquinas inferiores a la descrita (todava queda alguno? };-) que no se desanimen. Simplemente debern tener ms paciencia. Y es mi obligacin puntualizar que muchas veces se obtienen mejores resultados con ms memoria que con ms potencia de CPU. Debo puntualizar que en 286 no funcionar el Linux. El kernel est hecho para 386. Hay, sin embargo, un grupo de gente que est trabajando en una versin de Linux para procesadores 8086, pero an est en fase de proyecto. En cuanto al espacio en disco duro, depender en gran medida de lo que se pretenda hacer desde Linux. Segn el 'Linux installation and getting started', con 10 Mb de particin se puede hacer una instalacin mnima pero usable (personalmente me parece bastante optimista). Yo creo que alrededor de 100 Mb resulta espacio suficiente para un Linux completo, incluidas las X Windows. A partir de ah, lo que cada uno considere... Al hacer clculos del espacio en disco duro necesario, deberemos tener en cuenta que se necesita hacer una particin de swap. El tamao de la misma depender de la cantidad de memoria RAM disponible: a ms memoria, menos swap necesitaremos.

Dnde instalo Linux?


Linux se puede instalar en cualquier disco que tengas en tu sistema y en cualquier particion del disco duro (Primaria o extendida). No podrs tener Linux en una particin compartida con otro sistema operativo, Linux necesita su propia particion/es para funcionar.

Cuantas particiones necesito para Linux?


La respuesta rpida y fcil es: recomendable al menos dos, una para el sistema/datos y otra para Swap. Usualmente se suelen tener tres, una para el sistema/programas (/), otra para los datos (/home) y otra para swap. La respuesta larga y no tan fcil es mas complicada de explicar: Todo depender muchisimo del uso que se le vaya a dar al sistema. Para sistemas que se utilicen de forma particular y por uno o pocos usuarios bastara con las dos/tres particiones antes mencionadas, esto evitara los problemas de saber que cantidad de espacio necesitan las diferentes particiones y el quedarnos sin espacio en alguna particion vital, mientras que nos sobra en otras.

16

Para sistemas servidores, con gran cantidad de servicios y usuarios es muy recomendable tener varias particiones/discos. Existe un documento (HOWTO: Multi Disk System Tuning) muy bueno y quizs complicado para el principiante que explica cuantas particiones y discos y que tamao deberan tener en funcin del uso que se le vaya a dar al sistema, o en cualquier servidor con documentacin Howto.

Porque necesito diferentes particiones?


El particionar el disco, es simplemente una manera de organizar tu disco duro. Podrs organizarlo con una sola particin o en varias. Es el usuario el que deber decidir cuantas particiones tendr su disco, y el tamao de las mismas, hay que recordar, que al menos hay que tener una particin primaria. Desventajas de tener vuestro disco dividido en diferentes particiones.

Ninguna

Ventajas en tener vuestro disco particionado en varias particiones:


Si tienes un error/problema en una de ellas, las dems no se vern afectadas. Poder tener diferentes sistemas operativos en vuestra maquina, totalmente independientes unos de otros. Poder tener vuestros archivos de datos en particiones totalmente independientes. Poder borrar/cambiar el contenido de una particin, sin que esto afecte a las dems. ANEXO

17

CONCLUSIN Una de las ms importantes es que Linux es una excelente eleccin para trabajar con UNIX a nivel personal. Linux permite desarrollar y probar el software UNIX en su PC, incluyendo aplicaciones de bases de datos y X Windows. Con Linux, se puede correr un sistema UNIX y adaptarlo a las necesidades. La instalacin y uso de Linux es tambin una excelente manera de aprender UNIX si no se tiene acceso a otras mquinas UNIX. Linux no es solo para los usuarios personales de UNIX. Es robusto y suficientemente completo para manejar grandes tareas, as como necesidades de cmputo distribuidas. Muchos negocios especialmente los pequeos se estn cambiando a Linux en lugar de otros entornos de estacin de trabajo basados en UNIX. Grandes vendedores de software comercial se estn dando cuenta de las oportunidades que puede brindar un sistema operativo gratuito. Linux es, propiamente, el ncleo de un sistema operativo. Es decir, el conjunto de programas que controla los aspectos ms bsicos del funcionamiento de un ordenador. Su desarrollo lo inici en 1991 Linus Tovalds, entonces estudiante en la Universidad de Helsinki, en Finlandia, y se complet con

GNU/Linux

GNU/Linux es uno de los trminos empleados para referirse a la combinacin del ncleo o kernel libre similar a Unix denominado Linux, que es usado con herramientas
18

de sistema GNU. Su desarrollo es uno de los ejemplos ms prominentes de software libre; todo su cdigo fuente puede ser utilizado, modificado y redistribuido libremente por cualquiera bajo los trminos de la GPL (Licencia Pblica General de GNU, en ingls: General Public License) y otra serie de licencias libres.1 A pesar de que Linux (ncleo) es, en sentido estricto, el sistema operativo,2 parte fundamental de la interaccin entre el ncleo y el usuario (o los programas de aplicacin) se maneja usualmente con las herramientas del proyecto GNU o de otros proyectos como GNOME. Sin embargo, una parte significativa de la comunidad, as como muchos medios generales y especializados, prefieren utilizar el trmino Linux para referirse a la unin de ambos proyectos. Para ms informacin consulte la seccin "Denominacin GNU/Linux" o el artculo "Controversia por la denominacin GNU/Linux". A las variantes de esta unin de programas y tecnologas, a las que se les adicionan diversos programas de aplicacin de propsitos especficos o generales se las denomina distribuciones. Su objetivo consiste en ofrecer ediciones que cumplan con las necesidades de un determinado grupo de usuarios. Algunas de ellas son especialmente conocidas por su uso en servidores y supercomputadoras.3 donde tiene la cuota mas importante del mercado. Segn un informe de IDC, GNU/Linux es utilizado por el 78% de los principales 500 servidores del mundo,4 otro informe le da una cuota de mercado de % 89 en los 500 mayores supercomputadores.5 Con menor cuota de mercado el sistema GNU/Linux tambin es usado en el segmento de las computadoras de escritorio, porttiles, computadoras de bolsillo, telfonos mviles, sistemas embebidos, videoconsolas y otros dispositivos.

Etimologa
El nombre GNU, GNU's Not Unix (GNU no es Unix), viene de las herramientas bsicas de sistema operativo creadas por el proyecto GNU, iniciado por Richard Stallman en 1983 y mantenido por la FSF. El nombre Linux viene del ncleo Linux, inicialmente escrito por Linus Torvalds en 1991. La contribucin de GNU es la razn por la que existe controversia a la hora de utilizar Linux o GNU/Linux para referirse al sistema operativo formado por las herramientas de GNU y el ncleo Linux en su conjunto.6 7

Historia

Richard Matthew Stallman, iniciador del proyecto GNU.

19

Linus Torvalds, creador del ncleo Linux.


Artculos principales: Historia de Linux y Historia del proyecto GNU

El proyecto GNU, que fue iniciado en 1983 por ,Richard Stallman;8 tiene como objetivo el desarrollo de un sistema operativo Unix completo y compuesto enteramente de software libre. La historia del ncleo Linux est fuertemente vinculada a la del proyecto GNU. En 1991 Linus Torvalds empez a trabajar en un reemplazo no comercial para MINIX9 que ms adelante acabara siendo Linux. Cuando Torvalds liber la primera versin de Linux, el proyecto GNU ya haba producido varias de las herramientas fundamentales para el manejo del sistema operativo, incluyendo un intrprete de comandos, una biblioteca C y un compilador, pero como el proyecto contaba con una infraestructura para crear su propio sistema operativo, el llamado Hurd, y este an no era lo suficiente maduro para usarse, comenzaron a usar a Linux a modo de continuar desarrollando el proyecto GNU, siguiendo la tradicional filosofa de mantener cooperatividad entre desarrolladores. El da en que se estime que Hurd es suficiente maduro y estable, ser llamado a reemplazar a Linux. Entonces, el ncleo creado por Linus Torvalds, quien se encontraba por entonces estudiando en la Universidad de Helsinki, llen el "espacio" final que haba en el sistema operativo de GNU.

Componentes
Entorno grfico Linux puede funcionar tanto en entorno grfico como en modo consola. La consola es comn en distribuciones para servidores, mientras que la interfaz grfica est orientada al usuario final tanto de hogar como empresarial. Un escritorio es un conjunto de elementos conformado por ventanas, iconos y similares que facilitan la utilizacin del computador. Los escritorios ms populares en Linux, en orden alfabtico son Android (debido a su xito comercial en telfonos mviles y tablets), GNOME, KDE, LXDE, Xfce y Xf.[cita requerida]. Intel anunci productos de consumo basados en MeeGo para mediados del 2011, por lo que es probable que este entorno tenga una creciente importancia en los prximos aos.
20

Como sistema de programacin La coleccin de utilidades para la programacin de GNU es con diferencia la familia de compiladores ms utilizada en este sistema operativo. Tiene capacidad para compilar C, C++, Java, Ada, entre otros muchos lenguajes. Adems soporta diversas arquitecturas mediante la compilacin cruzada, lo que hace que sea un entorno adecuado para desarrollos heterogneos. Hay varios entornos de desarrollo integrados disponibles para GNU/Linux incluyendo, Anjuta, KDevelop, Ultimate++, Code::Blocks, NetBeans IDE y Eclipse. Tambin existen editores extensibles como Emacs o Vim. GNU/Linux tambin dispone de capacidades para lenguajes de guin (script), aparte de los clsicos lenguajes de programacin de shell, o el de procesado de textos por patrones y expresiones regulares llamado awk, la mayora de las distribuciones tienen instalado Python, Perl, PHP y Ruby. Aplicaciones de usuario

Escritorio KDE 4.6

Escritorio GNOME 2.28

21

Escritorio XFCE 4.4

Escritorio LXDE 0.5.0

Las aplicaciones para Linux se distribuyen principalmente en los formatos principalmente .deb y .rpm, los cuales fueron creados por los desarrolladores de Debian y Red Hat respectivamente. Tambin existe la probabilidad de instalar aplicaciones a partir de cdigo fuente en todas las distribuciones. Software de cdigo cerrado para GNU/Linux Durante la etapa temprana haba pocas aplicaciones de cdigo cerrado para GNU/Linux. Con el tiempo se fueron portando programas no libres al sistema GNU/Linux, entre ellos Adobe Reader, Adobe Flash, Google Picasa, Opera, entre otros.

Empresas que patrocinan su uso


Con la adopcin por numerosas empresas fabricantes, un buen nmero de computadoras se venden con distribuciones pre-instaladas, y GNU/Linux ha comenzado a tomar su lugar en el vasto mercado de las computadoras de escritorio. Algunas de las empresas que colaboran en la difusin de este sistema operativo ya sea trabajando en el ncleo Linux, proporcionando soluciones de software o preinstalando el sistema operativo, son: Intel ,10 11 12 Google,13 14 15 16 IBM,17 AMD,18 19 20 21 Sun Microsystems,22 Dell,23 24 Lenovo,25 26 Asus,27 Hewlett-Packard (HP),28 29 30 Silicon Graphics International (SGI),31 Renesas Technology,32 Fujitsu,33 Analog Devices,34 Freescale,35 VIA Technologies,36 Oracle,37 Novell38 y RedHat,39 entre otras.40 El respaldo de compaas de software tambin est presente, ya que, entre otras aplicaciones, Nero, Java, Google Earth, Google Desktop, Adobe Reader, Adobe Flash, RealPlayer y Yahoo! Messenger estn disponibles para GNU/Linux.

Cuota de mercado
Numerosos estudios cuantitativos sobre software de cdigo abierto estn orientados a tpicos como la cuota de mercado y la fiabilidad, y ciertamente muchos de estos estudios examinan especficamente a GNU/Linux.41 .

Cuota de mercado vs Cuota de uso


La medicin "cuota de mercado" puede resultar inservible ya que es un concepto basado en ventas comerciales (unidades materiales vendidas). Por otro lado Linux es utilizado frecuentemente en servidores con acceso pblico desde Internet por lo que la cuota de
22

mercado es extremadamente inferior a la cuota de uso. Baste notar, p.ej, que Facebook, Gmail, LinkedIn o Yahoo funcionan sobre servidores GNU/Linux, de forma que aun cuando estemos accediendo desde un navegador ejecutndose en Windows/Mac, la aplicacin real se est ejecutando en servidores Linux y los datos estn almacenndose igualmente en dichos servidores.

Ventajas Argumentos en favor de GNU/Linux


La creciente popularidad de GNU/Linux se debe, entre otras razones, a su estabilidad, al acceso al cdigo fuente (lo que permite personalizar el funcionamiento y auditar la seguridad y privacidad de los datos tratados), a la independencia de proveedor, a la seguridad, a la rapidez con que incorpora los nuevos adelantos tecnolgicos (IPv6, microprocesadores de 64 bits), a la escalabilidad (se pueden crear clusters de cientos de computadoras), a la activa comunidad de desarrollo que hay a su alrededor, a su interoperatibilidad y a la abundancia de documentacin relativa a los procedimientos.

IBM Roadrunner, la supercomputadora ms potente de 2008, funciona bajo una distribucin GNU/Linux

Hay varias empresas que comercializan soluciones basadas en GNU/Linux: IBM, Novell (SuSE), Red Hat (RHEL), Mandriva (Mandriva Linux), Rxart, Canonical Ltd. (Ubuntu), as como miles de PYMES que ofrecen productos o servicios basados en esta tecnologa.

Aplicaciones
Supercomputadoras Dentro del segmento de supercomputadoras, a noviembre de 2009, el uso de este sistema ascendi al 89,2% de las computadoras ms potentes del mundo por su confiabilidad, seguridad y libertad para modificar el cdigo.42 De acuerdo con TOP500.org, que lleva estadsticas sobre las 500 principales supercomputadoras del mundo, a noviembre de 2009: 446 usaban una distribucin basada en GNU/Linux, 25 Unix, 23 mezclas, 1 BSD y 5 Windows. Las primeras 19 supercomputadoras, incluidas la nmero 1 la Jaguar, Cray XT5-HE con 224,162 procesadores utilizan distribuciones basadas en GNU/Linux.43 GNU/Linux, adems de liderar el mercado de servidores de Internet debido, entre otras cosas, a la gran cantidad de soluciones que tiene para este segmento, tiene un crecimiento progresivo en computadoras de escritorio y porttiles. Adems, es el sistema base que se ha elegido para el proyecto OLPC: One Laptop Per Child.44

23

Para saber ms sobre las arquitecturas soportadas, lea el artculo "Portabilidad del ncleo Linux y arquitecturas soportadas".

Administracin Pblica
Hay una serie de administraciones pblicas que han mostrado su apoyo al software libre, sea migrando total o parcialmente sus servidores y sistemas de escritorio, sea subvencionndolo. Como ejemplos se tiene a Alemania, Argentina, Australia, Brasil, Espaa, Chile, China, Cuba, Mxico, Per, Repblica Dominicana, Ecuador, El Salvador, Uruguay o Venezuela.

Denominacin GNU/Linux
Parte de la comunidad y numerosos medios prefieren denominar a esta combinacin como Linux, aunque GNU/Linux (con las variantes GNU con Linux y GNU+Linux) es la denominacin defendida por el Proyecto GNU y la FSF junto con otros desarrolladores y usuarios para el conjunto que utiliza el sistema operativo Linux en conjunto con las aplicaciones de sistema creadas por el proyecto GNU y por muchos otros proyectos de software.45 46 Desde 1984, Richard Stallman y muchos voluntarios estn intentando crear un sistema operativo libre con un funcionamiento similar al UNIX, recreando todos los componentes necesarios para tener un sistema operativo funcional. A comienzos de los aos 90, unos seis aos desde el inicio del proyecto, GNU tena muchas herramientas importantes listas, como editores de texto, compiladores, depuradores, intrpretes de comandos de rdenes etc., excepto por el componente central: el ncleo. GNU tena su propio proyecto de ncleo, llamado Hurd. Sin embargo, su desarrollo no continu como se esperaba al aparecer el ncleo Linux. De esta forma se completaron los requisitos mnimos y surgi el sistema operativo GNU que utilizaba el ncleo Linux. El principal argumento de los defensores de la denominacin GNU/Linux es resolver la posible confusin que se puede dar entre el ncleo (Linux) y gran parte de las herramientas bsicas del resto del sistema operativo (GNU). Adems, tambin se espera que, con el uso del nombre GNU, se d al proyecto GNU el reconocimiento por haber creado las herramientas de sistema imprescindibles para ser un sistema operativo compatible con UNIX, y se destaque la cualidad de estar compuesto slo por software libre. La primera distribucin que incluy el GNU en su nombre fue Yggdrasyl en 1992, donde apareca como Linux/GNU/X. La FSF denomin a este sistema "Linux" hasta al menos junio de 199447 y recin a partir de enero de 1995 empez a llamarlo "GNU/Linux" (tambin GNU+Linux y lignux, trminos que han cado en desuso a instancias del propio Stallman).48 Algunas distribuciones apoyan esta denominacin, e incluyen GNU/Linux en sus nombres, como Debian GNU/Linux o GNU/LinEx, mientras que otras, como Slackware, Gentoo o Ubuntu, eligen denominarse basadas en Linux.49 50 51 En ocasiones, el proyecto KDE ha utilizado una tercera denominacin: GNU/Linux/X para enfatizar los tres proyectos sobre los que se apoya su entorno de escritorio.
GNU / Linux

Algunas distribuciones
24

Fedora 14 Actualmente

Gentoo Linux 11 Actualmente

openSUSE 11.4 Actualmente

Ubuntu 11.04 Actualmente

Glosario de trminos
A continuacin se presentan algunos trminos tpicos de Linux que conviene conocer Para cada trmino se indican los siguientes aspectos:

Trmino y Descripcin, que definen brevemente el significado Complejidad: Usuario (sencillo) o Tcnico (para iniciados) Contexto, que marca el mbito en que se aplica el trmino: 1. Configuracin, si describer formas de modificar el comportamiento de un sistema ya instalado 2. Instalacin, si se refiere a la instalacin del sistema o de nuevas aplicaciones 3. Aplicacin, si es un programa 4. Desarrollo, si es una herramienta de programacin 5. Interfaz, si se refiere al interfaz de usuario (ventanas) 6. Servicios, si son funcionalidades internas del sistema Contexto Nivel Descripcin

Trmino

25

DB2 Oracle MySQL mSQL man fetchmail ispell

Aplicacin Aplicacin Aplicacin Aplicacin Aplicacin Aplicacin Aplicacin

Tcnico Base de datos SQL de IBM Tcnico Base de datos SQL muy extendida en el mercado

Tcnico Base de datos SQL sencilla Tcnico Base de datos SQL sencilla Tcnico Programa de ayuda de Unix Tcnico Programa para recuperar el correo del buzn Tcnico Programa para revisar la ortografa de un texto en mltiples idiomas Ventana de Xwindows que simula una consola con un shell

xterm Netscape Gimp StarOffice Apache Chat

Aplicacin Aplicacin Aplicacin Aplicacin Aplicacin

Tcnico

Usuario Navegador para acceso a Internet Usuario Programa de diseo grfico Usuario Programa ofimtico con hoja de clculo, procesador de textos, etc

Usuario Programa servidor de Web (HTML) Conversacin en Internet mediante programas que permiten intercambiar texto Directorio donde se almacena la configuracin de Unix Directorio donde se definen los dispositivos (discos, terminales, puertos) del sistema Espacio de disco destinado a memoria temporal para el sistema Fichero que almacena la configuracin de Xwindows en Linux

Configuracin Tcnico

etc

Configuracin Tcnico

dev

Configuracin Tcnico

swap

Configuracin Tcnico

XF86Config

Configuracin Tcnico

core

Fichero que genera el sistema cuando un Configuracin Tcnico programa falla. Contiene informacin que permite averiguar qu sucedi

mount/umount Configuracin Tcnico Los disquettes y otros dispositivos deben 'montarse' en el sistema antes de poder 26

utilizarse kernel sendmail POP3 Configuracin Tcnico Programa principal de Linux que ejecuta las funciones bsicas del sistema

Configuracin Tcnico Programa servidor para transmitir correo Configuracin Tcnico Protocolo de acceso al correo en buzones remotos Protocolo para acceso a internet desde un PC con un modem Protocolo para la transmisin de correo en Internet El usuario que administra el sistema y que posee todos los privilegios Pantalla donde se pueden teclear comandos para gobernar el sistema Lenguaje casi universal de acceso a bases de datos Lenguaje de programacin muy utilizado para desarrollar servicios web Lenguaje de programacin portable de ltima generacin

PPP

Configuracin Tcnico

SMTP

Configuracin Tcnico

root

Configuracin Usuario

Consola

Configuracin Usuario

SQL

Desarrollo

Tcnico

perl

Desarrollo

Tcnico

Java

Desarrollo

Tcnico

Tcl/Tk

Desarrollo

Lenguaje de programacin y librera grfica Tcnico para desarrollar aplicaciones portables sencillas Lenguajes de programacin complejos con los Tcnico que se desarrollan los sistemas ms sofisticados de Unix Tcnico Programa para desarrollo (en Java y otros lenguajes) de IBM

C, C++

Desarrollo

VisualAge SuSE Red Hat Caldera

Desarrollo Instalacin Instalacin Instalacin

Usuario Distribucin Linux Usuario Distribucin Linux Usuario Distribucin Linux

27

Slackware Eureliec Debian Corel

Instalacin Instalacin Instalacin Instalacin

Usuario Distribucin Linux Usuario Distribucin Linux en espaol basada en Red Hat

Usuario Distribucin Linux pura GNU Usuario Empresa que distribuye CorelLinux y WordPerfect Formato de distribucin de ficheros tar con compresin Formato de distribucin de ficheros tpico de Unix

tar.gz o tgz

Instalacin

Usuario

tar deb rpm alien

Instalacin Instalacin Instalacin Instalacin

Usuario

Usuario Formato de distribucin de programas Debian Usuario Formato de distribucin de programas Red Hat Usuario Programa que convierte entre diversos formatos de distribucin de aplicaciones Un CD con todo lo necesario para instalar y utilizar Linux

distribucion FVWM KDE Gnome

Instalacin Interfaz Interfaz Interfaz

Usuario

Usuario Desktop para Linux Usuario Desktop para Linux Usuario Desktop para Linux Usuario Desktop por defecto en Red Hat Entorno con ventanas, iconos y mens para Usuario gobernar el sistema de forma sencilla basado en X Windows Usuario La versin de Xwindows de Linux Sistema de comunicaciones y entorno de Usuario ventanas tpico de Unix, aunque disponible para mltiples sistemas Programa basado en lnea de comandos que Tcnico permite ejecutar rdenes para gobernar el sistema Tcnico Programa para comprobar la correccin del 28

AnotherLevel Interfaz

Desktop

Interfaz

XFree86

Interfaz

Xwindows

Interfaz

Shell

Servicios

fsck

Servicios

contenido de los discos en Unix cron Servicios Tcnico Programa servidor que ejecuta tareas peridicamente

anacron

Servicios

Programa servidor que ejecuta tareas Tcnico peridicamente en ordenadores que no siempre estn encendidos Tcnico Protocolo de terminal de usuario en entornos IBM Dispositivos que definen una impresora en Unix Dispositivos que definen un terminal (pantalla) en Unix Guas prcticas para resolver problemas concretos en Linux (cmo hacer) Lenguaje para impresoras que permite imprimir documentos de forma casi universal Programa que permite la transmisin de ficheros en Internet Protocolo para acceder a ficheros e impresoras de sistemas remotos Windows 95/98/NT (SMB)

3270

Servicios

lp

Servicios

Usuario

tty

Servicios

Usuario

how-to

Servicios

Usuario

Postscript

Servicios

Usuario

ftp

Servicios

Usuario

Samba GNU LPR y LPD Unix

Servicios Servicios Servicios Servicios

Usuario

Usuario Proyecto para el desarrollo de software gratuto Usuario Sistema de impresin tpico de Unix Usuario Sistema Operativo muy extendido. Linux es un tipo de Unix Sistema para compartir ficheros entre distintos ordenadores tpico de Unix

NFS

Servicios

Usuario

29

Você também pode gostar