Descargar

Ciclo de Vida del Sistema Operativo LINUX

Enviado por fduenas_


    1. Introducción 2. Diseño 3. Programación 4. Requisitos 5. Puesta a Punto 6. Conclusiones

    1. Introducción

    LINUX es un sistema operativo, compatible Unix. Dos características 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 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) mas un gran numero de programas / librerías que hacen posible su utilización.

    Su objetivo inicial es propulsar el software de libre distribución junto con su código 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 código fuente expande enormemente las posibilidades de este sistema. Este método también 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 código fuente. La cuestión es que, como ya mencionamos, Linux es un sistema operativo totalmente gratuito.

    LINUX se distribuye bajo la GNU Public License: Ingles , por lo tanto, el código fuente tiene que estar siempre accesible.

    El sistema ha sido diseñado y programado por multitud de programadores alrededor del mundo. El núcleo del sistema sigue en continuo desarrollo bajo la coordinación de Linus Torvalds, la persona de la que partió la idea de este proyecto, a principios de la década de los noventa.

    Día a día, más y más programas / 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 gratuitamente bajo los términos 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 rápidamente por la excelente relación calidad – precio que se consigue con Linux.

    2. Diseño

    Linux es un sistema operativo completo con multitarea y multiusuario (como cualquier otra versión de UNIX). Esto significa que pueden trabajar varios usuarios simultáneamente en él, y que cada uno de ellos puede tener varios programas en ejecución.

    El sistema Linux es compatible con ciertos estándares de UNIX a nivel de código fuente, incluyendo el IEEE POSIX.1, System V y BSD. Fue desarrollado buscando la portabilidad de los fuentes: casi todo el software gratuito desarrollado para UNIX se compila en Linux sin problemas. Y todo lo que se hace para Linux (código del núcleo, drivers, librerías y programas de usuario) es de libre distribución.

    En Linux también se implementa el control de trabajos POSIX (que se usa en los shells csh y bash), las pseudoterminales (dispositivos pty), y teclados nacionales mediante manejadores de teclado cargables dinámicamente. Además, soporta consolas virtuales, lo que permite tener más de una sesión abierta en la consola de texto y conmutar entre ellas fácilmente. A los usuarios del programa "screen" les resultará familiar esto.

    El núcleo es capaz de emular por su cuenta las instrucciones del coprocesador 387, con lo que en cualquier 386 con coprocesador o sin él se podrán ejecutar aplicaciones que lo requieran.

    Linux soporta diversos sistemas de ficheros para guardar los datos. Algunos de ellos, como el ext2fs, han sido desarrollados específicamente para Linux. Otros sistemas de ficheros, como el Minix-1 o el de Xenix también están soportados. Y con el de MS-DOS se podrán acceder desde Linux a los disquetes y particiones en discos duros formateados con MS-DOS. Además, también soporta el ISO-9660, que es el estándar seguido en el formato de los CD-ROMs. Hablaremos más

    sobre los sistemas de ficheros en los capítulos 2 y 4.

    Linux implementa todo lo necesario para trabajar en red con TCP/IP. Desde manejadores para las tarjetas de red más populares hasta SLIP/PPP, que permiten acceder a una red TCP/IP por el puerto serie. También se implementan PLIP (para comunicarse por el puerto de la impresora) y NFS (para acceso remoto a ficheros). Y también se han portado los clientes de TCP/IP, como FTP, telnet, NNTP y SMTP. Hablaremos más acerca de esto en el capítulo 5.

    El núcleo de Linux ha sido desarrollado para utilizar las características del modo protegido de los microprocesadores 80386 y 80486. En concreto, hace uso de la gestión de memoria avanzada del modo protegido y otras características avanzadas.

    Cualquiera que conozca la programación del 386 en el modo protegido sabrá que este modo fue diseñado para su uso en UNIX (o tal vez Multics). Linux hace uso de esta funcionalidad precisamente.

    El núcleo soporta ejecutables con paginación por demanda. Esto significa que sólo los segmentos del programa que se necesitan se cargan en memoria desde el disco. Las páginas de los ejecutables son compartidas mediante la técnica copy-on-write, contribuyendo todo ello a reducir la cantidad de memoria requerida para las aplicaciones.

    Con el fin de incrementar la memoria disponible, Linux implementa la paginación con el disco:

    Puede tener hasta 256 megabytes de espacio de intercambio o "swap" en el disco duro. Cuando el sistema necesita más memoria, expulsará páginas inactivas al disco, permitiendo la ejecución de programas más grandes o aumentando el número de usuarios que puede atender a la vez. Sin embargo, el espacio de intercambio no puede suplir totalmente a la memoria RAM, ya que el primero es mucho más lento que ésta.

    La memoria dedicada a los programas y a la cache de disco está unificada. Por ello, si en cierto momento hay mucha memoria libre, el tamaño de la cache de disco aumentará acelerando así los accesos.

    Los ejecutables hacen uso de las librerías de enlace dinámico. Esto significa que los ejecutables comparten el código común de las librerías en un único fichero, como sucede en SunOS. Así, los ejecutables serán más cortos a la hora de guardarlos en el disco, incluyendo aquellos que hagan uso de muchas funciones de librería. También pueden enlazarse estáticamente cuando se deseen ejecutables que no requieran la presencia de las librerías dinámicas en el sistema. El enlace dinámico se hace en tiempo de ejecución, con lo que el programador puede cambiar las librerías sin necesidad de recompilación de los ejecutables.

    Para facilitar la depuración de los programas, el núcleo de Linux puede generar volcados de la imagen de memoria de los programas (ficheros core). Entre esto y la posibilidad de compilar ejecutables con soporte de depuración, el programador podrá averiguar la causa de los fallos de su programa.

    Las funciones principales de este sistema operativo son:

    Sistema multitarea En Linux es posible ejecutar varios programas a la vez sin necesidad de tener que parar la ejecución de cada aplicación.

    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 núcleo 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 (módems, impresoras) gracias a que cada una vez instalado uno nuevo, se añade 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 más 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 prácticamente idénticos. Con linux podrá montar un servidor en su propia casa sin tener que pagar las enormes cantidades de dinero que piden otros sistemas.

    3. Programación

    LINUX es un sistema desarrollado completamente en C, con el uso de algunas librerías hechas en ensamblador. Actualmente Cuenta con el sistema X Windows que es un sistema de administración gráfico por lo que se han incorporado otros lenguajes de programación para el desarrollo de aplicaciones como el Java y Visual C.

    Instalación:

    Procesador y Tarjeta Madre:

    Actualmente Linux soporta sistemas con una CPU Intel14 80386, 80486, o Pentium/Pro. Esto incluye todas las variantes del tipo de CPU, como el 386SX, 486SX, 486DX, y 486DX2. Los "clónicos" no Intel, como AMD y Cyrix también funcionan con Linux .Linux ya soporta, en la actualidad a otras arquitecturas tales como ALPHA, Amiga, PowerPc, etc.

    Si se tiene un 80386 o 80486SX, puede que también quiera aprovechar el coprocesador matemático, si bien no es imprescindible (el núcleo de Linux puede emular el coprocesador si no cuenta con uno). Están soportados todos los copros estándar, tales como los IIT, Cyrix FasMath, e Intel.

    La placa base debe ser de arquitectura ISA o EISA en cuanto a bus se refiere.

    Estos términos definen cómo interactúa el sistema con los periféricos y otros componentes por medio del bus principal. La mayoría de los sistemas vendidos hoy son de bus ISA o EISA. El bus MicroChannel (MCA), que se encuentra en máquinas como los IBM/PS2 no está soportado actualmente.

    Los sistemas que usan arquitectura de bus local (para accesos más rápidos en vídeo y disco) también están soportados. Es recomendable que tenga una arquitectura de bus local estándar como pueda ser el Bus Local VESA, PCI también está soportado

    4. Requisitos

    Requisitos de memoria

    Linux, comparado con otros sistemas operativos avanzados, necesita muy poca memoria para funcionar . Debería contar con un mínimo de 2 megabytes de RAM; sin embargo, es altamente recomendable tener 4 megabytes. Cuanta más memoria tenga más rápido irá su sistema.

    Linux soporta el rango completo de direcciones de 32-bits de los 386/486; es decir, utilizará toda la memoria RAM de forma automática, y se apañará sin problemas con tan sólo 4 megabytes de RAM, incluyendo aplicaciones "pedigüeñas" como X-Window, Emacs, y demás. Sin embargo, disponer de más memoria es casi tan importante como tener un procesador más rápido. 8 megabytes es más que suficiente para uso personal; 16 megabytes o más pueden ser necesarios si espera una fuerte carga de usuarios en el sistema.

    La mayoría de los usuarios de Linux, reservan una parte del disco duro para espacio de intercambio ("swapping") que se usa como RAM virtual. Incluso si dispone de bastante memoria RAM física en su máquina, puede que quiera utilizar un área de "swap" .

    El área de "swap" no puede reemplazar a una memoria física RAM real, pero puede permitir a su sistema ejecutar aplicaciones más grandes guardando en disco duro aquellas partes de código que están inactivas.

    Requisitos de la controladora de disco duro

    No se necesita un disco duro para ejecutar Linux; se puede ejecutar un sistema mínimo completamente desde disquete. Sin embargo, resulta lento y muy limitado, y de todas formas, muchos usuarios tienen acceso a almacenamiento en disco duro. Se debe tener una controladora AT-estándar (16-bit). El núcleo soporta controladoras XT-estándar (8 bit); aunque la mayoría de las controladoras usadas hoy son AT-estándar. Linux debería soportar todas las controladoras MFM, RLL, e IDE. La mayoría, pero no todas, las controladoras ESDI están soportadas sólo aquellas que hacen emulación hardware de la ST506.

    La regla general para controladoras que no sean SCSI, es que si puede acceder a las unidades (disco y/o disquete) desde MS-DOS u otro sistema operativo, debería poder hacerlo desde Linux.

    Linux también soporta un número de controladoras de disco SCSI, si bien el soporte para SCSI es más limitado a causa de la gran cantidad de estandars que existen para el interfaz de las controladoras. Las controladoras SCSI soportadas16 incluyen las Adaptec AHA1542B, AHA1542C, AHA1742A (versión de BIOS 1.34), AHA1522, AHA1740, AHA1740 (controladora SCSI-2, BIOS 1.34 en modo mejorado); Future Domain 1680, TMC-850, TMC-950; Seagate ST-02; UltraStor SCSI; Western Digital WD7000FASST. Las controladoras clónicas basadas en estas tarjetas también deberían funcionar.

    Requisitos de espacio en disco

    Para instalar Linux, se necesitará tener algo de espacio libre en el disco duro. Linux soporta múltiples discos duros en la misma máquina; puede disponer de espacio para Linux en múltiples unidades si es necesario.

    La cantidad de espacio en disco duro que se necesitará depende en gran medida de las necesidades de cada uno y de la cantidad de software que se va a instalar. Linux es relativamente pequeño en relación a las implementaciones de UNIX; uno podría correr un sistema completo con 10-20 megabytes de espacio en disco. Sin embargo, si se quiere disponer de espacio para expansiones, y para paquetes más grandes como X Windows, necesitará más espacio. Si se planea permitir a múltiples usuarios utilizar la máquina, se tendrá que dejar espacio para sus ficheros.

    También, a menos que se tenga un montón de memoria RAM física (16 megabytes o más), se necesitará crear espacio de intercambio ("swap"), para ser usado como RAM virtual.

    Cada distribución de Linux normalmente viene con algún que otro texto que debería ayudarla estimar la cantidad precisa de espacio a reservar en función del software que se planee instalar. Puede ejecutarse un sistema mínimo con menos de 20 megabytes; un sistema completo con toda la parafernalia en 80 megabytes o menos; y un sistema grande con sitio para muchos usuarios y espacio para futuras expansiones en un rango de 100-150 megabytes. De nuevo, estas cifras son meramente orientativas; uno tendrá que decidir, según sus necesidades y objetivos, los requerimientos específicos de almacenamiento para su sistema.

    Requisitos de monitor y adaptador de vídeo

    Linux soporta todas las tarjetas de vídeo estándar Hercules, CGA, EGA, VGA, IBM monocromo, y Super VGA así como monitores para el interfaz por defecto basado en texto. En general, si la combinación que tiene de monitor y tarjeta de vídeo funcionan bajo otro sistema operativo como MS-DOS, debería funcionar perfectamente con Linux. La genuínas tarjetas CGA de IBM sufren el (d)efecto nieve ("snow") bajo Linux, por lo que no es muy recomendable su uso.

    Los entornos gráficos como el Sistema X Window tienen requerimientos propios de hardware para la tarjeta de vídeo.

    5. Puesta a Punto

    La Puesta a Puntos del sistema LINUX se realiza a través de órdenes directas que se le dan al intérprete de comandos, tales instrucciones sirven para crear directorios, alta de cuentas, solución de problemas tanto de hardware como de software. Con la introducción del sistema X Windows la administración se realiza de una manera gráfica a través de ventanas y el uso del mouse.

    Operación:

    La operación del sistema es cómoda, siempre y cuando se tengan los conocimientos necesarios, como conocimientos mínimos se requieren los necesarios para usar el UNÍS, lo demás es pan comido, ya que lo que se tiene que aprender demás es el uso de las aplicaciones que se instalarán en el sistema operativo. Con la introducción de X Windows todo es ya más sencillo debido a es una GUI (Graphic User Interface) por que se familiariza uno con el uso de ventanas y puntero, tal y como si fuera MS-Windows.

    Mantenimiento:

    LINUX posee el ext2, éste es un sistema de archivos mucho más avanzado que el MS-DOS, con soporte de corrección y detección de errores (los cuales inician al encender la computadora después de un apagado no correcto), compresión de archivos, mayor tolerancia a la fragmentación de archivos y con unos tiempos de respuesta muy superiores, aunque a un costo superior de utilización de memoria.

    Actualización:

    Las actualizaciones pueden bajarse del internet de forma gratuita desde los sitios oficiales de Linux. La comunidad Linux es muy dinámica. Las versiones nuevas del núcleo aparecen cada pocas semanas, y otros programas se actualizan casi tan a menudo. Por esto, los nuevos usuarios de Linux sienten a menudo la necesidad de actualizar sus sistemas constantemente para mantener el paso de los cambios.

    No sólo ésto no es necesario, sino que es una pérdida de tiempo. Para mantenerse al día de todos los cambios del mundo Linux, uno debería utilizar todo su tiempo actualizando en vez de usando su sistema.

    Pero entonces, cuándo se debe actualizar?. Alguna gente piensa que se debe actualizar cuando se libera una nueva versión de distribución . Por ejemplo, cuando Slackware (sistema de Instalación del LINUX) presenta una nueva versión.

    Muchos usuarios Linux reinstalan completamente sus sistemas con la nueva versión Slackware, cada vez. Esto, también, es una pérdida de tiempo. En general, los cambios de las versiones Slackware son pequeños. Bajarse y reinstalar 30 discos cuando sólo ha cambiado un 10% del software es, por supuesto, inútil.

    La mejor forma de actualizar el sistema es haciéndolo a mano: actualizando solo aquellos paquetes de software que se sepa que hay que actualizar. Esto asusta a un montón de gente: quieren saber qué actualizar y cómo, y qué se romperá si no actualizan. Para tener éxito con Linux, es importante superar los temores del "hágalo usted mismo" que es lo que Linux es, a fin de cuentas. De hecho, una vez que se tenga el sistema trabajando y todo el software correctamente configurado, la reinstalación de una nueva versión no dudará en limpiar toda la configuración y todo estará roto otra vez, igual que la primera vez que instaló su sistema. Volver atrás de ésta forma no es necesario, todo lo que se necesita es algún conocimiento acerca de cómo actualizar el sistema y de cómo hacerlo bien.

    Nos encontraremos con que cuando se actualice un componente del sistema, no tienen por que fallar los demás. Realmente, la actualización insensata para mantenerse en la ola" no es tan importante. Esto no es MS-DOS o Microsoft Windows. No hay ninguna razón importante para ejecutar la versión más reciente de todo el software. Si se desean o necesitan funciones de una versión nueva, entonces es necesario actualizar. Si no, no es necesario. En otras palabras, hay que actualizar sólo lo que necesite y cuando se tenga que hacer. No hay que actualizar sólo por el mero hecho de actualizar. Hacerlo sólo gastaría un montón de tiempo y esfuerzo intentando mantenerse al día.

    El software más importante para actualizar en el sistema es el núcleo, las librerías y el compilador gcc. Estas son las tres partes esenciales del sistema, y en algunos casos cada uno depende de las otras para que todo funcione bien. Todos ellos se toman los fuentes actualizados y se compilan manualmente. La mayor parte del resto del software del sistema no necesita ser actualizado periódicamente.

    6. Conclusiones

    La conclusión más importante es que Linux es una excelente elección 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 instalación y uso de Linux es también una excelente manera de aprender UNIX si no se tiene acceso a otras máquinas UNIX.

    Linux no es solo para los usuarios personales de UNIX. Es robusto y suficientemente completo para manejar grandes tareas, así como necesidades de cómputo distribuidas. Muchos negocios especialmente los pequeños se están cambiando a Linux en lugar de otros entornos de estación de trabajo basados en UNIX. Grandes vendedores de software comercial se están dando cuenta de las oportunidades que puede brindar un sistema operativo gratuito.

    Linux es, propiamente, el núcleo de un sistema operativo. Es decir, el conjunto de programas que controla los aspectos más básicos del funcionamiento de un ordenador. Y como ya se dijo su desarrollo lo inició en 1991 Linus Tovalds, entonces estudiante en la Universidad de Helsinki, en Finlandia, y se completó con miles de aportaciones a través de Internet.

     

     

    Autor:

    Francisco Armando Dueñas Rodríguez

    Edad: 23 años Universidad La Salle Cancún, Quintana Roo México