lunes, 12 de marzo de 2012

SOFTWARE DE SERVIDOR


Windows Vs. Linux
¿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 configurarle 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.

Conclusión: Tanto Windows como Linux tienen su ventajas y 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.
Diseño   de  windows.(ESTRUCTURA)

Un Sistema Operativo serio, capaz de competir en el mercado con otros como Unix que ya tienen una posición privilegiada, en cuanto a resultados, debe tener una serie de características que le permitan ganarse ese lugar. Algunas de estas son:
  • Que corra sobre múltiples arquitecturas de hardware y plataformas.
  • Que sea compatible con aplicaciones hechas en plataformas anteriores, es decir que corrieran la mayoría de las aplicaciones existentes hechas sobre versiones anteriores a la actual, nos referimos en este caso particular a las de 16-bit de MS-DOS y Microsoft Windows 3.1.
  • Reúna los requisitos gubernamentales para POSIX (Portable Operating System Interface for Unix).
  • Reúna los requisitos de la industria y del gobierno para la seguridad del Sistema Operativo.
  • Sea fácilmente adaptable al mercado global soportando código Unicode.
  • Sea un sistema que corra y balancee los procesos de forma paralela en varios procesadores a la vez.
  • Sea un Sistema Operativo de memoria virtual.
Uno de los pasos más importantes que revolucionó los Sistemas Operativos de la Microsoft fue el diseño y creación de un Sistema Operativo extensible, portable, fiable, adaptable, robusto, seguro y compatible con sus versiones anteriores (Windows NT).
Y para ello crearon la siguiente arquitectura modular:


La cual está compuesta por una serie de componentes separados donde cada cual es responsable de sus funciones y brindan servicios a otros componentes. Esta arquitectura es del tipo cliente – servidor ya que los programas de aplicación son contemplados por el sistema operativo como si fueran clientes a los que hay que servir, y para lo cual viene equipado con distintas entidades servidoras.
Ya creado este diseño las demás versiones que le sucedieron a Windows NT fueron tomando esta arquitectura como base y le fueron adicionando nuevos componentes.
Uno de las características que Windows comparte con el resto de los Sistemas Operativos avanzados es la división de tareas del Sistema Operativo en múltiples categorías, las cuales están asociadas a los modos actuales soportados por los microprocesadores. Estos modos proporcionan a los programas que corren dentro de ellos diferentes niveles de privilegios para acceder al hardware o a otros programas que están corriendo en el sistema. Windows usa un modo privilegiado (Kernel) y un modo no privilegiado (Usuario).
Uno de los objetivos fundamentales del diseño fue el tener un núcleo tan pequeño como fuera posible, en el que estuvieran integrados módulos que dieran respuesta a aquellas llamadas al sistema que necesariamente se tuvieran que ejecutar en modo privilegiado (modo kernel). El resto de las llamadas se expulsarían del núcleo hacia otras entidades que se ejecutarían en modo no privilegiado (modo usuario), y de esta manera el núcleo resultaría una base compacta, robusta y estable.
El Modo Usuario es un modo menos privilegiado de funcionamiento, sin el acceso directo al hardware. El código que corre en este modo sólo actúa en su propio espacio de dirección. Este usa las APIs (System Application Program Interfaces) para pedir los servicios del sistema.
El Modo Kernel es un modo muy privilegiado de funcionamiento, donde el código tiene el acceso directo a todo el hardware y toda la memoria, incluso a los espacios de dirección de todos los procesos del modo usuario. La parte de WINDOWS que corre en el modo Kernel se llama Ejecutor de Windows, que no es más que un conjunto de servicios disponibles a todos los componentes del Sistema Operativo, donde cada grupo de servicios es manipulado por componentes que son totalmente independientes (entre ellos el Núcleo) entre sí y se comunican a través de interfaces bien definidas.
Todos los programas que no corren en Modo Kernel corren en Modo Usuario. La mayoría del código del Sistema Operativo corre en Modo Usuario, así como los subsistemas de ambiente (Win32 y POSIX que serán explicados en capítulos posteriores) y aplicaciones de usuario. Estos programas solamente acceden a su propio espacio de direcciones e interactúan con el resto del sistema a través de mensajes Cliente/Servidor.

Diseño de  linux




Actualmente Linux es un núcleo monolítico híbrido. Los controladores de dispositivos y las extensiones del núcleo normalmente se ejecutan en un espacio privilegiado conocido como anillo 0 (ring 0), con acceso irrestricto al hardware, aunque algunos se ejecutan en espacio de usuario. A diferencia de los núcleos monolíticos tradicionales, los controladores de dispositivos y las extensiones al núcleo se pueden cargar y descargar fácilmente como módulos, mientras el sistema continúa funcionando sin interrupciones. También, a diferencia de los núcleos monolíticos tradicionales, los controladores pueden ser prevolcados (detenidos momentáneamente por actividades más importantes) bajo ciertas condiciones. Esta habilidad fue agregada para gestionar correctamente interrupciones de hardware, y para mejorar el soporte de multiprocesamiento simétrico.
El hecho de que Linux no fuera desarrollado siguiendo el diseño de un micronúcleo (diseño que, en aquella época, era considerado el más apropiado para un núcleo por muchos teóricos informáticos) fue asunto de una famosa y acalorada discusión entre Linus Torvalds y Andrew S. Tanenbaum.

Procesos
Linux se organiza en procesos, que son tareas independientes que se ejecutan de forma simultánea mientras el sistema está en funcionamiento. Los procesos cuelgan unos de otros en una dependencia padre/hijo. Inicialmente al arrancar el sistema sólo existe un proceso, llamado init. Init lee los ficheros de configuración de arranque presentes en el directorio /etc y va creando procesos hijos. Estos a su vez tendrán sus propios hijos formando un árbol de descendientes. Los procesos en ejecución se encuentran alojados en la memoria rápida RAM del sistema. Cuando se habla de ejecutar o lanzar o arrancar un proceso, nos estámos refiriendo al proceso de leer un fichero almacenado en el disco duro que contiene las instrucciones del programa, colocando las mismas en la memoria RAM y a continuación empezando a ejecutar las instrucciones del programa ya en RAM


Usuarios
Linux está diseñado para ser utilizado por varios usuarios simultáneamente. Aun cuando el sistema sólo vaya a ser utilizado por un único usuario, como es el caso corriente hoy en día, en general internamente Linux utilizará varios usuarios 'robots' para organizar mejor y de forma más segura el sistema. Linux siempre tiene un superusuario llamado 'root' ('raíz' traducido). En el siguiente párrafo se explica el por qué crea varios usuarios en vez de uno único.


Estructura Básica

De la misma manera que el Unix, el Linux se puede dividir generalmente en cuatro componentes principales: el núcleo(kernel), el shell, el sistema de archivos y las utilidades. El núcleo es el programa medular que ejecuta programas y gestiona dispositivos de hardware tales como los discos y las impresoras. El shell proporciona una interfaz para el usuario. Recibe órdenes del usuario y las envía al núcleo para ser ejecutadas. El sistema de archivos, organiza la forma en que se almacenan los archivos en dispositivos de almacenamiento tales como los discos. Los archivos están organizados en directorios. Cada directorio puede contener un número cualquiera de subdirectorios, cada uno de los cuales puede a su vez, contener otros archivos.
El núcleo, el shell y el sistema de archivos forman en conjunto la estructura básica del sistema operativo. Con estos tres elementos puede ejecutar programas, gestionar archivos e interactuar con el sistema. Además, Linux cuenta con unos programas de software llamados utilidades que han pasado a ser considerados como características estándar del sistema. Las utilidades son programas especializados, tales como editores, compiladores y programas de comunicaciones, que realizan operaciones de computación estándar. Incluso uno mismo puede crear sus propias utilidades
Linux contiene un gran número de utilidades. Algunas efectúan operaciones sencillas: otras son programas complejos con sus propios juegos de órdenes. Para empezar, muchas utilidades de pueden clasificar en tres amplias categorías: editores, filtros y programas de comunicaciones. También hay utilidades que efectúan operaciones con archivos y administración de programas.
Como una alternativa a la interfaz de la línea de ordenes, Linux proporciona una interfaz gráfica de usuario (GUI) llamada X-Windows que cuenta con varios administradores de ventana que puede utilizar. Un administrador de ventana trabaja de forma muy parecida a los GUI de Windows y del Mac, posee ventanas iconos y menús, todos ellos gestionados por medio del ratón. Dos de los administradores de programas más populares son el Free Virtual Window Manager y el Open Look Window Managger, además de los administradores de ventanas X-Windows también utiliza un administrador de archivos y uno de programas.
El sistema de archivos de Linux organiza los archivos en directorios, de forma similar al DOS. Todo el sistema de archivos de Linux es un gran conjunto interconectado de directorios que están organizado en una estructura jerárquica de árbol.
Linux posee un gran número de utilidades que se pueden clasificar en tres categorías: editores, filtros y programas de comunicaciones. Y a diferencia de otros sistemas operativos se distribuye de forma gratuita bajo una licencia publica de GNU de la Free Software Foundation (Fundación de programas libres) lo que básicamente significa que puede ser copiado libremente, cambiado y distribuido dejando siempre disponible el código fuente.
El software de Linux es frecuentemente desarrollado por varios usuarios que deciden trabajar conjuntamente en un proyecto. Una vez que se ha completado se instala en una localización ftp de Internet. Cualquier usuario de Linux puede acceder a la localización y descargar el software.

Estructura Básica - El Shell

El shell proporciona una interfaz entre el núcleo y el usuario. Se puede describir como un intérprete: interpreta las órdenes que introduce el usuario y las envía al núcleo. La interfaz del shell es muy sencilla. Normalmente consiste en un inductor desde el que se teclea una orden y después se pulsa enter. En cierta forma, se está tecleando una orden en una línea. A menudo, esta línea se conoce como la línea de órdenes.
Como una alternativa a la interfaz de la línea de órdenes, Linux proporciona una interfaz gráfica de usuario(GUI) llamada X-Windows, que cuenta con varios administradores de ventanas que puede utilizar. Dos de los administradores de ventanas más populares son el Free Virtual Window Manager (fvwm) y el Open Look Window Manager (olwm).
Aunque un administrador de ventanas constituye una interfaz flexible y vistosa, hay que tener presente que tan solo es un añadido al shell. El administrador de ventanas simplemente le pasa al shell las órdenes que recibe, éste las interpreta y las envía de nuevo al núcleo, para ser ejecutadas.
A lo largo de los años se han hido desarrollando varios tipos de diferentes de shell. En la actualidad, hay tres shells principales: Bourne, Korn y C-shell. El shell Bourne fue desarrollado en el Laboratorio Bell para el sistemaV. El C-shell fue desarrollado para la versión BSD del Unix. El shell Korn es una mejora y ampliación del shell Bourne. Linux usa versiones mejoradas o de dominio público de estos shells: el shell Bourne Again, el TC-shell y el shell Korn. Una ves que inicie su sistema Linux, se encontrará en el shell Bourne Again; donde se podrá acceder a los demás.



No hay comentarios:

Publicar un comentario