jueves, 7 de julio de 2011


Instituto: Superior Sagrado Corazón.


Materia: Sistema de Procesamiento de Datos I.

Cuatrimestre: Primero.


Profesora: Doris Torazza.


Alumnos: - Inamorato karina.
                     - López Franco.
                     - Suarez Hugo.

Agradecimientos



Los integrantes del grupo queremos expresar el más sincero agradecimiento a nuestra profesora de la materia Doris Torazza, por su colaboración y paciencia, para realizar este trabajo; además de agradecer al Instituto por ceder las máquinas para realizar la búsqueda del material.

Introducción


Linux es un sistema operativo, compatible Unix. Dos características muy peculiares lo diferencian del resto de sistemas que podemos encontrar en el mercado, la primera, es que es libre, esto significa que no tenemos que pagar ningún tipo de licencia a ninguna casa desarrolladora de software por el uso del mismo, la segunda, es que el sistema viene acompañado del código fuente.  
El sistema lo forman el núcleo del sistema (kernel) más un gran número de programas / bibliotecas que hacen posible su utilización. Muchos de estos programas y bibliotecas han sido posibles gracias al proyecto GNU, por esto mismo, muchos llaman a Linux, GNU/Linux, para resaltar que el sistema lo forman tanto el núcleo como gran parte del software producido por el proyecto GNU.  
El sistema ha sido diseñado y programado por multitud de programadores alrededor del mundo.  Linux se distribuye bajo la GNU General Public License por lo tanto, el código fuente tiene que estar siempre accesible y cualquier modificación o trabajo derivado tiene que tener esta licencia.
El sistema ha sido diseñado y programado por multitud de programadores alrededor del mundo.  Dia a dia, más y más programas y aplicaciones están disponibles para este sistema, y la calidad de los mismos aumenta de versión a versión. La gran mayoría de los mismos vienen acompañados del código fuente y se distribuyen generalmente bajo los términos de licencia de la GNU General Public License.

Núcleo Monolítico


Un núcleo monolítico es un tipo de núcleo o kernel de un sistema operativo. Como ejemplo de sistema operativo de núcleo monolítico están UNIX, Linux y FreeBSD.
Estos sistemas tienen un núcleo grande y complejo, que engloba todos los servicios del sistema.
Está programado de forma no modular, y tiene un rendimiento mayor que un micronúcleo. Sin embargo, cualquier cambio a realizar en cualquier servicio requiere la recompilación del núcleo y el reinicio del sistema para aplicar los nuevos cambios.  Hay diversas ramificaciones de este diseño, que se han ido amoldando a nuevas necesidades. Podemos citar el sistema de módulos ejecutables en tiempo de ejecución, que le brinda al modelo de núcleo monolítico algunas de las ventajas de un micronúcleo.
Dichos módulos pueden ser compilados, modificados, cargados y descargados en tiempo de ejecución, de manera similar a los servicios de un micronúcleo, pero con la diferencia de que se ejecutan en el espacio de memoria del núcleo mismo (anillo 0). De esta forma, un bloqueo del módulo, es probable que bloquee todo el núcleo. Además, el módulo pasa a formar un todo con el núcleo, usando la API del mismo, y no se emplea un sistema de mensajes como en los micronúcleos. Este es el esquema usado por, entre otros, Linux, FreeBSD y varios derivados de UNIX. Cabe resaltar que el paso constante de mensajes entre los servicios del micronúcleo, es en parte responsable del pobre rendimiento de los micronúcleos.   
Un sistema operativo con núcleo monolítico concentra todas las funcionalidades posibles (planificación, sistema de archivos, redes, controladores de dispositivos, gestión de memoria, etc) dentro de un gran programa. El mismo puede tener un tamaño considerable, y deberá ser recompilado por completo al añadir una nueva funcionalidad. Todos los componentes funcionales del núcleo tienen acceso a todas sus estructuras de datos internas y a sus rutinas. Un error en una rutina puede propagarse a todo el núcleo.  La alternativa es tener una estructura de micronúcleo, donde las partes funcionales están divididas en unidades separadas con mecanismos de comunicación estrictos entre ellos.    

Micronúcleo


Micronúcleo (en inglés: microkernel) es un tipo de núcleo de un sistema operativo que provee un conjunto de primitivas o llamadas al sistema mínimas, para implementar servicios básicos como espacios de direcciones, comunicación entre procesos y planificación básica. Todos los otros servicios (gestión de memoria, sistema de archivos, operaciones de E/S, etc.), que en general son provistos por el núcleo, se ejecutan como procesos servidores en espacio de usuario.
Las principales ventajas de su utilización son la reducción de la complejidad, la descentralización de los fallos (un fallo en una parte del sistema no lo colapsaría por completo) y la facilitación para crear y depurar controladores de dispositivos.  Por otro lado, sus principales dificultades son la complejidad en la sincronización de todos los módulos que componen el micronúcleo y su acceso a la memoria, la anulación de las ventajas de Zero Copy, la Integración con las aplicaciones. Además, los procesadores y arquitecturas modernas de hardware están optimizadas para sistemas de núcleo que pueden mapear toda la memoria.  
Esto mejora la tolerancia a fallos y eleva la portabilidad entre plataformas de hardware, según los defensores de esta tendencia. Sus detractores le achacan, fundamentalmente, mayor complejidad en el código, menor rendimiento, o limitaciones en diversas funciones.         

Sistema Operativo UNIX


Unix (registrado oficialmente como UNIX®) es un sistema operativo portable, multitarea y multiusuario; desarrollado, en principio, en 1969 por un grupo de empleados de los laboratorios Bell de AT&T, entre los que figuran Ken Thompson, Dennis Ritchie y Douglas McIlroy.
Hasta 2009, el propietario de la marca UNIX® fue The Open Group, un consorcio de normalización industrial. A partir de marzo de 2010 y tras una larga batalla legal, esta ha pasado nuevamente a ser propiedad de Novell, Inc. Sólo los sistemas totalmente compatibles y que se encuentran certificados por la especificación Single UNIX Specification pueden ser denominados "UNIX®" (otros reciben la denominación "similar a un sistema Unix" o "similar a Unix"). En ocasiones, suele usarse el término "Unix tradicional" para referirse a Unix o a un sistema operativo que cuenta con las características de UNIX Versión 7 o UNIX System V.

Minix


MINIX es un clon del sistema operativo Unix distribuido junto con su código fuente y desarrollado por el profesor Andrew S. Tanenbaum en 1987. La última versión oficial de Minix es la 3.1.5, publicada el 5 de Noviembre de 2009.  Fue creado para enseñar a sus alumnos el diseño de sistemas operativos en la Vrije Universiteit de Ámsterdam. La razón de su desarrollo fue porque Unix estaba bajo restricciones de licencia de AT&T, era demasiado complicado y corría sobre máquinas complejas; algo completamente antipedagógico.
Gracias a su reducido tamaño, diseño basado en el paradigma del micronúcleo, y su amplia documentación, resulta bastante apropiado para personas que desean instalar un sistema operativo compatible con Unix en su máquina personal así como aprender sobre su funcionamiento interno.
MINIX fue desarrollado para correr sobre IBM PC con procesador Intel 8088 o superior, aunque se han creado conversiones para otros sistemas.  
Debido al enfoque puramente educacional de MINIX, Tanenbaum no permitía que este fuera modificado demasiado ya que esto complicaría el sistema y no permitiría que sus estudiantes lo entendieran en un semestre. Por estos motivos, Linus Torvalds decidió escribir su propio núcleo de sistema operativo (Linux) compatible con Unix. En simbiosis con las herramientas de GNU surgió GNU/Linux, que ha ganado protagonismo en el campo de los Unix para ordenadores compatibles con el IBM PC, principalmente debido a que su licencia (GPL) que permite la modificación del mismo. Actualmente Minix se distribuye con una licencia similar a la licencia BSD, lo que permite su modificación.
Para una persona poco familiarizada con los elementos internos de un sistema operativo, MINIX es una buena opción que le permite entender casi todos los elementos del sistema con solo algunos meses de uso y estudio.     

GNU

En lo relativo a GNU, decir que es un proyecto iniciado por Richard Stallman, con el objetivo de crear un sistema operativo completo libre: el sistema GNU. El 27 de septiembre de 1983 se anunció públicamente el proyecto por primera vez en el grupo de noticias net.unix-wizards. Al anuncio original, siguieron otros ensayos escritos por Richard Stallman como el “Manifiesto GNU”, que establecieron sus motivaciones para realizar el proyecto GNU, entre las que destaca “volver al espíritu de cooperación que prevaleció en los tiempos iniciales de la comunidad de usuarios de computadoras”. GNU es un acrónimo recursivo que significa “GNU No es Unix”.   
El término Linux estrictamente se refiere al núcleo Linux, pero es más comúnmente utilizado para describir al sistema operativo tipo Unix, que utiliza primordialmente filosofía y metodologías libres (también conocido como GNU/Linux) y que está formado mediante la combinación del núcleo Linux con las bibliotecas y herramientas del proyecto GNU y de muchos otros proyectos/grupos de software (libre o no libre).   
Por tanto, el sistema operativo que utiliza el kernel Linux, en conjunto con las aplicaciones de sistema creadas por el proyecto GNU es lo que se conoce como GNU/Linux. A pesar de ello, comúnmente este sistema operativo es denominado como Linux, aunque esta denominación no es correcta.

Licencia GNU


La Licencia Pública General de GNU o más conocida por su nombre en inglés GNU General Public License o simplemente sus siglas del inglés GNU GPL, es una licencia creada por la Free Software Foundation en 1989 (la primera versión), y está orientada principalmente a proteger la libre distribución, modificación y uso de software. Su propósito es declarar que el software cubierto por esta licencia es software libre y protegerlo de intentos de apropiación que restrinjan esas libertades a los usuarios.

Validez legal


La licencia GPL, al ser un documento que cede ciertos derechos al usuario, asume la forma de un contrato, por lo que usualmente se la denomina contrato de licencia o acuerdo de licencia. En los países de tradición anglosajona existe una distinción doctrinal entre licencias y contratos, pero esto no ocurre en los países de tradición civil o continental. Como contrato, la GPL debe cumplir los requisitos legales de formación contractual en cada jurisdicción. La licencia ha sido reconocida por juzgados en Alemania, particularmente en el caso de una sentencia en un tribunal de Múnich, lo que indica positivamente su validez en jurisdicciones de derecho civil.

Historia de Linux


En 1983 Richard Stallman inició el Proyecto GNU, con el propósito de crear un sistema operativo similar y compatible con UNIX y los estándares POSIX. Dos años más tarde, 1985, creó la Fundación del Software Libre (FSF) y desarrolló la Licencia pública general de GNU (GNU GPL), para tener un marco legal que permitiera difundir libremente el software. De este modo el software de GNU fue desarrollado muy rápidamente, y por muchas personas. A corto plazo, se desarrolló una multiplicidad de programas, de modo que a principios de los años 1990 había casi bastante software disponible como para crear un sistema operativo completo. Sin embargo, todavía le faltaba un núcleo.  
Como ya se ha dicho, la historia de Linux está fuertemente vinculada a la del proyecto GNU. El proyecto GNU, iniciado en 1983, tiene como objetivo el desarrollo de un sistema Unix completo compuesto enteramente de software libre. Hacia 1991, cuando la primera versión del núcleo Linux fue liberada, el proyecto GNU había producido varios de los componentes del sistema, incluyendo un intérprete de comandos, una biblioteca C y un compilador.
El proyecto GNU aún no contaba con el núcleo que definiría un sistema operativo. Sin embargo, el núcleo creado por Linus Torvalds, quien se encontraba por entonces estudiando en la Universidad de Helsinki, llenó el hueco final que el sistema operativo GNU exigía. Consecuentemente, miles de programadores voluntarios alrededor del mundo han participado en el proyecto, mejorándolo continuamente. Torvalds y otros desarrolladores de los primeros días de Linux adaptaron los componentes de GNU para trabajar con el núcleo de Linux, creando un sistema operativo completamente funcional.

caracteristicas



  • Multitarea: La palabra multitarea describe la habilidad de ejecutar varios programas al mismo tiempo. LINUX utiliza la llamada multitarea preeventiva,la cual asegura que todos los programas que se estan utilizando en un momento dado seran ejecutados, siendo el sistema operativo el encargado de ceder tiempo de microprocesador a cada programa.
  • Multiusuario:Muchos usuarios usando la misma maquina al mismo tiempo.
  • Multiplataforma: Las plataformas en las que en un principio se puede utilizar Linux son 386-, 486-. Pentium, Pentium Pro, Pentium II,Amiga y Atari, tambien existen versiones para su utilizacion en otras plataformas, como amd64, Alpha, ARM, MIPS, PowerPC y SPARC.
  • Multiprocesador: Soporte para sistemas con mas de un procesador esta disponible para Intel, AMD y SPARC.
  • Protección de la memoria entre procesos, de manera que uno de ellos no pueda colgar el sistema.
  • Carga de ejecutables por demanda: Linux sólo lee del disco aquellas partes de un programa que están siendo usadas actualmente.
  • Política de copia en escritura para la compartición de páginas entre ejecutables: esto significa que varios procesos pueden usar la misma zona de memoria para ejecutarse. Cuando alguno intenta escribir en esa memoria, la página (4Kb de memoria) se copia a otro lugar. Esta política de copia en escritura tiene dos beneficios: aumenta la velocidad y reduce el uso de memoria.
  • Memoria virtual usando paginación (sin intercambio de procesos completos) a disco: A una partición en el sistema de archivos, con la posibilidad de añadir más áreas de intercambio sobre la marcha.
  • Compatible con POSIX, System V y BSD a nivel fuente.
  • Todo el codigo fuente esta disponible, incluyendo el núcleo completo y todos los drivers, las herramientas de desarrollo y todos los programas de usuario; además todo ello se puede distribuir libremente. Hay algunos programas comerciales que están siendo ofrecidos para Linux actualmente sin código fuente, pero todo lo que ha sido gratuito sigue siendo gratuito.
  • Emulación de 387 en el núcleo, de tal forma que los programas no tengan que hacer su propia emulación matemática. Cualquier máquina que ejecute Linux parecerá dotada de coprocesador matemático. Por supuesto, si el ordenador ya tiene una FPU (unidad de coma flotante), esta será usada en lugar de la emulación, pudiendo incluso compilar tu propio kernel sin la emulación matemática y conseguir un pequeño ahorro de memoria.
  • Soporte para varios sistemas de archivo comunes, incluyendo minix-1, Xenix y todos los sistemas de archivo típicos 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 es necesario ningún comando especial para usar la partición MS-DOS, esta parece un sistema de archivos normal de Unix (excepto por algunas restricciones en los nombres de archivo, permisos, y esas cosas).
  • Sistema de archivos de CD-ROM que lee todos los formatos estándar de CD-ROM.
  • TCP/IP, incluyendo ssh, ftp, telnet, NFS, etc.
  • Appletalk.
  • Software cliente y servidor Netware.
  • Lan Manager / Windows Native (SMB), software cliente y servidor.
  • Diversos protocolos de red incluidos en el kernel: TCP, IPv4, IPv6, AX.25, X.25, IPX, DDP, Netrom, etc.

Distribuciones linux


Una distribución Linux, o distribución GNU/Linux (abreviada con frecuencia distro) es un conjunto de aplicaciones reunidas que permiten brindar mejoras para instalar fácilmente un sistema Linux (también llamado GNU/Linux). Son ‘ramas’ de Linux que, en general, se destacan por las herramientas para configuración y sistemas de paquetes de software a instalar.

Existen numerosas distribuciones Linux. Cada una de ellas puede incluir cualquier número de software adicional (libre o no), como algunos que facilitan la instalación del sistema y una enorme variedad de aplicaciones, entre ellos, entornos gráficos, suites ofimáticas, servidores web, servidores de correo, servidores FTP, etcétera. La base de cada distribución incluye el núcleo Linux, con las bibliotecas y herramientas del proyecto GNU y de muchos otros proyectos/grupos de software, como BSD.





Las “ramas” principales


>Debian


Debian, más correctamente llamada Debian GNU/Linux, es una de las distribuciones Linux más importantes, y en la que se basan otras muchas.  

Fue creada por el proyecto Debian en el año 1993, la organización responsable de la creación y mantenimiento de la misma distribución, centrado en GNU/Linux y utilidades GNU. Nace como una apuesta por separar en sus versiones el software libre del software no libre. El modelo de desarrollo es independiente a empresas, creado por los propios usuarios, sin depender de ninguna manera de necesidades comerciales. Debian no vende directamente su software, lo pone a disposición de cualquiera en Internet, aunque sí permite a personas o empresas distribuir comercialmente este software mientras se respete su licencia.

Entre sus principales características se encuentran:  

* Una disponibilidad en varias plataformas hardware. La versión 3.1a es compatible con 11 plataformas.

* Una amplia colección de software disponible. La versión 3.1a viene con unos 15490 paquetes.  

* Un grupo de herramientas para facilitar el proceso de instalación y actualización del software  

* No tiene marcado ningún entorno gráfico en especial, ya sea GNOME, KDE u otro.   



>Mandriva   


Mandriva Linux (antes Mandrakelinux y Mandrake Linux) es una distribución Linux aparecida en julio de 1998 propiedad de Mandriva, y fundamentalmente enfocada a principiantes o usuarios medios. Apoya también totalmente la licencia GNU GPL, y ofrece públicamente su distribución en formato ISO, sus asistentes o sus repositorios.  

Sus características más destacadas son:  
*Internacionalización: Mandriva Linux está disponible en unos 74 idiomas. Especialmente de calidad son sus traducciones al Español, Catalán y Portugués.  

*Instalación, control y administración: El instalador de Mandriva Linux es, probablemente, el más amigable de entre las diferentes distribuciones de Linux. El instalador está traducido a más de 70 idiomas. De la misma forma, dispone de numerosos asistentes en modo gráfico que hacen las tareas de configuración y administración más fácil, lo que la hace muy adecuada para usuarios principiantes.

*Software: Mandriva Linux, que forma parte del grupo LSB (Linux Standard Base), viene con 12.306 paquetes de software (versión 2006), incluyendo juegos, programas de oficina, servidores y utilidades de Internet. Además, a diferencia de otras distribuciones, no se basa en un único entorno de escritorio. Así, Mandriva proporciona apoyo tanto a KDE como a Gnome.    



>Ubuntu  


Ubuntu es una distribución de Linux que ofrece un sistema operativo predominantemente enfocado a ordenadores de escritorio. Basada en Debian GNU/Linux, Ubuntu concentra su objetivo en la facilidad de uso, la libertad en la restricción de uso, los lanzamientos regulares y la facilidad en la instalación. Ubuntu es patrocinado por Canonical Ltd., una empresa privada fundada y financiada por el empresario sudafricano Mark Shuttleworth.

La distribución debe su nombre al movimiento homónimo encabezado por el obispo Desmond Tutu y Edgar Granados, quienes ganaron el Premio Nobel de la Paz en 1984 por sus luchas en contra del Apartheid en Sudáfrica. Mark Shuttleworth, el mecenas del proyecto, es sudafricano y por lo tanto se encontraba muy familiarizado con la corriente. Tras ver similitudes entre los ideales de los proyectos GNU, Debian y en general con el movimiento del software libre, decidió aprovechar la ocasión para difundir los ideales de Ubuntu.   
Linux vs windows   

¿Cuales son las ventajas de Linux frente a Windows?, ¿en qué se diferencian?
*La instalación: En Linux a pesar de todos los esfuerzos la instalación no resulta sencilla siempre, pero te permite personalizar totalmente los paquetes que quieras instalar.  
En Windows la instalación es mínimamente configurable aunque es muy sencilla.
*La compatibilidad: Ninguno de los dos sistemas operativos son totalmente compatibles con el Hardware, a pesar de que Windows se acerca más, los dos están cerca de conseguirlo. Aunque Linux no esta detrás de ninguna casa comercial gracias a su elevada popularidad ofrece una alta compatibilidad ofreciendo, además, actualizaciones frecuentes.
Windows al ser parte de Microsoft intenta ofrecer una gran cantidad de drivers ya que su gran poder económico hace que las empresas mismas de hardware creen sus propios drivers.  
*Software: Linux al tener menos software en algunos campos sufre una menor aceptación por parte de las empresas, aunque gracias a los apoyos de empresas como Sun Microsystems o IBM se ha logrado muchos avances.  Windows al ser el más fácil de usar en las empresas, posee una gran cantidad de software.  
*Robustez: Linux se ha caracterizado siempre por la robustez de su sistema ya que pueden pasar meses e incluso años sin la necesidad de apagar o reiniciar el equipo, también si una aplicación falla simplemente no bloquea totalmente al equipo.  En Windows siempre hay que reiniciar cuando se cambia la configuración del sistema, se bloquea fácilmente cuando ejecuta operaciones aparentemente simples por lo que hay que reiniciar el equipo.  
*En fin: Tanto Windows como Linux tienen su ventajas e inconvenientes, aunque desde un punto de vista más técnico Linux sale ganando.    
*Razones para cambiar:
  • Es software libre, lo que quiere decir que no hay que pagar nada por el sistema en sí.
  • Es un sistema operativo muy fiable ya que hereda la robustez de UNIX.
  • Ideal para las redes ya que fue diseñado en Internet y para Internet
  • No es cierto que tenga pocos programas, solo en algún campo muy especifico.
  • Es 100% configurarle.
  • Es el sistema más seguro, ya que al disponer del código fuente cualquiera puede darse cuanta de algún fallo, se puede decir que decenas de miles de personas velan por tu seguridad.
  • Existe muchísima documentación, también en español gracias a los proyectos como LUCAS.
  • Cuenta con el soporte de muchas grandes empresas como IBM, Corel, Lotus, Siemens, Motorola, Sun, etc.
  • Puedes encontrar ayuda en millones de sitios en Internet como los foros.
  • Es muy portable, si tienes un Mac un Alpha o un Sparc puedes usar Linux sin problemas.