miércoles, 14 de noviembre de 2012


La historia de sistema operativo “Windows”


. Windows es una familia de sistemas operativos desarrollados y comercializados por Microsoft
. Existen versiones para hogares, empresas, servidores y dispositivos móviles
. Una vez instalado contiene diversos programas que son muy utiles
. Internet Explorer
. Reproductor de Windows Media
. Windows Movie Maker
. Windows Mail
. Windows Messenger
. Windows Defender
. Desde hace muchos años es el sistema operativo más difundido y usado del mundo ya que la mayoria de los programas (gratuitos o no) se desarrollan en base a este
. Ahora paso a detallar su evolucion en sus distintas verciones desde las mas antiguas hasta las mas modernas :
# Windows 1.0: Aparecio en 1985 y fue la primera version con interfaz grafica . No permitia la contraposicion de ventanas unas con otras y tampoco poseeia papelera de reciclaje
# Windows 2.0: Apareció en 1987, y fue un poco más popular que la versión inicial. Se debe a las nuevas aplicaciones como es el Microsoft Exe y Microsoft Word
# Windows 3.0: Publicada en 1990 y se beneficio por las mejoradas capasidades graficas de esa epoca con el Microprocesador 80386 para trabajar en el modo “multitareas”
# OS/2: Es un sistema operativo de IBM que intentó suceder a DOS como sistema operativo de los PC. Se desarrolló inicialmente de manera conjunta entre Microsoft e IBM, hasta que la primera decidió seguir su camino con su Windows 3.0 e IBM se ocupó en solitario de OS/2.
# Windows 3.1 y Windows 3.11: Incluía diversas pequeñas mejoras a Windows 3.0, sobre todo el soporte multimedia. Más tarde Microsoft publicó el Windows 3.11que incluía controladores y protocolos mejorados para las comunicaciones en red
# Windows NT: Sinedo un Sistema Operativo nuevo contrajo muchos problemas como incompatibilidad en los Hardwares y los Softwares existentes y tambien necesitaba gran cantidad de recursos que estos solo tenian equipos grandes y caros y su interfaz grafica aun se bazaba en el Windows 3.1
# Windows 95: Aparece en 1995 . Aunque su interfaz todavía corría sobre MS-DOS tenía una instalación integrada que le hacía aparecer como un solo sistema operativo. Este windows incluia el soporte para la tecnología Plug&Play. La evolución de Internet y la potencia de los equipos dio lugar aque Intel yMicrosoft dominaran el panorama mundial con solvencia. Los fabricantes se volcaban a este sistema a la hora de sacar sus controladores para los dispositivos. Más adelante fue lanzada una versión con compatibilidad para USB en ordenadores de poca prestacion de Hardware
# Windows 98: El 25 de junio de 1998 llegó Windows 98, q este nuevo Sistema dio soporte a las nuevas tecnologias como DVD, AGP, FireWire, USB y la novedosa inclucion del explorador de internet en todas las ventanas
# Windows 98 Second Edition (SE): Salio al mercado a finales de 1998 donde su principal caracteristica era de compartir entre varios equipos una conexión a Internet a través de una sola línea telefónica
# Windows Millenium Edition (ME): Este sistema aprece en el 2000, que era una copia de Windows 98 con más aplicaciones añadidas fue un proyectorápido de un añoeso se notó mucho en la poca estabilidad de esta versiónso. Esta versión no traía unidad de proceso de 16 bits y se centró únicamente en la compatibilidad con nuevo hardware de 32 bits por ello sólo funcionaba correctamente con los equipos nuevos, en sintesis fue muy poco popular por sus continuos errores y muchas desventajas de uso, lo que hizo que los usuarios retomaran al Windows 98
# Windows 2000: Vio la luz este mismo año(2000).Es una nueva versión de Windows NT, muy útiil con una gran cantidad de servicios de red y admitía dispositivos Plug&Play que eran un problema para NT. A su ves se encontraban diferentes verciones: para trabajo (Windows 2000 profesional) y para servidores (Windows 2000 Server, Advanced Server, Datacenter Server). Entr sus principales mejoras se encuentran :
Almacenamiento:
.Soporte para FAT16, FAT32 y NTFS.
.Cifrado de ficheros (EFS).
.Servicio de indexación.
.Sistema de archivos distribuido (DFS)..Nuevo sistema de backup (ASR).
.Sistema de tolerancia a fallos (RAID) con discos dinámicos (software).
.Servicios nativos de Terminal Server.
Comunicaciones:
.Servicios de acceso remoto (RAS, VPN, RADIUS y Enrutamiento).
.Nueva versión de IIS con soporte para HTTP/1.1.Active Directory.
.Balanceo de carga (clustering)
.Servicios de instalación desatendida por red (RIS).
# Windows XP: Puesto en venta en 2001 en su versión Home y Professional. Incorpora una nueva interfaz y hace alarde de mayores capacidades multimedia. En el apartado multimedia, XP da un avance con la versión Media Center(2002-2005). Esta versión ofrece una interfaz de acceso fácil con todo lo relacionado con multimedia (TV, fotos, reproductor DVD, Internet…).
# Windows Server 2003: Sucesor de la familia de servidores de Microsoft a Windows 2000 Server. Vercion lansada en el año 2003 basandoce en el nucleo de Windows xp donde se le agregaron una serie de servicios y se le bloquearon caracteristicas para mejorar el rendimiento
# Windows Vista: Aparecio en el mercado principios del 2007. Windows Vista trae una nueva interfaz gráfica llamada Aero, que es una evolución de la interfaz gráfica denominada Luna de Windows XP. Este Sistema se caracterizo por su demora en salir al mercado cada ves era mas prolongada su salida
# Windows Server 2008: Al igual que su sucesor, Windows Server 2003, este se basa en Windows vista en su interfas Aero
# Windows 7: Es la siguiente versión de Windows actualmente en Beta, la cual es sucesora a Windows Vista.Según Microsoft, Windows 7 sera más seguro y rápido y necesitará menos recursos que Windows Vista.Se estima q este nuevo Sistema estara listo para finales del 2009

Sistema Operativo Android



Android En Primer Lugar 8 De Cada 10 Son Android


Android es el líder absoluto en el mercado español de teléfonos inteligentes con el 84,1%, frente al sistema operativo de Apple con el 3,1% de la cuota.
Al margen de los datos españoles, esta es la primera vez en la historia en el que Android domina las ventas en algunos de los mercados mas importantes como Estados Unidos, Alemania, Italia, Gran Bretaña y Australia.
En todos estos países, el sistema operativo móvil de Google ha vendido la mitad de los móviles que se compraron durante el trimestre hasta la primera semana de junio.
En este periodo, los terminales Android consiguieron un aumento de mas de cinco puntos. Su cuota llama más la atención si se compara con la cifra de junio de 2011, cuando Android contaba con un 43,1% del total de ventas en España.
Apple, está perdiendo presencia en el mercado español. Este ha perdido un 0,1% en este periodo y ha caído de forma notable respecto al año pasado, ya que en junio de 2011 tenían un 5,7%.
BlackBerry también ha subido un descenso en el mercado nacional, ya que se ha situado con un 7,2% del total de ventas, respecto al 9,3% de junio del año pasado.
Symbian, ha sufrido la mayor pérdida de cuota en el último año. Ha pasado del 40,2% al 3,4% en junio de este año.
El estudio de Kantar arroja cifras muy positivas para el sistema operativo móvil de Google. Según esta firma, Android cuenta con más de la mitad del mercado en Estados Unidos (50,2%), Australia (56,9%), Gran Bretaña (57,2%), Alemania (68,5%), Francia (58,8%) y España (84,1%), al margen de Italia que se queda a cuatro décimas del 50%.
El incremento de Android según considera Sunnebo, es en que estos teléfonos "actualmente ofrecen una plataforma mas sencilla para permitir que estos consumidores renueven sus aparatos".

Virus, Malware En Android?

Los ciberdelincuentes tienen especial predilección por Android a la hora de planear ataques a dispositivos móviles y cada trimestre se va ratificando un aumento en este tipo de actividades criminales.

Según advierte ahora el fabricante de antivirusTrend Micro, los niveles de malware para el sistema operativo del androide verde están creciendo a un ritmo alarmante. A principios de año la firma encontró algo más de 5.000 appsmaliciosos diseñadas específicamente para esta plataforma, la cifra ha aumentado a 20.000 en los últimos meses.

 Si esto sigue asi durante el tercer trimestre el ecosistema Android podría estar aborrotado por 38.000 ejemplares de agentes infecciosos, que serían 130.000 para el Q4. O, lo que es lo mismo, la situación alcanzará el estatus de pandemia.

Y ésos no son todos los datos ofrecidos por Trend Micro. En un comunicado también explica que el mercado oficial Google Play ha sufrido varias brechas de seguridad que, durante los últimos tiempos, se ha saldado con “17 aplicaciones maliciosas descargadas más de 700.000 veces antes de ser detectadas y eliminadas del sitio”.

Los cometidos algunos cometidos son: robo de información personal, seguimiento de la localización del usuario vía GPS, bombardeo de publicidad o configuración para números de tarificación adicional, entre otros.

“El crecimiento del malware para Android demuestra un interés sostenido y centrado de los criminales en las plataformas móviles y, en particular, en el sistema operativo Android”, comentaRik Ferguson, director de investigación de seguridad y comunicaciones para Trend Micro.

Por eso, concluye Ferguson, “los consumidores deben tener cuidado al descargar e instalar aplicaciones y deben plantearse la instalación de software anti-malware” tanto en smartphonescomo en tablets PC.

Samsung y Android Dominan El Mercado en USA

La empresa Samsung  y el sistema Android  comienzan a dominar el mercado móvil en los Estados Unidos, dejando atrás a Apple con su iPhone y el sistema iOS.

Apple quiere mantener su dominio en Estados Unidos, y ha hecho lo imposible para que los productos de Samsung no se vendan en ese país, sobre todo porque sus móviles utilizan elsistema operativo Android.

Ante esto, la empresa surcoreana no ha bajado la guardia, y uno de sus últimos actos fue que Samsung apela contra prohibición del Galaxy Nexus en EU.

ComScore publicó datos en donde Samsung se mantienen en el primer puesto en ventas desmartphones en el mercado estadounidense, y en cuanto a los OS móviles, este sector se mantiene con el sistema Android a la cabeza como líder indiscutible. Estos datos de febrero y mayo de 2012.

El reporte muestra que Samsung obtuvo el 25.7%, superando a la empresa LG que tien un 19.1%. En tercer lugar se encuentra Apple con un 15%, Motorola tiene el 12% y en último lugar está HTCcon 6.1% según el reporte de betanews.

En cuanto a los sistemas operativos móviles, en primer lugar se encuentra Android con 50.9% frente a iOS de Apple con 31.9%. 
A estos dos lo sigue RIM con 11.4% y muy a lo lejos está Windows Phone con un 4%.

Android 4.1 Jellybean

Sistema operativo cuya tecnología es una optimización de Android 4.0 ICS, pero por supuesto también tiene algunas funciones nuevas. Gracias a la nueva técnica de triple buffering, esta versión de Android se ha convertido en la más rápida hasta el momento.

1) Búsqueda por voz: así es como Google llama a su versión de Siri. Hazle una pregunta al buscador por voz y el mismo te dará una respuesta. La compañía también nos ha recordado que la inteligencia artificial está limitada al tipo de pregunta que le hagamos, por eso Jellybean tiene una función llamada Google Now que permite al buscador por voz adquirir información basándose en tus calendarios e historiales de búsqueda, así incluso podrá informarte cosas más detalladamente y decirte cuándo es el mejor momento para salir hacia el trabajo y no tener que estar atorado en un embotellamiento de tráfico, por ejemplo. 

2) Sistema de notificaciones: algo en lo que Android gana al resto de los sistema operativos móviles es en las notificaciones, y con Jellybean son mejores que nunca. Además de esto, ni siquiera necesitamos entrar a la app de Google+ para hacer +1 en una foto o para compartirla.

3) Nueva interfaz de usuario para la aplicación de la cámara fotográfica

4) Soporte para 18 idiomas más, incluyendo hebreo y árabe, entre otros.
 
5) Android Beam: similar al S Beam del Galaxy S3. Podemos compartir vídeos por NFC y conectar dos dispositivos vía Bluetooth colocándolos uno junto al otro.
 
6) El reconocimiento de voz ya funciona de manera offline.
 
7) Actualizaciones inteligentes para las aplicaciones: cuando salga la nueva versión de una app no necesitarás volver a descargarla completa, solamente se descargarán las funciones nuevas.

Los primeros dispositivos en contar con la nueva actualización a Android 4.1 Jellybean serán elGalaxy Nexus y el tablet Xoom de Motorola

martes, 4 de septiembre de 2012


Sistema operativo de red
El sistema operativo de red permite la interconexión de ordenadores para poder acceder a los servicios y recursos. Al igual que un equipo no puede trabajar sin un sistema operativo, una red de equipos no puede funcionar sin un sistema operativo de red. Si no se dispone de ningún sistema operativo de red, los equipos no pueden compartir recursos y los usuarios no pueden utilizar estos recursos.
Dependiendo del fabricante del sistema operativo de red, tenemos que el software de red para un equipo personal se puede añadir al propio sistema operativo del equipo o integrarse con él.
NetWare de Novell es el ejemplo más familiar y famoso de sistema operativo de red donde el software de red del equipo cliente se incorpora en el sistema operativo del equipo. El equipo personal necesita ambos sistema operativos para gestionar conjuntamente las funciones de red y las funciones individuales.
El software del sistema operativo de red se integra en un número importante de sistemas operativos conocidos, incluyendo Windows 2000 Server/Professional, Windows NT Server/Workstation, Windows 95/98/ME y Apple Talk.
Cada configuración (sistemas operativos de red y del equipo separados, o sistema operativo combinando las funciones de ambos) tiene sus ventajas e inconvenientes. Por tanto, nuestro trabajo como especialistas en redes es determinar la configuración que mejor se adapte a las necesidades de nuestra red.
Es un componente software de una computadora que tiene como objetivo coordinar y manejar las actividades de los recursos del ordenador en una red de equipos. Consiste en un software que posibilita la comunicación de un sistema informático con otros equipos en el ámbito de una red.






SISTEMAS OPERATIVOS DE RED (NOS)

DEFINICION DE SISTEMA OPERATIVO DE RED (NOS)

Un sistema operativo de red (Network Operating System) es un componente software de unacomputadora que tiene como objetivo coordinar y manejar las actividades de los recursos del ordenador en una red de equipos. Consiste en un software que posibilita la comunicación de unsistema informático con otros equipos en el ámbito de una red. Dependiendo del fabricante delsistema operativo de red, tenemos que el software de red para un equipo personal se puede añadir al propio sistema operativo del equipo o integrarse con él. Netware de Novell es el ejemplo más familiar y famoso de sistema operativo de red donde el software de red del equipo cliente se incorpora en el sistema operativo del equipo. El equipo personal necesita ambos sistema operativos para gestionar conjuntamente las funciones de red y las funciones individuales.


Características de los Sistemas Operativos de RedEn general, se puede decir que un Sistema Operativo tiene las siguientes características:
o Conveniencia. Un Sistema Operativo hace más conveniente el uso de una computadora.
o Eficiencia. Un Sistema Operativo permite que los recursos de la computadora se usen de la manera más eficiente posible.
o Habilidad para evolucionar. Un Sistema Operativo deberá construirse de manera que permita el
desarrollo, prueba o introducción efectiva de nuevas funciones del sistema sin interferir con elservicio.
o Encargado de administrar el hardware. El Sistema Operativo se encarga de manejar de una mejor manera los recursos de la computadora en cuanto a hardware se refiere, esto es, asignar a cada
proceso una parte del procesador para poder compartir los recursos.
o Relacionar dispositivos (gestionar a través del kernel). El Sistema Operativo se debe encargar de comunicar a los dispositivos 
periféricos, cuando el usuario así lo requiera.
o Organizar datos para acceso rápido y 
seguro.
o Manejar las 
comunicaciones en red. El Sistema Operativo permite al usuario manejar con alta facilidad todo lo referente a la instalación y uso de las redes de computadoras.
o Procesamiento por bytes de flujo a través del 
bus de datos.
o Facilitar las entradas y salidas. Un Sistema Operativo debe hacerle fácil al usuario el acceso y manejo de los dispositivos de Entrada/Salida de la computadora.
o Técnicas de recuperación de errores.
o Evita que otros usuarios interfieran. El Sistema Operativo evita que los usuarios se bloqueen entre ellos, informándoles si esa aplicación esta siendo ocupada por otro usuario.
o Generación de 
estadísticas.
o Permite que se puedan compartir el hardware y los datos entre los usuarios.
· Sistemas Operativos de red.
· Son aquellos sistemas que mantienen a dos o más 
computadoras unidas através de algún medio de comunicación (fisico o no), con el objetivo primordial de poder compartir los diferentes recursos y la información del sistema.
· El primer Sistema Operativo de red estaba enfocado a equipos con un procesador Motorola 68000, pasando posteriormente a procesadores Intel como Novell Netware.
· Los Sistemas Operativos de red mas ampliamente usados son: Novell Netware, Personal Netware,
LAN Manager, Windows NT Server, UNIX, LANtastic.


SISTEMAS OPERATIVOS DISTRIBUIDOS (OSD)

Definición y objetivos de un sistema distribuido

Existen muchas definiciones y no siempre coincidentes. Nosotros diremos que un sistema distribuido es un cojunto de computadores independientes que se presenta a los usuarios como un sistema único. En esta definición cabe destacar dos aspectos. Uno, el hardware. La definición habla de máquinas autónomas, es decir, que pueden operar sin la supervisión de ninguna otra. Dos, el software, que debe conseguir que los usuarios del sistema lo vean como una máquina central convencional única.

Concepto de Sistemas Operativos distribuidos.Permiten distribuir trabajos, tareas o procesos, entre un conjunto de procesadores. Puede ser que este conjunto de procesadores esté en un equipo o en diferentes, en este caso es trasparente para el usuario. Existen dos esquemas básicos de éstos. Un sistema fuertemente acoplado es a es aquel que comparte la memoria y un reloj global, cuyos tiempos de acceso son similares para todos los procesadores. En un sistema débilmente acoplado los procesadores no comparten ni memoria ni reloj, ya que cada uno cuenta con su memoria local.


Los sistemas distribuidos deben de ser muy confiables, ya que si un componente del sistema se compone otro componente debe de ser capaz de reemplazarlo.


Entre los diferentes Sistemas Operativos distribuidos que existen tenemos los siguientes: Sprite, Solaris-MC, Mach, Chorus, Spring, Amoeba, Taos, etc.


Aspectos de los Sistemas Operativos distribuidos:· Colección de sistemas autónomos capaces de comunicación y cooperación mediante interconexiones hardware y software .
· Gobierna operación de un S.C. y proporciona abstracción de máquina virtual a los usuarios.
· Objetivo clave es la transparencia.
· Generalmente proporcionan medios para la compartición global de recursos.
· Servicios añadidos: denominación global, sistemas de archivos distribuidos, facilidades para distribución de cálculos (a través de comunicación de procesos internodos, llamadas aprocedimientos remotos, etc.).


Caracteristicas de Sistemas Distribuidos
Hasta aquí nos hemos dedicado a hacer un repaso del hardware sobre el que puede construirse un sistema distribuido y del tipo de software que da al usuario del mismo una vista o apariencia más o menos integrada. En el resto del capítulo vamos a detenernos en los aspectos que hay que considerar en la construcción de un sistema para que pueda ser entendido como realmente distribuido. Estos aspectos son la transparencia, la flexibilidad, la fiabilidad, las prestaciones y la escalabilidad.

Trasparencia
Se dice que un sistema distribuido es trasparente cuando es visto tanto por el usuario como por el programador como un sistema convencional de tiempo compartido. La trasparencia total es difícil de lograr. Parcialmente, el concepto de transparencia puede ser aplicado a varios aspectos de un sistema distribuido.

La transparecia a la ubicación consiste en que los nombres de los recursos no estén ligados a las máquinas concretas. Por ejemplo, en un sistema que sea transparente a la localidad, no se permiten en una llamada al sistema open nombres como maquina1/home/pipo/agenda. La transparencia a la migración es un concepto un tanto más elaborado. Consiste en que los recursos, si bien su nombre no depende de su localización, cuando esta cambia, el nombre del recurso cambia. Consideremos un sistema con dos servidores de ficheros. Los usuarios ven el directorio raíz del primer servidor como el directorio /libros y el segundo como /articulos. Supongamos que en el servidor segundo tenemos el directorio actaInf93, que los usuarios ven como /artículos/actaInf93. El administrador del sistema puede considerar que los artículos del directorio actaInf93, que han sido compilados y editados en una publicación única, deben ser considerados como un libro, de modo que son migrados al otro servidor en el directorio actaInf93. Ahora, el usuario no ve el directorio /articulos/actaInf93 y sí percibe que ha aparecido el directorio /libros/actaInf93. Este cambio en la ubicación física de un directorio ocasiona que el nombre del directorio cambie de nombre. Se puede decir que este sistema de ficheros no es transparente a la migración.

Para aumentar la seguridad de los sistemas, en ocasiones se replican ciertos recursos. La transparencia a la replicación consiste en que el nombre de los recursos debe ser independientes de la réplica concreta. En el ejemplo anterior, el directorio /actaInf93 puede residir en los dos servidores para mayor seguiridad. Sin embargo cada réplica tendría un nombre asociado, bien /artículos/actaInf93, bien /libros/actaInf93. Un sistema de ficheros transparente a la replicación sería aquel en el cual varios servidores dispuestos en un anillo lógico mantuviesen la misma jerarquía de directorios, pero los ficheros no se encuentran en todas las máquinas. El sistema decide en qué máquinas replicar un fichero. Cuando se produce un acceso a un fichero por parte de un proceso, la petición se dirige al primer servidor. Si no está el fichero, la solicitud se redirije al siguiente, etc. El primer servidor que mantenga el fichero atenderá la petición. Lo importante es que el nombre del fichero es independiente de si el fichero está replicado o no, cuántas veces y en qué máquinas.

Otro aspecto de la transparencia es la denominada transparencia a la concurrencia. En ocasiones, en un sistema de tiempo compartido dos procesos acceden al mismo registro de un fichero. El que dicha posibilidad exista no debe influir en la forma que es accedido el fichero en el proceso de usuario. Este sistema de acceso debiera se transparente a la concurrencia.

Sin duda alguna, la transparencia más difícil de alcanzar es la transparencia al paralelismo. Cuando se dispone de más de una UCP, los problemas se pueden descomponer en procesos, cada uno de ellos ejecutando en una UCP y comunicándose a través de mensajes. Esta aproximación exige del programador que conozca de cúantas UCP dispone su sistema y conozca que su programa admite una descomposición en actividades que pueden ser ejecutadas en paralelo. Sería ideal que el compilador del programa y el sistema operativo llevasen a cabo dicha descomposición. Desgraciadamente, el estado actual de los conocimientos en nos sitúa aún muy lejos de lograr la transparencia al paralelismo.

Flexibilidad
Este aspecto se refiere a la forma en que debe ser construido el sistema operativo. Conviven dos escuelas de pensamiento que son las del kernel monolítico y las del sistema operativo basado en microkernel. La primera sostiene que los servicios del sistema deben residir en el sistema operativo y la segunda que es preciso extraer todos los servicios posibles fuera del núcleo del sistema operativo y disponerlos en procesos de usuario, logrando un mayor estructura e independencia en los servicios, que pueden residir en máquinas diferentes. Hoy en día el kernel monolítico domina el mundo de los sistemas operativos, pero parece que el futuro se impondrá la filosofía microkernel, debido a su mayor flexibilidad. Para obtener un servicio, un proceso de usuario envía un mensaje al servidor adecuado. El kernel sólo se ocupa de realizar el paso del mensaje y es el proceso de usuario quien realiza el trabajo cuado recibe el mensaje. Es la facilidad para añadir, suprimir y modificar los servicios los que que da la flexibilidad al sistema microkernel. Por ejemplo, puede fácilmente disponerse de dos sistemas de ficheros, UNIX, donde los discos mantienen la asignación de los ficheros en i-nodos y MS-DOS, donde los discos mantienen la FAT. Con un kernel monolítico, el sistema de ficheros es el que es y no puede modificarse. La única ventaja de los kernel monolíticos sobre los microkernels es su mayor velocidad debido a la ausencia de tráfico de mensajes. Sin embargo, en los sistemas operativos distribuidos existen otros factores a considerar además del tráfico de mensajes que minimizan el impacto de estos en las prestaciones del sistema global, de modo que en un futuro previsible se impondrán los sistemas microkernel.

Fiabilidad
Una de las motivaciones originales para tratar de construir sistemas distribuidos fue el aumento de la fiabilidad del sistema. En un sistema con cien UCP's el fallo de uno de ellas no tendrá consecuencias graves, por que su trabajo será realizado por las otras. En un sistema en el que el sistema de ficheros se reparte en cuatro servidores, cada uno de ellos con una probabilidad de que en un instante dado sea inoperativo de 0.05, la probabilidad de que el sistema de ficheros completo no sea operativo es de 0.054 = 0.000006. No obstante, esta es sólo parte de la verdad. Una cita muy famosa de Leslie Lamport define un sistema distribuido como aquel en el que nunca se puede hacer nada porque siempre necesita de un servicio que presta una máquina que uno nunca sabe donde está que se ha estropeado. Así, el ejemplo anterior puede interpretarse del siguiente modo. Ya que la probabilidad de que uno de los servidores esté disponible es del 0.95, la probabilidad de que un proceso que necesite acceder a los cuatro servidores pueda ejecutarse es de 0.954 = 0.84.

La fiablilidad tiene varios aspectos. Uno es la disponibilidad, que es la fracción de tiempo en que el sistema es operativo. La disponibilidad aumenta cuando no es preciso que muchos componentes críticos del sistema necesiten estar operativos simultáneamente, pero desde luego la clave para garantizar la disponibilidad es la replicación de los componentes, sean software o hardware. Si uno falla, otro estará disponible. La redundancia, no obstante, acarrea otros problemas. Entre ellos está la consistencia de los datos. A mayor número de copias, mayor es la probabilidad de que se produzcan inconsistencias, especialmente si al número de escrituras es muy alto.

Otro aspecto de la fiablidad es el de la seguridad de los datos, que deben ser protegidos contra accesos no autorizados que los corrompan o eliminen. La problema de seguridad crece en los sistemas distribuidos debido al aumento del número de mensajes que circulan por las líneas de comunicación, que pueden ser interceptados e impostados por máquinas ajenas al sistema. Supongamos un sistema distribuido formado por las máquinas A, B, C y D. Si la máquina F tiene acceso a las líneas de comunicación, F puede enviar un mensaje a A solicitándola un servicio como puede ser el acceso a determinado registro de datos confidencial. En el campo del mensaje que determina la máquina fuente siempre puede insertar el nombre de la máquina B. La máquina A no tiene medio de saber que el mensaje ha sido impostado y contesta a la máquina B. Este mensaje también es interceptado o leído por la máquina F.

PrestacionesPor muy brillantemente que hayan sido resueltos los objetivos de transparencia y fiabilidad de un sistema operativo distribuido, este no tendrá éxito si es lento. La velocidad de los sistemas distribuidos viene comprometida por el tráfico de mensajes en las líneas de comunicación. En una red local, el envío de un mensaje puede llevar alrededor de un milisegundo. La mayoría de este tiempo se gasta en la ejecución de los protocolos de comunicacióne en ambos extremos de la línea. El aumento de velocidad pasa necesariamente por minimizar el número de mensajes intercambiados. Por una parte, el descomponer un problema en actividades que pueden ser ejecutadas en paralelo y asignarlas a distintos procesadores es la mejor manera de resolver el problema de forma eficiente. Por otra parte, a mayor número de procesadores, mayor es el número de mensajes intercambiados. Aparece así el concepto de la granularidad de los cálculos. El problema de sumar cuatro enteros puede ser descompuesto en dos subproblemas. El primero es sumar los dos primeros números y el segundo el sumar los dos últimos. Desde luego no merece la pena el solicitar un servicio remoto para sumar dos enteros por que el costo de las comunicaciones es incomparablemente mayor que el ahorro de tiempo conseguido en su ejecución simultánea. En general, se puede decir que un sistema operativo distribuido dará pocas prestaciones en problemas de granularidad fina, es decir aquellos en que muestran muchos cálculos pequeños que se comunican intensamente. Si son apropiados en la resolución de problemas de granularidad gruesa, aquellos que exiben unos pocos bloques de cálculo independientes y pocas necesidades de comunicación.

EscalabilidadA pesar de los progresos de los últimos años, con sistemas concretos y desarrollados, el diseño de sistemas operativos distribuidos es un campo aún poco conocido e investigado. Los actuales sistemas abarcan como máximo unos cientos de máquinas. A medida que la informática se introduce en las actividades cotidianas y el ordenador se introduce en los hogares, comienzan a perfilarse sistemas de miles de millones de máquinas. La pregunta que se plantea es la siguiente. ¿Los métodos y algoritmos utilizados en los sistemas operativos distribuidos actuales son apropiados, es decir, escalan adecuadamente cuando el número de componentes aumenta en órdenes de magnitud?

Aunque se sabe aún muy poco acerca de estos enormes sistemas futuros, una cosa parece estar clara: hay que evitar componentes, estructuras de datos -tablas, etc- y algoritmos que operen de forma centralizada. En cuanto a los componentes o máquinas, es posible tener un único servidor que atienda a cuatro cientos millones de hispanohablantes, pero más vale repartir su carga de trabajo entre otros servidores a fin de paliar los esfectos de una interrupción del servicio. En cuanto a las tablas, se puede mantener los números de teléfono de cuatrocientos millones de personas en una sóla máquina. Supongamos un registro de 50 caracteres. El listado total requiere un almacenamiento de 50 * 4 * 108 = 20 * 109 = 20 Gbytes, que puede soportar incluso una única unidad de disco. No obstante, concentrar las peticiones en está máquina saturaría no sólo su UCP sino las líneas de comununicación que salen y entran en el sistema.

Centralizar algoritmos tampoco es una buena idea. En un sistema distribuido grande, una cantidad enorme de mensajes debe ser encaminada a lo largo de muchas líneas y máquinas. La forma más eficiente de hacer esto es recabar periódicamente toda la información de la carga de todas las líneas y máquinas en una máquina central. Con la información obtenida esta máquina calculará todas las rutas óptimas empleando un algoritmo de teoría de teoría de grafos. Sus resultados serán después extendidos al resto de las máquinas del sistema. Una máquina única prestando servicios a demasiados clientes hemos visto que es inadecuada. En general, algoritmos que exijan el requerir información a todos los componentes, realizar cálculos con la información recabada y después distribuir los resultados deben ser evitados. Sólo deben usarse algoritmos descentralizados, que tienen las siguientes características.

· 1. Ninguna máquina tiene información completa acerca de todo el sistema.
· 2. Las máquinas toman decisiones basadas sólamente en información local.
· 3. El fallo de una de las máquinas no malogra el algoritmo.
· 4. No existe un reloj común.

Este último aspecto quizás se entienda peor. En una red local, las máquinas se pueden sincronizan en un intervalo del milisegundo, pero sincronizar máquinas a nivel nacional, por ejemplo, es más complicado.










sábado, 1 de septiembre de 2012




¿Qué es GNU?
GNU es un sistema operativo similar a Unix que es software libre y respeta su libertad. Puede instalar versiones de GNU basadas en Linux que son completamente software libre.

Capturas de pantalla de GNU


El Proyecto GNU se inició en 1984 para desarrollar el sistema GNU. El nombre «GNU» (que significa «ñu» en inglés) es un acrónimo recursivo de “¡GNU No es Unix!” y en español se pronuncia fonéticamente, como una sílaba sin vocal entre la gy la n.
Los sistemas operativos parecidos a Unix se construyen a partir de un conjunto de aplicaciones, bibliotecas y herramientas de programación, además de un programa para alojar recursos y interactuar con el hardware, denominado núcleo.
The Hurd, el núcleo propio de GNU, está lejos de poderse usar en el día a día. Por este motivo, GNU se usa habitualmente con un núcleo denominado Linux. Esta combinación es el sistema operativo GNU/Linux. GNU/Linux lo usan millones, aunque muchos lo denominan por error "Linux".
Lo que proporcionamos
Guile de GNU
Guile de GNU es el lenguaje de extensión oficial del sistema operativo GNU. La versión 2.0 se publicó el 16 de febrero de 2011 con muchas funcionalidades nuevas. Su infraestructura de compilación, bibliotecas y el entorno dinámico de programación hacen que sea un gran lenguaje sobre el que programar aplicaciones. ¡Únete a la comunidad ahora!
GNUstep
GNUstep es un entorno de ¡programación orientado a objetos totalmente funcional. Necesitamos programadores para escribir y migrar aplicaciones a GNUstep para que podamos hacer que sea una gran experiencia para los usuarios.
¿Qué es el software libre?
El «Software Libre» es un asunto de libertad, no de precio. Para entender el concepto, debe pensarse en «libre» como en «libertad de expresión», no como en «cerveza gratis».
El software libre es una cuestión de libertad de los usuarios para ejecutar, copiar, distribuir, estudiar, cambiar y modificar el software. Más concretamente se refiere a los cuatro tipos de libertades para los usuarios de software:
·         La libertad de usar el programa, con cualquier propósito (libertad 0).
·         La libertad de estudiar el funcionamiento del programa, y adaptarlo a las necesidades (libertad 1). El acceso al código fuente es un prerrequisito para esto.
·         La libertad de distribuir copias, con lo que puede ayudar a otros (libertad 2).
·         La libertad de mejorar el programa y hacer públicas las mejoras, de modo que toda la comunidad se beneficie (libertad 3). De igual forma que la libertad 1 el acceso al código fuente es un prerrequisito.

Denominación GNU/Linux
 
Evolución de los sistemas UNIX
Parte de la comunidad y numerosos medios prefieren denominar a esta combinación como Linux, aunque GNU/Linux (con las variantes GNU con Linux y GNU+Linux) es la denominación 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.47 48
Desde 1984, Richard Stallman y muchos voluntarios están 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 años 90, unos seis años desde el inicio del proyecto, GNU tenía muchas herramientas importantes listas, como editores de texto, compiladores, depuradores, intérpretes de comandos de órdenes etc., excepto por el componente central: el núcleo.
GNU tenía su propio proyecto de núcleo, llamado Hurd. Sin embargo, su desarrollo no continuó como se esperaba al aparecer el núcleo Linux. De esta forma se completaron los requisitos mínimos y surgió el sistema operativo GNU que utilizaba el núcleo Linux.
El principal argumento de los defensores de la denominación GNU/Linux es resolver la posible confusión que se puede dar entre el núcleo (Linux) y gran parte de las herramientas básicas del resto del sistema operativo (GNU), y del sistema completo que usualmente se usa como combinación de GNU, Linux, y otros proyectos de software. Además, también 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 sólo por software libre. La primera distribución que incluyó el GNU en su nombre fue Yggdrasyl en 1992, donde aparecía como Linux/GNU/X. La FSF denominó a este sistema "Linux" hasta al menos junio de 199449 y recién a partir de enero de 1995 empezó a llamarlo "GNU/Linux" (también GNU+Linux y lignux, términos que han caído en desuso a instancias del propio Stallman).50
/
GNU
+
Linux
Algunas distribuciones apoyan esta denominación, 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.51 52 53
En ocasiones, el proyecto KDE ha utilizado una tercera denominación: GNU/Linux/X para enfatizar los tres proyectos sobre los que se apoya su entorno de escritorio.
Algunas distribuciones
§