Blogia
:: :: :: PSYCOSIS :: :: ::

SISTEMAS OPERATIVOS Y GNU/LINUX, INTRODUCCION

SISTEMAS OPERATIVOS Y GNU/LINUX, INTRODUCCION Encontre este articulo de Enrique Barbeito Garcia y como me parecio muy bueno y ademas pedagogico, he decidido compartirlo con vosotros.

______________________________________________________________

Sistemas operativos y Linux, Introducción

El sistema operativo es la unidad lógica que hace de mediador entre el ordenador y el usuario; es decir, es el programa elemental (o conjunto de programas) que se ejecuta tras arrancar el ordenador y quien se encarga de hacer funcionar el microprocesador, las memorias, los discos y periféricos, ... (Las unidades que constituyen dicho ordenador).
Sin un sistema operativo debidamente instalado y en uso, el ordenador no es más que una unidad física inerte.
Su función, a parte de hacer funcionar dichas unidades que constituyen cualquier ordenador, consiste en ejecutar y hacer correr todas aquellas aplicaciones programadas para tal sistema. Con esto podemos constatar que estas aplicaciones o programas han de especificar para que sistema han sido programadas. Por ejemplo encontramos versiones de multitud de aplicaciones (como Netscape Comunicator, por ejemplo...) para distintos sistemas operativos. (una versión para Windows, otra para GNU/Linux, otra para MacOS, ...)
Hoy día existen multitud de sistemas operativos a nuestro alcance. Los hay del tipo comercial, como son los sistemas de la empresa Microsoft (Windows3.1/9x/ME/NT/2000, MS-DOS), sistemas de la familia UNIX, sistemas MacOS para Apple, etc... pero también podemos encontrar sistemas gratuitos (Freeware) de libre distribución como son GNU/Linux o los sistemas de libre distribución de la familia BSD como por ejemplo FreeBSD, NetBSD, ...

Ante tal abanico de posibilidades podemos hacer una clasificación de los tipos de sistemas operativos que podemos encontrar. Quedaría así:

-
+ Sistemas monoprogramados:
son aquellos sistemas que nos permiten o tienen capacidad de ejecutar al mismo tiempo una única aplicación. Esta clase de sistemas en la actualidad no se utilizan. Son, por regla general, sistemas antiguos.
Esta clase de sistemas carecen de tabla de procesos, de tal manera que la aplicación que se ejecute ocupara toda la memoria y utilizará todo el microprocesador. No se podrá ejecutar ninguna otra aplicación hasta que el anterior programa no sea finalizado (kill).
Ejemplos de estos sistemas son: MS-DOS o Windows 3.1

+ Sistemas multiprogramados (multitarea):son aquellos sistemas que tienen capacidad de permitirnos ejecutar más de una aplicación al mismo tiempo. En el uso de la multitarea de un sistema operativo nos encontramos con dos tipos:
- Multitarea apropiativa: donde el sistema le "quita" al procesador una ejecución determinada para, de este modo, poder "dársela" a otra aplicación.
- Multitarea cooperativa: en la que la misma aplicación es quien determina cuando puede el sistema hacer que otra aplicación utilice el microprocesador.

+ Sistemas monousuario:son aquellos sistemas en los que un único usuario es quien administra y hace uso de todo el sistema teniendo en él plenos privilegios de lectura o modificación de cualquier archivo o periférico. Suelen ser sistemas utilizados como estaciones de trabajo (Workstation).
Ejemplos de estos sistemas son: MS-DOS o BeOS.

+ Sistemas multiusuario:son sistemas ya más versátiles en donde encontramos un usuario principal (superusuario) encargado principalmente de la administración y el mantenimiento del sistema el cual tiene plenos privilegios de lectura o modificación en todo el sistema; y también encontramos o tenemos la posibilidad de crear y utilizar varios usuarios o cuentas de usuario las cuales tendrán menos privilegios que el superusuario y que, generalmente, se usarán para utilizar las distintas aplicaciones instaladas en el sistema.
Ejemplos de estos sistemas son: Windows NT/2000, Linux, Solaris, etc... (la mayoría de los sistemas)

Orígenes de Linux.

La historia de Linux esta ligada a la de UNIX y, en cierto modo, a la de un sistema desarrollado por Andrew Tannebaum denominado Minix el cual fue escrito para demostrar de algún modo algunos conceptos que se pueden encontrar en los sistemas operativos. Tales conceptos fueron implementados en un sistema autónomo (Minix) que imitaba a UNIX. Este programa estaba disponible para cualquier estudiante de informática y, en poco tiempo, fue extendiéndose y creando grupos y listas de usuarios por todo el mundo.

Linux nace a partir de una idea que tuvo un estudiante de informática, de 23 años, llamado Linus Torvalds. Este estudiante quiso crear, para usuarios de Minix, una versión más sólida del sistema UNIX.
Linus Torvalds decide entonces dotar a los usuarios de Minix una mejor plataforma que pudiera ejecutarse en cualquier PC centrándose en los entonces novedosos ordenadores basados en la arquitectura 386.

Al presentar Linus su sistema escribió diversos anuncios en el grupo de usuarios de USENET. A continuación os pongo tales anuncios (estos anuncios fueron extraídos de la "Linux Installation and Getting Started Guide", de Matt Welsh - mdw@sunsite.unc.edu.):
-
" Después de eso, todo sería pan comido: algún código peliagudo todavía, pero tenía algún dispositivo, y la depuración era fácil. Empecé a utilizar C en esta fase y realmente acelera el desarrollo. También es cuando empecé a tomarme en serio mis ideas megalómanas para crear 'un Minix mejor que Minix'. Esperaba que podría volver a compilar gcc bajo Linux algún día... "


" Dos meses para la configuración básica, que resultó ser un poco más hasta que conseguí un controlador de disco (un cacharro, pero resultó que funcionaba en mi máquina) y un pequeño sistema de archivos. Fue enton­ces cuando dejé lista la 0.01 (más o menos a finales de agosto de 1991): no era ninguna maravilla, no tenía controlador de disquetes y no podía hacer prácticamente nada. No creo que nadie compilara esa versión. Pero entonces ya estaba enganchado y no quería parar hasta que pudiese darle el empujón final a Minix. "


Posteriormente, el 5 de octubre de 1991, en el grupo de usuarios de comp.os.minix apareció otro anuncio donde Linus presentó su versión 0.02 de Linux, la primera versión oficial de Linux:


" ¿Echas de menos los maravillosos días de Minix l. l, cuando los hombres eran hombres y escribían sus propios controladores de dispositivo? ¿Estás sin un proyecto atractivo y estás deseando hincar el diente en un sistema operativo que puedas modificar para adaptarlo a tus necesidades? ¿Encuentras frustrante que todo funcione con Minix? ¿No más noches en vela para que un programa funcione? Entonces este anuncio es para ti. "


" Como decía hace un mes, estoy trabajando en una versión gratuita de algo parecido a Minix para ordenadores AT-386. Ya he llegado a una fase en que incluso se puede utilizar (o tal vez no, según lo que necesites), y quiero dar a conocer las fuentes para obtener una mayor difusión. Es solamente la versión 0.02, pero me ha permitido ejecutar satisfactoria­mente bash, gcc, gnu-make, gnu-sed y compress entre otros. "


Filosofía de software libre, ¿Qué es GNU?

GNU son las siglas de GNU's Not Unix! (o, en español, GNU No es Unix!). Es un proyecto fundado en 1984 y, cuyo principal objetivo, era desarrollar un sistema operativo completo basado en el sistema UNIX con la peculiar característica de que tal sistema fuere software libre.
Ahora bien, ¿qué es eso del "Software Libre"? Este término es utilizado para designar a aquellas aplicaciones que son programadas para que los usuarios tengan total libertad de utilizar la aplicación de forma gratuita, tener acceso al código fuente de tal aplicación pudiendo incluso hacer sus propias modificaciones y cambios en ellas, y también tener el derecho de poder redistribuir las copias de tal aplicación.
En pocas palabras, las aplicaciones de software libre son aquellas en las que cualquier usuario no tiene porque pedir o pagar derechos y/o permisos a su autor.

La siguientes líneas fueron extraídas de la propia página web del Proyecto GNU
(http:// www.gnu.org/philosophy/free-sw.es.html)

"Software Libre" se refiere a la libertad de los usuarios de correr, copiar, distribuir, estudiar, cambiar y mejorar el software.
Más precisamente, se refiere a las cuatro libertades de los usuarios de software:

- La libertad de correr el programa, con cualquier propósito (libertad 0).
- La libertad de estudiar como funciona el programa, y adaptarlo a sus necesidades (libertad 1). El acceso al código fuente es una precondición para esto.
- La libertad de distribuir copias de manera que se puede ayudar al vecino (libertad 2).
- La libertad de mejorar el programa, y liberar las mejoras al publico de tal manera que toda la comunidad se beneficia. (libertad 3). El acceso al código fuente es una precondición para esto.

Si deseas estar mejor informado acerca de la historia, filosofía e infinidad de información sobre el proyecto GNU, le recomiendo que visite sus página en http:// www.gnu.org/ donde encontrará todo acerca de esta filosofía de vida.

Estas páginas pretenden ser únicamente una mera introducción a GNU y a la filosofía de software libre.

¿Qué es y por qué utilizar Linux?

Linux es un sistema operativo, gratuito y de libre distribución, inspirado en el sistema UNIX para ordenadores PC (Personal Computer) basados en arquitecturas Intel.

Este sistema "alternativo" fue escrito inicialmente por un estudiante de informática perteneciente a la Universidad de Helsinki (Finlandia) llamado Linus Torvalds y, posteriormente, desarrollado y seguido por cientos de programadores de todo el mundo.
Este sistema nace a raíz de una idea de Linus de crear un sistema clon de UNIX el cual no tuviera ningún tipo de software comercial y además lo pudiera disfrutar cualquier usuario libremente.

Son muchas las ventajas y excelentes características que podemos encontrar en Linux para, de este modo, decidirnos por él. Podemos hacer una pequeña selección de algunas de sus principales características y funcionalidades:

- Multiprocesamiento Simétrico: El núcleo del sistema (Kernel) es tan robusto que incluso tiene capacidad para ofrecer el máximo rendimiento de aquellos ordenadores los cuales tengan implementados mas de un procesador en la placa base. Realmente Linux da un rendimiento impresionante a la hora de ejecutar aplicaciones informáticas bajo esta clase de superordenadores.

- Multiplataforma: Linux es un sistema tan versátil que es capaz de correr en diversas y múltiples arquitecturas. Funciona bajo cualquier procesador Intel de la gama x86, ordenadores Power PC (Macintosh), ordenadores Amiga, estaciones de trabajo Alpha, en arquitecturas SPARC, RISK, ...

- Convive con otros sistemas operativos: Es un sistema que no crea ningún tipo de conflicto ante la posibilidad de querer elegir e instalar diferentes sistemas operativos en un mismo disco. Para su árbol de directorios y sistema de archivos Linux utiliza particiones de tipo ext2 más a parte una partición pequeña llamada Linux Swap que utiliza como "memoria virtual". Además Linux cuenta con varias aplicaciones bastante potentes para la administración y mantenimiento de la elección y ejecución de los diferentes sistemas operativos que tengamos instalados en el inicio de nuestro ordenador; de entre estas aplicaciones podemos destacar LILO (LInux LOader) el cual es el más estandarizado y popular.

- Multitarea Prioritaria: Linux, como otros sistemas operativos, tiene la capacidad de ejecutar de forma simultánea varias aplicaciones informáticas. A su tipo de multitarea se le llama del tipo prioritaria ya que todas aquellas aplicaciones que se ejecuten van a ser ejecutadas por el sistema asignando a cada uno de ellos un nivel prioritario y distribuyendo el tiempo de procesamiento entre dichas aplicaciones.
Podemos hablar de otro tipo de multitarea, como es la multitarea cooperativa. Aunque esta ya no es utilizada por Linux; en cambio, sistemas como MS-DOS o Windows si.
Esta multitarea prioritaria que hace Linux se realiza supervisando los procesos de las aplicaciones que están en ejecución y los procesos que están en espera de ejecución. De esta manera parece que todas esas aplicaciones estén ejecutándose al mismo tiempo.

- Multiusuario: El concepto de un sistema multiusuario es precisamente ese, el de poder trabajar de forma simultánea con varios usuarios al mismo tiempo en el mismo sistema.
Estas diferentes sesiones de usuarios que se pueden hacer simultáneamente se pueden realizar en un mismo terminal del sistema o en varios.

- Un sistema Open Source: ésta es otra gran característica que tiene Linux. Al contrario de otros sistemas de tipo comercial, como puedan ser los sistemas de la familia Windows, Linux es un sistema de código abierto (Open Source) y cualquier usuario de cualquier parte del planeta tiene acceso a las fuentes del sistema, pudiendo hacer cualquier tipo de modificación/mejora en él. Así como las fuentes del sistema están disponibles, también lo están las fuentes de la mayoría de las aplicaciones que hay en Linux.
Esto supone una gran ventaja frente a sistemas que no le permitirían acceder a tal fuente de información, ya que usted mismo (si dispone de los conocimientos suficientes de programación) puede personalizar el sistema y/o aplicaciones en las que va a trabajar.

- Programación de la Shell: ésta es otra de las grandes características que hacen de UNIX/Linux los sistemas más flexibles y personalizables de entre todos los existentes.
La programación de la Shell consiste básicamente en realizar un archivo con un conjunto de comandos e instrucciones de manera que al ejecutar tal archivo el sistema vaya realizando un análisis de cada línea de comandos que usted puso previamente. Si la sintaxis de tales líneas es la correcta, el sistema ejecutará aquellos comandos con sus determinados parámetros e instrucciones que usted le haya indicado.
Esta clase de programación requiere en muchas ocasiones algún conocimiento en algún lenguaje de
programación como C, sino es así, puede llegar a quedarse bloqueado a la hora de escribir un archivo (script) para su ejecución en la Shell.
También destacar que en la mayoría de los sistemas UNIX (en Linux también) se incluyen varios tipos de shell. Podemos encontrar muchos tipos: el shell T (tsh), Z (zsh), Bourne (bash), ... Aunque básicamente todos ellos funcionan de una forma parecida solo que entre ellos cambia la sintaxis de la línea de comandos.

- Flexibilidad en comunicaciones y redes: El sistema UNIX, y por tanto Linux, es muy sofisticado y flexible a la hora de trabajar en red ya que es uno de los sistemas que mejores prestaciones de conexión en red ofrece (por no decir que es el mejor; la mejor opción)
A parte de llevar de por sí implementado los protocolos de comunicación tales como TCP (Transmisión Control Protocol) o IP (Internet Protocol) (por decir algún ejemplo...) en el Kernel (núcleo del sistema),
también ofrecen una cantidad de paquetes/aplicaciones de red abundantes y de gran calidad y eficiencia.
Estas altas posibilidades que tiene Linux ante el trabajo bajo conexiones en red vienen dadas a que el sistema fue previamente diseñado para realizar múltiples tareas entre múltiples usuarios alejados entre sí.
También podemos destacar la gran estabilidad y accesibilidad que tiene Linux en cuanto conexiones en red se refiere.
Gracias a todo esto, los sistemas de la familia UNIX se han convertido en los sistemas claramente dominantes a la hora de trabajar con redes de comunicaciones. Prueba de ello es la red Internet, donde los sistemas que más se utilizan para hacer de servidores y así ofrecer servicios de red (WWW, FTP, POP, SMTP, IRC, ...) son servidores UNIX.

Definitivamente, Linux puede llegar a ser la mejor elección que puedas hacer frente a la gran variedad de sistemas que encontramos disponibles, debido a su mínimo coste, gran potencia, versatilidad, flexibilidad, accesibilidad remota al sistema, estabilidad, ... y un largo etcétera...
Tanto si es usted propietario de una empresa que desea ser informatizada, como si es un usuario doméstico, usted puede encontrar en Linux la solución alternativa ante los frecuentes problemas de inestabilidad o flexibilidad que le puedan acarrear otros sistemas como Windows (el cual es el más usado en ordenadores para uso doméstico)
Quizás una de las pocas desventajas (si se le puede denominar una 'desventaja') que encontramos en este sistema es la dificultad en la utilización del mismo. Verdaderamente Linux es un sistema que a primera vista puede resultar incomodo y difícil debido a su gran abanico de comandos que trae el propio sistema y ese aspecto al principio tan poco atractivo que pueda tener algunas veces... Pero no se desanime, esto verdaderamente no supone ningún problema. Linux viene con suficiente información y archivos de ayuda y utilización para todo tipo de comandos y aplicaciones. En el mismo sistema podrá encontrar infinidad de documentación de carácter técnico con la que podrá aprender a manejarse en el sistema como pez en el agua. Igualmente en Internet encontramos numerosas páginas y sitios dedicados de forma íntegra a la comprensión y manejo de este robusto sistema! Sólo es requerido un mínimo de interés y dedicación si se quiere realmente llegar a aprender a usar Linux.
Si además eres un usuario acostumbrado a moverse por sistemas gráficos (como son los sistemas Windows, MacOs, o BeOS) y la utilización de un sistema por medio de comandos te resulta demasiado incómodo y/o complicado, en Linux encontraras gestores de ventanas muy potentes y sofisticados los cuales, hoy día, están altamente desarrollados, y con los que podrás administrar el sistema prácticamente de una forma completa.

Un saludo a todos.

Psycosis

0 comentarios