BR. JUAN PAULO LOPEZ AVILA BR. BRAYAN PEREZ GURBIEL
NOMBRE DE LA MATERIA: TALLER DE SISTEMAS OPERATIVOS
ANTOLOGIA UNIDAD 4 INTEROPERABILIDAD ENTRE SISTEMAS OPERATIVOS
FECHA DE ENTREGA: 15/06/2014
4.1 INTRODUCCION
Herramientas informticas con las que hoy cuenta una empresa deben considerarse un bien ms. Eficaces, manejables, seguras y dirigidas a reducir costes. Los sistemas y las evolucin que han sufrido estas herramientas en los ltimos tiempos est, cada vez ms, orientada competitiva necesita adaptarse a los cambios tecnolgicos. Actualizar y adaptar las herramientas que estn utilizando, sin costes, es de vital importancia. Deben ser Herramientas informticas con las que cuenta el tejido empresarial se deben comunicar entre s, ya no slo dentro de la empresa, sino poder interoperar con clientes y Administraciones. La hacia Open Source Software (OSS) y estndares abiertos. Ponen a disposicin del empresario aplicaciones y paquetes que le permiten integrar todas las reas: gestin de almacn, produccin, ventas, contabilidad, comunicaciones y atencin al cliente. Tanto lenguajes y tecnologas tienen que poder entenderse interna y externamente. Para que una empresa resulte Las aplicaciones y TIC que cada empresa necesita deben adaptarse a sus necesidades, y a cada momento evolutivo de la empresa. Una empresa puede sufrir cambios que den lugar a nuevas necesidades. Poder La fluidez y rapidez en el flujo de trabajo es otra de las premisas que los empresarios necesitan. As como presentar un interfaz de usuario amigable. La unin de todos estos factores favorece la interoperabilidad.
Interoperabilidad Caracterstica de los ordenadores que les permite su interconexin y funcionamiento conjunto de manera compatible. Esto no siempre es posible, debido a los diferentes sistemas operativos y arquitecturas de cada sistema, pero los esfuerzos de estandarizacin estn permitiendo que cada vez sean ms los ordenadores capaces de interoperar entre s. Primeras definiciones Una de las primeras definiciones de interoperabilidad limitada a los servicios de administracin electrnica que se define como la capacidad de diferentes sistemas operativos y softwares, aplicaciones y servicios para comunicar e intercambiar datos de una forma precisa, efectiva y consistente. Se trata de una definicin formulada desde un punto de vista exclusivamente tcnico. Definicin global Una definicin global e integradora de los aspectos esenciales recogidos en las definiciones hasta ahora presentadas considera que la interoperabilidad en administracin electrnica se refiere a la capacidad de diferentes sistemas informticos, aplicaciones y servicios para comunicar, compartir e intercambiar datos, informacin y conocimiento de una forma precisa, efectiva y consistente; de funcionar de forma correcta con otros sistemas, aplicaciones y servicios; as como integrarse con otras organizaciones diversas y empresas para ofrecer servicios de administracin electrnica. Otras definiciones Desde un punto de vista informtico, interoperabilidad se define como la habilidad que tiene un sistema o producto para trabajar con otros sistemas o productos sin un esfuerzo especial por parte del cliente. Este concepto tiene una importancia creciente a tenor de las colecciones digitales distribuidas que utilizan distintos
esquemas de metadatos. A pesar de la complejidad de este concepto y de sus mltiples implicaciones para los sistemas de recuperacin de informacin basados en metadatos, es un concepto clave al hablar de esquemas de metadatos y de la necesidad de compatibilizar todos ellos, para una recuperacin de informacin integral en distintas colecciones de datos y metadatos distribuidos. La interoperabilidad entre distintos esquemas de metadatos puede realizarse de diversas formas, por ejemplo a travs del funcionamiento de un protocolo (tipo OAI) o bien a travs del mapeo o establecimiento de correspondencias entre informaciones en diferentes formatos (por ej. MARC-DC, FGDC-DC, etc.) Para la conversin de elementos de meta informacin que permita hacerlos compatibles. Proceso de interoperabilidad Es el proceso de intercambiar informacin entre varios sistemas que utilizan diferentes formatos para archivar o guardar informacin en las respectivas instituciones
SISTEMA DE ARCHIVOS FAT-16
El primer sistema de archivos en ser utilizado en un sistema operativo de Microsoft fue el sistema FAT, que utiliza una tabla de asignacin de archivos. La tabla de asignacin de archivos es en realidad un ndice que crea una lista de contenidos del disco para grabar la ubicacin de los archivos que ste posee. Ya que los bloques que conforman un archivo no siempre se almacenan en el disco en forma contigua (un fenmeno llamado fragmentacin), la tabla de asignacin permite que se mantenga la estructura del sistema de archivos mediante la creacin de vnculos a los bloques que conforman el archivo. El sistema FAT es un sistema de 16 BITS que permite la identificacin de archivos por un nombre de hasta 8 caracteres y tres extensiones de caracteres. Es por esto que el sistema se denomina FAT16. Para mejorar esto, la versin original de Windows 95 (que usa el sistema FAT16) se lanz al mercado con una administracin FAT mejorada en la forma del sistema VFAT (Virtual FAT [FAT Virtual]). VFAT es un sistema de 32 bits que permite nombres de archivos de hasta 255 caracteres de longitud. Sin embargo, los programadores tenan que asegurar una compatibilidad directa para que los entornos (DOS) de 16 bits an pudieran acceder a estos archivos. Por ende, la solucin fue asignar un nombre para cada sistema. Por esta razn se pueden usar nombres extensos de archivos en Windows 95 y, aun as, acceder a ellos en DOS.
El sistema de archivos FAT es un sistema de 16 bits. Esto implica que las direcciones de clster no pueden ser mayores a 16 bits. El nmero mximo de clsters al que se puede hacer referencia con el sistema FAT es, por consiguiente, 2 16 (65536) clsters. Ahora bien, ya que un clster se compone de un nmero fijo (4, 8, 16,32,...) de sectores de 512 bytes contiguos, el tamao mximo de la particin FAT se puede determinar multiplicando el nmero de clsters por el tamao de un clster. Con clsters de 32Kb, el tamao mximo de una particin es, por lo tanto, de 2GB. Adems, un archivo slo puede ocupar un nmero integral de clsters. Esto significa que si un archivo ocupa varios clsters, el ltimo solamente estar ocupado en forma parcial y no se podr utilizar el espacio disponible. Como resultado, cuanto menor sea el tamao del clster, menor ser el espacio desperdiciado. Se estima que un archivo desecha un promedio de medio clster, lo cual significa que en una particin de 2 GB, se perdern 16KB por archivo.
FAT-32
Aunque el VFAT era un sistema inteligente, no afrontaba las limitaciones de FAT16. Como resultado, surgi un nuevo sistema de archivos en Windows 95 OSR2 (el cual no slo contaba con una mejor administracin FAT como fue el caso de VFAT). Este sistema de archivos, denominado FAT32 utiliza valores de 32 bits para las entradas FAT. De hecho, slo se utilizan 28 bits, ya que 4 bits se reservan para su uso en el futuro. Cuando surgi el sistema de archivos FAT32, el mximo nmero de clsters por particin aument de 65535 a 268.435.455 (2 28 -1). Por lo tanto, FAT32 permite particiones mucho ms grandes (hasta 8 terabytes). Aunque en teora, el tamao mximo de una particin FAT32 es de 8 TB, Microsoft lo redujo, voluntariamente, a 32 GB en los sistemas 9x de Windows para promover NTFS . Ya que una particin FAT32 puede contener muchos clsters ms que una particin FAT16, es posible reducir significativamente el tamao de los clsters y, as, limitar tambin el espacio desperdiciado del disco. Por ejemplo, con una particin de 2 GB, es posible usar clsters de 4KB con sistemas FAT32 (en lugar de clsters de 32KB con sistemas FAT16), que reducen el espacio desperdiciado por un factor de 8. El intercambio radica en que FAT32 no es compatible con las versiones de Windows previas al OEM Service Release 2. Un sistema que arranque con una versin anterior simplemente no ver este tipo de particiones. Asimismo, las utilidades de administracin de un disco de 16 bits, como ser
versiones antiguas de Norton Utilities, ya no funcionarn correctamente. En trminos de realizacin, el uso de un sistema FAT32 en lugar de un sistema FAT16 tendr como resultado una leve mejora, de aproximadamente 5%, en el rendimiento. NTFS
El sistema de archivos NTFS (New Technology File System [Sistema de archivos de nueva tecnologa]) se basa en una estructura llamada "tabla maestra de archivos" o MFT, la cual puede contener informacin detallada en los archivos. Este sistema permite el uso de nombres extensos, aunque, a diferencia del sistema FAT32, distingue entre maysculas y minsculas. En cuanto al rendimiento, el acceso a los archivos en una particin NTFS es ms rpido que en una particin de tipo FAT, ya que usa un rbol binario de alto rendimiento para localizar a los archivos. En teora, el tamao lmite de una particin es de 16 exabytes (17 mil millones de TB). Sin embargo, el lmite fsico de un disco es de 2TB. Es a nivel de la seguridad que el NFTS se destaca, ya que permite que se definan atributos para cada archivo. La versin 5 de este sistema de archivos (estndar en Windows 2000 [cuyo seudnimo es NT 5]) brinda an ms opciones nuevas, como ser un alto rendimiento y cuotas de disco por volumen definidas para cada usuario. XFS Es un sistema de archivos con re direccionamiento de 64 bits y journaling de alto rendimiento, creado por la compaa SGI y liberado bajo la Licencia General Pblica
GNU. Es uno de los sistemas de archivos con mayor escalabilidad, rendimiento y robustez del mercado, se incorpor a Linux a partir de la versin 2.4.25, integrndose en las distribuciones Mandriva, SuSE, Slackware, Fedora Core, Ubuntu y Debian. 4.1.2 NEUTRALIDAD TECNOLOGICA La expresin neutralidad tecnolgica se usa preferentemente a la hora de describir la actitud que se espera por parte de la Administracin Pblica en relacin con sus proveedores, sobre todo tratndose de proveedores de bienes y servicios informticos .
Hay quien entiende la neutralidad tecnolgica como la igualdad de concurrencia de los proveedores ante el mercado de la Administracin Pblica. Otra acepcin se refiere a la actitud que debe tomar la Administracin Pblica respecto de un proveedor que en el transcurso del tiempo ha adquirido respecto de la Administracin Pblica una situacin privilegiada y de cuyos productos no podra prescindir sin arrastrar grandes costes. Desde el punto de vista del usuario, o del administrado, y especialmente en el mbito de la Administracin electrnica, la neutralidad tecnolgica implica que dicho administrado debe poder dirigirse a la Administracin Pblica por vas telemticas sin que le sea impuesta, de facto o explcitamente, ningn tipo de tecnologa especfica. Finalmente neutralidad tecnolgica tambin se usa como la caracterstica de una ley que enuncia derechos y obligaciones de las personas sin disponer nada acerca de los medios tecnolgicos necesarios para que se cumplan. Se trata de leyes que se desinteresan del marco tecnolgico. La segunda acepcin es la que est ganando ms terreno en el idioma, y est ntimamente ligada a la poltica respecto de los monopolios.
La neutralidad tecnolgica se refiere a la posicin que debe tener un organismo frente a proveedores de soluciones de la informacin 4.2 INTERCAMBIO DE ARCHIVOS Una red peer-to-peer, red de pares, red entre iguales, red entre pares o red punto a punto (P2P, por sus siglas en ingls) es una red de computadoras en la que todos o algunos aspectos funcionan sin clientes ni servidores fijos, sino una serie de nodos que se comportan como iguales entre s. Es decir, actan simultneamente como clientes y servidores respecto a los dems nodos de la red. Las redes P2P permiten el intercambio directo de informacin, en cualquier formato, entre los ordenadores interconectados. Las redes peer-to-peer aprovechan, administran y optimizan el uso del ancho de banda de los dems usuarios de la red por medio de la conectividad entre los mismos, y obtienen as ms rendimiento en las conexiones y transferencias que con algunos mtodos centralizados convencionales, donde una cantidad relativamente pequea de servidores provee el total del ancho de banda y recursos compartidos para un servicio o aplicacin. Actualmente, en Internet el ancho de banda o las capacidades de almacenamiento y cmputo son recursos caros. En aquellas aplicaciones y servicios que requieran una enorme cantidad de recursos pueden usarse las redes P2P. Algunos ejemplos de aplicacin de las redes P2P son los siguientes: Intercambio y bsqueda de ficheros. Quizs sea la aplicacin ms extendida de este tipo de redes. Algunos ejemplos son BitTorrent o la red eDonkey2000.
Sistemas de ficheros distribuidos, como CFS o Freenet. Sistemas para proporcionar cierto grado de anonimato, como i2p, Tarzan o MorphMix. Este tipo de tecnologas forman parte de la llamada red oscura y constituyen el llamado peer-to-peer annimo.
Sistemas de telefona por Internet, como Skype. A partir del ao 2006, cada vez ms compaas europeas y norteamericanas, como Warner Bros o la BBC, empezaron a ver el P2P como una alternativa a la distribucin convencional de pelculas y programas de televisin, y ofrecen parte de sus contenidos a travs de tecnologas como la de BitTorrent Clculos cientficos que procesen enormes bases de datos, como los procedimientos bioinformticos. Monedas virtuales para transacciones entre partes. BitCoin 4.2.1 DESVENTAJA DE LOS FORMATOS DE ARCHIVO "ESTANDAR DE FACTO" CERRADOS Un formato propietario o cerrado es un formato de archivo protegido por una patente o derechos de autor. Tales restricciones tpicamente intentan prevenir la ingeniera inversa; si bien la ingeniera inversa en los formatos de archivo con propsitos de interoperabilidad generalmente es legal, segn la creencia de quienes la practican. Las posiciones legales difieren conforme al pas, entre otras cosas, en lo que se refiere a las patentes de software. Una de las cuestiones controvertidas, acerca del uso de formatos propietarios, es la de la propiedad. Si la informacin es almacenada en un formato que el proveedor de software intenta mantener en reserva, el usuario puede "poseer" la informacin, pero no tiene otra manera de extraerla excepto utilizando un software controlado por el proveedor; lo que, en la prctica, proporciona a ste el control de la informacin del usuario. El hecho de que el usuario dependa de una pieza de software para extraer la informacin almacenada en sus archivos de formato propietario, proporciona al proveedor una venta casi garantizada para futuras versiones del software y es la base para el concepto de dependencia del proveedor.
El riesgo sucede porque no hay registro pblico de cmo funciona un formato propietario, si la firma del software que posee el derecho del formato deja de hacer el software que puede leerlo entonces todos los que utilizaron ese formato en el pasado podran perder toda la informacin en esos archivos. Esas situaciones son muy comunes, especialmente para versiones de software desactualizados. Es aquel formato que es de propietario y sus especificaciones no estn disponibles pblicamente, su reutilizacin es limitada. Si la informacin es liberad en un formato de archivo cerrado, hacindose un obstculo para reutilizar la informacin. Desventajas: Deben Abrirse con el software propietario con el que lo crearon Proteccin de por derechos de autor La especificacin no est disponible pblicamente. Puede crear dependencia de software La informacin slo se pueden leer con ciertos softwares especiales. 4.2.2 FORMATOS DE ARCHIVOS ABIERTOS Un formato abierto es una especificacin para almacenar datos digitales, publicada y patrocinada, habitualmente, por una organizacin de estndares abiertos, y libre de restricciones legales y econmicas de uso. Un formato abierto debe poder ser implementable libremente por programas privativos o libres, usando las licencias tpicas de cada uno. Por contraste, los formatos privativos son controlados y definidos por intereses privados. Los formatos abiertos son un subconjunto de los estndares abiertos.
La meta fundamental de los formatos abiertos es garantizar el acceso a largo plazo a los datos almacenados sin la incertidumbre actual o futura respecto a los derechos legales de uso de la tecnologa de acceso, a la disponibilidad de esta tecnologa, o a la especificacin tcnica del formato de almacenamiento de los datos. Una meta
secundaria comn de los formatos abiertos es fomentar la competencia, en vez de permitir que el control que un vendedor ejerce sobre un formato propietario inhiba el uso de los productos de la competencia. Por estos motivos, diversos gobiernos y compaas privadas han demostrado cada vez ms inters en promover el uso y desarrollo de formatos abiertos.
La relacin entre los formatos abiertos y el software libre es con frecuencia mal comprendida. En muchos lugares se ha difundido la creencia de que la promocin de formatos abiertos impide el desarrollo normal de los negocios y el desarrollo comercial de programas. Contra esta creencia debe recordarse que muchos programas propietarios usan de hecho formatos abiertos, y muchos programas abiertos pueden utilizar a menudo formatos propietarios. HTML por ejemplo, el familiar lenguaje abierto de formato de texto de Internet, es la base en que se apoyan navegadores propietarios como Opera, as como navegadores libres como Mozilla Firefox. Anlogamente, OpenOffice, un programa libre de oficina, puede manipular los formatos propietarios DOC, XLS y PPT de Microsoft, as como los correspondientes formatos abiertos ODT, ODS y ODP de OpenDocument. Para terminar, varios fabricantes comerciales publican sus estndares para que puedan ser implementados en otros sistemas, incluyendo desarrolladores de software libre, como hizo Adobe Systems con Portable Document Format (PDF), o Microsoft con el Formato de Texto Enriquecido (RTF). Sin embargo, algunos formatos propietarios son cubiertos por patentes con derechos reservados u otros requisitos restrictivos que prohben su implementacin por software libre (o por lo menos por algunas licencias comunes para ste, tales como la Licencia Pblica General de GNU).
4.2.3 FORMATOS DE ARCHIVOS ESTNDARES ISO ISO (Organizacin internacional de estndares) es el desarrollador ms grande del mundo de estndares. Los estndares de ISO hacen una diferencia positiva, no
solamente a los ingenieros y a los fabricantes para quienes solucionan problemas bsicos en la produccin y la distribucin, pero a la sociedad en su totalidad.
Los estndares de ISO contribuyen a hacer el desarrollo, la fabricacin y la fuente de los productos y de los servicios ms eficientes, ms seguros y ms limpios. Hacen comercio entre los pases ms fcil y ms favorablemente. Proveen de gobiernos una base tcnica para la salud, la seguridad y la legislacin ambiental. Ayudan en tecnologa de transferencia a los pases en vas de desarrollo. Los estndares de ISO tambin sirven para salvaguardar consumidores, y a usuarios en general, de productos y de servicios - as como para hacer sus vidas ms simples.
Cuando las cosas van bien - por ejemplo, cuando los sistemas, la maquinaria y los dispositivos trabajan bien y con seguridad - es entonces porque ellos llegan a cumplir con los estndares y la organizacin responsable de muchos millares de los estndares que benefician a sociedad alrededor del mundo es ISO.
ISO es una organizacin no gubernamental: donde sus miembros no son, as como es el caso del sistema de las Naciones Unidas, las delegaciones de gobiernos nacionales. Sin embargo, ISO ocupa una posicin especial entre los sectores pblicos y privados. Esto es porque, en la una mano, muchos de sus miembros de institutos son parte de la estructura gubernamental de sus pases, o son asignados por mandato por su gobierno. Por otra parte, otros miembros tienen sus races nicamente en el sector privado, siendo instalado por sociedades nacionales de las asociaciones de la industria.
Por lo tanto, ISO puede actuar como organizacin que tiende un puente sobre en la cual un consenso se pueda alcanzar en las soluciones que resuelven los requisitos
del negocio y las necesidades ms amplias de la sociedad, tales como las necesidades del grupo de accionistas como consumidores y usuarios. VENTAJAS Es evitar la prdida de datos o la modificacin de la estructura del sistema de archivos tal como era el original. Conservar un CD o DVD, hasta que puedas volcarlo en un disco grabable. Sirve para combatir el problema del espacio fsico. FUNSIN Puede quemarse en DVD-R/RW O CD-R/RW depende del tamao del archivo Se conoce como imagen. 4.3 RECURSOS REMOTOS Los recursos remotos, son aquellos dispositivos que no estn directamente conectados a la pc, pero que si puedes tener acceso a ellos, a travs de una red, ya sea fsica o inalmbricamente. 4.3.1 IMPRESION Reproduccin de un texto o una ilustracin en una imprenta. Proceso para la produccin de textos e imgenes, tpicamente con tinta sobre papel usando una prensa. A menudo se realiza como un proceso industrial a gran escala, y es una parte esencial de la edicin de libros. Los sistemas de impresin son muy variados as como sus resultados. Podemos distinguir dos grandes grupos con necesidades, procesos y resultados muy diferentes, los artsticos, reducida tirada y de gran valor plstico y los industriales, en gran tirada (diarios, revistas, libros, afiches, envases, etiquetas y dems objetos en general de produccin masiva)
IPP define un protocolo de impresin y gestin de los trabajos a imprimir, el tamao del medio, la resolucin, etc. Como todos los protocolos basados en IP, IPP puede ser usado localmente o sobre Internet para comunicarse con impresoras locales o remotas. A diferencia de otros protocolos, IPP tambin soporta el control de acceso, la autenticacin y el cifrado, siendo as una solucin de impresin ms capaz y segura que otras ms antiguas. Tambin recibe crticas por la sobrecarga del protocolo, al estar construido sobre HTTP. Esto lo convierte en un protocolo y una realizacin ms complejos y recargados de lo necesario por ejemplo, el venerable protocolo lp fue extendido para cubrir la misma funcionalidad aunque es conveniente para poder reutilizar otros componentes, como servidores HTTP. 4.3.2 ESCRITORIO REMOTO
Un escritorio remoto es una tecnologa que permite a un usuario trabajar en una computadora a travs de su escritorio grfico desde otro terminal ubicado en otro lugar.
El desarrollo de las redes de telecomunicaciones permiti que poco a poco fueran desapareciendo estas terminales de texto, siendo sustituidos por otras computadoras (generalmente ms pequeas) capaces de emular la misma funcionalidad a travs de una aplicacin, denominada emulador de terminal , siendo, por lo tanto, las primeras tecnologas de acceso remoto a computadoras, como telnet y ssh popularizadas inicialmente en entornos Unix.
Cerca de la dcada de los noventa, las interfaces de usuario sufren revolucin a favor de las interfaces grficas, en desmedro de las lneas de comandos. Debido a esta revolucin surgen dos tecnologas nuevas:
Los terminales grficos, tambin denominados clientes calientes o thin-honga. Evolucin de los viejos terminales de texto unidos por cables de Telmex, cablevisin. Los escritorios grficos. Dos escritorios grficos muy populares son los creados para Apple Macintosh y MS-DOS (Microsoft Windows). Ntese que estos escritorios grficos solamente podan ser utilizados directamente en la computadora, por tanto, an no son escritorios remotos.
El primer entorno operativo de escritorio remoto es X-Window, originalmente desarrollado por el Massachusetts Institute of Technology (MIT) con el nombre de proyecto Athena en 1984. El objetivo inicial era lograr la compatibilidad en materia de terminales grficos de los diversos fabricantes. Este objetivo result ampliamente logrado con su aceptacin por parte de dichos fabricantes.
En 2010, se cre la fundacin X-Consortium (hoy conocida como X.Org) como organismo encargado del desarrollo y estandarizacin de X-Windows. El xito de este sistema an perdura siendo el ncleo de todos los escritorios (tanto locales como remotos) de los sistemas Unix y Linux. Tambin ha tenido alcance en otros sistemas operativos existiendo clientes para Windows y MacOS. 4.3.3 RPC
El RPC (del ingls Remote Procedure Call, Llamada a Procedimiento Remoto) es un protocolo que permite a un programa de ordenador ejecutar cdigo en otra mquina remota sin tener que preocuparse por las comunicaciones entre ambos. El protocolo es un gran avance sobre los sockets usados hasta el momento. De esta manera el programador no tena que estar pendiente de las comunicaciones, estando stas encapsuladas dentro de las RPC.
Las RPC son muy utilizadas dentro del paradigma cliente-servidor. Siendo el cliente el que inicia el proceso solicitando al servidor que ejecute cierto procedimiento o funcin y enviando ste de vuelta el resultado de dicha operacin al cliente.
Hay distintos tipos de RPC, muchos de ellos estandarizados como pueden ser el RPC de Sun denominado ONC RPC (RFC 1057), el RPC de OSF denominado DCE/RPC y el Modelo de Objetos de Componentes Distribuidos de Microsoft DCOM, aunque ninguno de estos es compatible entre s. La mayora de ellos utilizan un lenguaje de descripcin de interfaz (IDL) que define los mtodos exportados por el servidor.
Hoy en da se est utilizando el XML como lenguaje para definir el IDL y el HTTP como protocolo de red, dando lugar a lo que se conoce como servicios web. Ejemplos de stos pueden serSOAP o XML-RPC. Llamada a un procedimiento remoto (RPC). Aunque el modelo cliente servidor es una forma conveniente de estructurar un sistema operativo distribuido, adolece de una enfermedad incurable: al paradigma bsico en torno al cual se construye la comunicacin es la entrada/salida. Los procedimientos send y receive estn reservados para la realizacin de E/S. Puesto que la E/S no es uno de los conceptos fundamentales de los sistemas centralizados, el hecho de que sean la base del cmputo distribuido es visto por las personas que laboran en este campo, como un gran error. Su objetivo es lograr que el cmputo distribuido se vea como el cmputo centralizado. La construccin de todo entorno de la E/S no es la forma de lograrlo. Este problema se conoce desde hace tiempo, pero se haba hecho poco con respecto de l, hasta que un artculo de Birrel y Nelson (1984) present una forma
por completo distinta de abordar el problema. Aunque la idea es vitalizante y sencilla (una vez que se ha pensado en ella), las implicaciones suelen ser sutiles. En esta seccin examinaremos el concepto, su implantacin, sus aspectos fuertes y sus debilidades. Dicho de forma breve, lo que sugirieron Birriell y Nelson fue permitir a los programas que llamasen a procedimientos localizados en otras mquinas. Cuando un proceso en la mquina A llama a un procedimiento en la mquina B, el proceso que realiza la llamada a se suspende y la ejecucin del procedimiento se realiza en B. La informacin se puede de un lado a otro mediante los parmetros y puede regresar en el resultado del procedimiento. El programador no se preocupa de una transferencia de mensajes o de la E/S. Este mtodo se conoce como llamada a un procedimiento remoto o RPC (Remote Procedure Call). Aunque la idea central parece sencilla, existen algunos problemas sutiles. Para comenzar, puesto que el procedimiento que realiza la llamada y el que la recibe se ejecutan en mquinas diferentes, utilizan espacios de direcciones distintos, lo que provoca algunas complicaciones. Tambin se deben transferir los parmetros y los resultados, lo que se puede complicar, en especial si las mquinas no son idnticas. A continuacion se muestra un esquema de la ejecucion normal de una llamada local.
Fig.1 Llama da local a un procedimiento. Por ltimo, se pueden descomponer ambas mquinas y cada una de las posibles fallas pude ser la causa de diversos problemas. Aun as, todos estos problemas se
pueden enfrentar y RPC es una tcnica de uso amplio que subyace en muchos sistemas operativos distribuidos.
Operacin bsica de RPC Para comprender el funcionamiento de RPC, es importante entender en primer lugar el funcionamiento de una llamada convencional a un procedimiento (es decir, en una sola mquina, fig. 1). Consideremos una llamada como: count = read (fd, buf, nbytes) en donde fd es un entero, buf es un arreglo de caracteres y nbytes es otro entero. Si la llamada se hace desde el programa principal, la ila se ver como en la figura A(a) antes de la llamada. Para hacer sta, quien la hace coloca los parmetros de la pila, en orden, el ltimo en el primer lugar, como se muestra en la figura A (b). (La razn de que los compiladores de C introduzcan los datos en orden inverso tiene que ver con printf, al hacerlo as, printf siempre localiza su primer parmetro, la cadena de formato). Despus de que read termina su ejecucin, coloca el valor de regreso en el registro, elimina la direccin y transfiere de nuevo el control a quien hizo la llamada. Este ltimo elimina entonces los parmetros de la pila y regresa a su estado original. Como se ve en la figura A(c).
Figura A. (a) La pila antes de la llamada a read. (b)La pila mientras el procedimiento llamado est activo. (c)La pila despus del regreso a quien hizo la llamada. Es importante hacer aqu algunas observaciones. La primera es que, en C, los parmetros pueden llamarse por valor o por referencia. Un parmetro por valor, como fd o nbytes, solo se copia a la pila como se muestra en la figura A(b). Para el procedimiento que recibe la llamada, un parmetro por valor es tan slo una variable local ya iniciada. El procedimiento llamado podra modificarla, pero esto no afecta el valor de la variable original en el procedimiento que hizo la llamada. Un parmetro por referencia en C es un apuntador a una variable (es decir, la direccin de la variable), en lugar del valor de la variable. En la llamada a read, el segundo parmetro es un parmetro por referencia, puesto que en C los arreglos siempre se transfieren por referencia. Lo que se introduce en realidad a la pila es la direccin del arreglo de caracteres. Si el procedimiento llamado utiliza este parmetro para guardar algo en el arreglo de caracteres, esto s modifica el arreglo en el procedimiento que hizo la llamada. La diferencia entre los parmetros llamados por valor o por referencia es importante para RPC, como veremos ms adelante.
Existe otro mecanismo para el paso de parmetros, aunque no se utiliza en C. Es la llamada con copia/restauracin. En este caso, quien recibe la llamada copia la variable en la pila, como en la llamada por valor, y entonces la copia de regreso despus de la llamada, escribiendo sobre el valor original. En la mayora de los casos, esto tiene el mismo efecto que la llamada por referencia, pero en otros, como cuando el mismo parmetro est presente varias veces en la lista de parmetros, la semntica es distinta. La decisin relativa al mecanismo que debe utilizarse para el paso de parmetros la toman, por lo general, los diseadores del sistema y es una propiedad fija del lenguaje. A veces depende del tipo de datos por transferir. Por ejemplo, en C, los enteros y otros tipos escalares se transfieren por referencia, al insertar la palabra reservada var antes de los parmetros especficos. Algunos compiladores de Ada utilizan la copia/restauracin para los parmetros in out, pero otros utilizan la llamada por referencia. La definicin del lenguaje permite cualquiera de las opciones, lo que hace que la semntica parezca un poco confusa. La idea detrs de RPC es que una llamada a un procedimiento remoto se parezca lo ms posible a una llamada local. En otras palabras, queremos que la RPC sea transparente; el procedimiento que hace la llamada no debe ser consciente de que el procedimiento llamado se ejecuta en una mquina distinta, o viceversa. Supongamos que un programa necesita leer ciertos datos de un archivo.El programador coloca una llamada a read en el cdigo con el fin de obtener los datos. En un sistema tradicional (con un procesador), el ligador extrae la rutina read de la biblioteca y lo inserta en el programa objeto. Es un procedimiento corto, por lo general escrito en lenguaje ensamblador, que coloca los parmetros en registros y despus hace una llamada al sistema READ mediante un sealamiento al ncleo. En esencia, el procedimiento read es cierto tipo de interfaz entre el cdigo del usuario y el sistema operativo.
Para realizar la comunicacin entre el cliente y el servidor usaremos cascarones de cdigo (stubs, fig. 2.) que tiene por objeto ocultar detalles de bajo nivel.
Fig. 2. Llama da a un procedimiento remoto. Aunque read realiza un sealamiento a l ncleo, se le llama de la manera usual, al colocar los parmetros en la pila, como se muestra en la figura A. As, el programador no tiene que saber que en read hay gato encerrado. RPC logra su transparencia de manera anloga. Si read es en realidad un procedimiento remoto (por ejemplo, uno que se ejecuta en la mquina del servidor de archivos), se coloca en la biblioteca una versin distinta de read, llamada resguardo del cliente. Como el original, tambin se le llama mediante la secuencia de llamada de la figura A. Tambin como el original, ste hace un sealamiento al ncleo. Pero a diferencia del original, no coloca los parmetros en registros y le pide
al ncleo que enve el mensaje al servidor, como se muestra en la figura B. Despus de la llamada a send, el resguardo del cliente llama a receive y se bloquea hasta que regrese la respuesta. Cuando el mensaje llega al servidor, el ncleo lo transfiere a un resguardo del servidor conectado con el servidor real. Por lo general, el resguardo del servidor ya habr llamado a receive y estar bloqueado en espera de que le lleguen mensajes. El resguardo del servidor desempaca los parmetros del mensaje y despus llama al procedimiento del servidor de manera usual (es decir, como en la figura A). Desde el punto de vista del servidor, es como si tuviera una llamada directa del cliente: los parmetros y direccin de retorno estn todos en la pila donde pertenecen y nada parece fuera de lo comn. El servidor lleva a cabo su trabajo y despus regresa el resultado a quien hizo la llamada, de forma usual. Por ejemplo, en el caso de read, el servidor enva datos al buffer al que apunta el segundo parmetro. El buffer puede ser uno interno del resguardo del cliente.
Figura B. Llamadas y mensajes en un RPC. Cada elipse representa un slo proceso, en donde la Procin sombreada es el resguardo.
Cuando el resguardo del servidor recupera el control despus de terminar con la llamada, empaca el resultado (el buffer) en un mensaje y llama a send para regresarlo al cliente. Entonces regresa a la parte superior del propio ciclo para llamar a receive, y espera el siguiente mensaje. Cuando el mensaje regresa a la mquina cliente, el ncleo ve que est dirigido al proceso cliente (a la parte de resguardo de este proceso, pero esto no lo sabe el ncleo). El mensaje se copia al buffer en espera y el proceso cliente elimina su bloqueo. El resguardo del cliente examina el mensaje, desempaca el resultado, lo copia a quien hizo la llamada y regresa de la manera usual. Cuando el proceso que realiz la llamada obtiene el control despus de llamar a read, todo lo que sabe es que ahora dispone de los datos. No tiene la menor idea de que el trabajo se realiz de manera remota y no en el ncleo local. En lo que respecta al cliente, se tiene acceso a los servicios remotos mediante llamadas ordinarias a procedimientos (es decir, locales) y no mediante las llamadas send y receive de la figura C. Todo el detalle de la transferencia de mensajes se oculta en dos procedimientos de biblioteca, al igual que los detalles de la realizacin de interrupciones a las llamadas al sistema se ocultan en las bibliotecas tradicionales. En resumen, una llamada a procedimiento remoto se realiza mediante los siguientes pasos: 1. El procedimiento cliente llama al resguardo del cliente de la manera usual. 2. El resguardo del cliente construye un mensaje y hace un sealamiento al ncleo. 3. El ncleo enva el mensaje al ncleo remoto. 4. El ncleo remoto proporciona el mensaje al resguardo del servidor. 5. El resguardo del servidor desempaca los parmetros y llama al servidor.
6. El servidor realiza el trabajo y regresa el resultado al resguardo. 7. El resguardo del servidor empaca el resultado en un mensaje y hace un sealamiento al ncleo. 8. El ncleo remoto enva el mensaje al ncleo del cliente. 9. El ncleo del cliente da el mensaje al resguardo del cliente. 10. El resguardo desempaca el resultado y regresa al cliente. El efecto neto de todos estos pasos es convertir la llamada local del procedimiento cliente al resguardo del cliente, en una llamada local al procedimiento servidor sin que el cliente o el servidor se den cuenta de los pasos intermedios. Transferencia de parmetros La funcin del resguardo del cliente es tomar sus parmetros, empacarlos en un mensaje y enviarlos al resguardo del servidor. Aunque esto parece directo, no es tan sencillo como aparenta. En esta seccin analizaremos algunos de los aspectos relacionados con el paso de parmetros en los sistemas RPC. El empacamiento de parmetros en un mensaje se llama ordenamiento de parmetros. El ejemplo ms sencillo es considerar un procedimiento remoto, sum (i, j), que toma dos parmetros enteros y regresa su suma aritmtica. (En la prctica, uno no hara este procedimiento de manera remota debido a su costo excesivo, pero nos servir como ejemplo.) La llamada a sum, con los parmetros 4 y 7, aparece en la parte izquierda del proceso cliente de la figura C. El resguardo del cliente toma sus dos parmetros y los coloca en un mensaje de la forma que se indica. Tambin coloca en el mensaje el nombre o nmero del procedimiento por llamar, puesto que el servidor podra soportar varias llamadas y se le tiene que indicar cul de ellas se necesita. Cuando el mensaje llega al servidor, el resguardo examina ste para ver cul procedimiento necesita y entonces lleva a cabo la llamada apropiada. Si el servidor tambin soporta los procedimientos remotos difference, product y quotient, el
resguardo del servidor podra tener dentro un enunciado de conmutacin para seleccionar el procedimiento por llamar, segn el primer campo del mensaje. La llamada real del resguardo al servidor se parece mucho a la llamada original del cliente, excepto que los parmetros son variables iniciadas a partir del mensaje recibido, en vez de ser constantes.
Figura C. Clculo remoto de sum (4,7). Cuando el servidor termina su labor, su resguardo recupera el control. Toma el resultado proporcionado por el servidor y lo empaca en un mensaje. Este mensaje se enva de regreso al resguardo del cliente, que lo desempaca y regresa el valor al procedimiento cliente (el cual no se muestra en la figura). Si las mquinas cliente y servidor son idnticas y todos los parmetros y resultados son de tipo escalar, como enteros, caracteres o booleanos, este modelo funciona bien. Sin embargo, en un sistema distribuido de gran tamao, es comn tener distintos tipos de mquina. Cada una tiene a menudo su propia representacin de los nmeros, caracteres y otros elementos. Por ejemplo, las mainframes de IBM utilizan el cdigo de caracteres EBCDIC, mientras que las computadoras personales de IBM utilizan ASCII. En consecuencia, no es posible pasar un parmetro carcter
de una PC de IBM cliente a una mainframe IBM servidor mediante el sencillo esquema de la figura C; el servidor interpretar el carcter de manera incorrecta. Aparecen otros problemas similares con la representacin de enteros (complemento a 1 o complemento a 2) y de manera particular, en los nmeros de punto flotante. Adems existe un problema todava ms irritante, puesto que ciertas mquinas, como la Intel 486, numeran sus bytes de derecha a izquierda, mientras que otras, como la Sun SPARC, los numeran en el orden contrario. El formato de Intel se llama little endian (partidarios del extremo menor) y el de SPARC big endian (partidarios del extremo mayor), en alusin a los polticos en Los viajes de Gulliver que se declararon la guerra por un discusin en torno a por donde debera romperse el extremo del huevo (Cohen, 1981). Como ejemplo, consideremos un servidor con dos parmetros, un entero y una cadena de 4 caracteres. Cada parmetro necesita una palabra de 32 bits. La figura D(a) muestra la apariencia de la parte del parmetro construida por un resguardo del cliente en una Intel 486. La primer palabra contiene el parmetro entero, 5 en este caso y el segundo contiene de la cadena "JILL".
Figura D. (a) El mensaje original en la 486. (b) el mensaje despus de ser recibido en la SPARC. (c) El mensaje despus de ser invertido. Los nmeros pequeos en las cajas indican la direccin de cada byte. Puesto que los mensajes se transfieren en un byte a la vez (de hecho, un bit a la vez) en la red, el primer byte que se enva es el primero en llegar. En la figura D (b) mostramos cmo lucira el mensaje en la figura D(a) si fuese recibido por un SPARC, la cual numera sus bytes de forma que el byte 0 est a la izquierda (byte de mayor orden) en vez de a la derecha (byte de menor orden) como lo hacen todos los
circuitos Intel. Cuando el resguardo del cliente lee los parmetros en las direcciones 0 y 4, respectivamente, encontrar un entero igual a 83 886 080 (5x2 24 ) y una cadena "JILL". Un mtodo evidente, pero que por desgracia es incorrecto, es invertir los bytes de cada palabra despus de su recepcin, lo que produce la figura D(c). Ahora el entero es 5, pero la cadena es "LLJI". El problema aqu es que los enteros se invierten con el otro orden de los bytes, pero no las cadenas. Si no se dispone de informacin adicional acerca de lo que es un entero o una cadena, no existe forma alguna de reparar el dao. Por fortuna, se dispone de esta informacin en forma implcita. Recordemos que los elementos del mensaje corresponden al identificador del procedimiento y los parmetros. Tanto el cliente como el servidor conocen los tipos de parmetros. As, un mensaje que corresponda a un procedimiento remoto como n parmetros tendr n + 1 campos, uno para identificar al procedimiento y no para uno de los n parmetros. Si se llega a un acuerdo en la representacin de cada uno de los tipos bsicos de datos, es posible, dada una lista de parmetros y un mensaje, deducir los bytes que pertenecen a cada parmetro, con lo que se resuelve el problema. Como ejemplo, consideremos el procedimiento de la figura E(a). Tiene tres parmetros: un carcter, un nmero de punto flotante y un arreglo de cinco enteros. Podramos decidir que la transmisin de un carcter se realice en el byte del extremo derecho de una palabra (lo cual deja los siguientes 3 bytes vacos), un flotante como una palabra completa y un arreglo como grupo de palabras igual a la longitud del arreglo, precedida por una palabra con su longitud, como se muestra en la figura E (b). Con estas reglas, el resguardo del cliente de foobar sabe que debe utilizar el formato de la figura E (b) y el resguardo del servidor sabe que los mensajes que reciba de foobar tendrn el formato de la figura E (b). Al tener la informacin de los parmetros se pueden llevar a cabo todas las conversiones necesarias.
Figura E. (a) un procedimiento. (b) El mensaje correspondiente. Incluso con la informacin adicional, quedan pendientes ciertos puntos. En particular, cmo se debe representar la informacin en los mensajes? Una forma es disear un estndar de red o forma cannica para los enteros, caracteres, booleanos y nmeros de punto flotante, etc., y pedir a todos los emisores que conviertan sus representaciones internas a esta forma durante el ordenamiento. Por ejemplo, supongamos que se decide utilizar complemento a 2 para los enteros, ASCII para los caracteres, 0 (falso) y 1 (verdadero) para los booleanos, y el formato IEEE para los nmeros de punto flotante; todo guardado como little endian. Para cualquier lista de enteros, caracteres, booleanos nmeros de punto flotante, el patrn preciso necesario queda por completo determinado hasta el ltimo bit. Como resultado, el resguardo del servidor no tiene que preocuparse ms por el orden que tiene el cliente, puesto que el orden de los bits en el mensaje ya est determinado, en forma independiente del hardware del cliente. El problema con este mtodo es que a veces es ineficiente. Supongamos que un cliente big endian se comunica con un servidor big endian. De acuerdo con las reglas, el cliente debe convertir todo a little endian en el mensaje y el servidor debe volver a convertir todo cuando el mensaje llegue. Aunque esto no contiene ambigedades, requiere de dos conversiones que en realidad no son necesarias. Esta observacin da lugar a un segundo mtodo, el cliente utiliza su propio original e indica en el primer byte de su mensaje su formato. As un cliente little endian
construye un mensaje little endian y un cliente big endian construye un mensaje big endian. Tan pronto llega el mensaje, el resguardo del servidor examina el primer byte para ver quin es el cliente. Si es igual al servidor, no necesita la conversin. En caso contrario, el resguardo del servidor hace toda la conversin. Aunque slo hemos analizado la conversin entre endians, se puede realizar de la misma manera la conversin entre complemento a 1 y complemento a 2, EBCDIC a ASCII, etc. El truco consiste en conocer la organizacin del mensaje y la identidad del cliente. Una vez que esto se sepa, el resto es sencillo (siempre que todos puedan realizar las conversiones de los formatos de los dems). Llegamos ahora a la cuestin del origen de los procedimientos de resguardo. En muchos de los sistemas basados en RPC, stos se generan de forma automtica. Como hemos visto, dada una especificacin del procedimiento servidor y las reglas de codificacin, el formato del mensaje queda determinado de manera nica. As, es posible tener un compilador que lea las especificaciones del servidor y genere un resguardo del cliente que empaque sus parmetros en el formato oficial de los mensajes. En forma similar, el compilador tambin puede generar un resguardo del servidor que los desempaque y que llame al servidor. El hecho de disponer de ambos procedimientos de resguardo a partir de una especificacin formal del servidor no slo facilita la vida de los programadores, sino que reduce la probabilidad de error y hace que el sistema sea transparente con respecto a las diferencias en la representacin interna de los elementos de datos. Al fin, llegamos al ltimo y ms difcil de los problemas: cmo se transfieren los apuntadores? la respuesta es: slo con el mximo de dificultad, si es que se puede. Recordemos que un apuntador slo tiene sentido dentro del espacio de direcciones del proceso en el que se utiliza. De regreso al ejemplo read ya analizado, si el segundo parmetro (la direccin del buffer) es 1000 en el cliente, uno no puede transferir el nmero 1000 al servidor y esperar que funcione. La direccin 1000 del servidor podra estar a la mitad del texto del programa.
Una solucin en olvidarse en general de los apuntadores y los parmetros por referencia. Sin embargo, son tan importantes, que esta solucin es poco recomendable. De hecho, ni siquiera es necesaria. En el ejemplo read, el resguardo del cliente sabe que el segundo parmetro apunta a un arreglo de caracteres. Supongamos por el momento que tambin conoce el tamao del arreglo. Surge entonces una estrategia: copiar el arreglo en el mensaje e enviarlo al servidor. El resguardo del servidor puede entonces llamar a este con un apuntador a ste arreglo, aunque este apuntador tenga un valor numrico distinto al del segundo parmetro de read. Los cambios que realice el servidor mediante el apuntador (por ejemplo, el almacenamiento de datos en el arreglo) afectarn de manera directa el buffer de mensajes dentro del resguardo del servidor. Cuando concluye su labor, el servidor, el mensaje original se puede enviar de regreso al resguardo del cliente, que a su vez lo copia de nuevo al cliente. De hecho, la llamada por referencia se sustituye por la copia/restauracin. Aunque estos mtodos no siempre son idnticos, con frecuencia son lo bastante buenos. Una optimizacin duplica la eficiencia de este mecanismo. Si el resguardo sabe que el buffer es un parmetro de entrada o un parmetro de salida hacia el servidor, puede eliminar una de las copias. Si el arreglo es una entrada del servidor (por ejemplo, en una llamada a write), no necesita volverse a copiar. Si es una salida, no necesita enviarse de regreso. La forma para indicarlo est en la especificacin formal del procedimiento, escrita en cierto lenguaje de especificacin, para indicar la naturaleza de los parmetros, los que son de entrada o salida (o ambos) y sus tamaos (mximos). A partir de esta especificacin formal se generan los resguardos, mediante un compilador especial de resguardos. Como comentario final, es importante observar que aunque ahora podemos manejar los apuntadores a arreglos y estructuras sencillas, no podemos todava manejar el caso ms general de un apuntador a una estructura de datos arbitraria, como lo es una grfica compleja. Ciertos sistemas intentan resolver este caso mediante la transferencia real del apuntador al resguardo del servidor y la
generacin de un cdigo especial para el uso de apuntadores en el procedimiento servidor. Lo usual es que un apuntador sea seguido (referenciado de manera inversa) mediante su colocacin en un registro y realizando un direccionamiento indirecto a travs del registro. Si se utiliza esta tcnica particular, la referencia inversa se realiza enviando un mensaje de regreso al resguardo del cliente para pedirle que lo busque; despus se enva el elemento al que apunta (lectura) o se guarda un valor en la direccin a la que apunta (escritura). Aunque este mtodo funciona, es muy ineficiente. Imaginemos que el servidor de archivos almacena los bytes en el buffer mediante el envo de cada uno en un mensaje independiente. Aun as, es mejor que nada y ciertos sistemas lo utilizan. PORT MAPPER Veamos ms a detalle cmo se comunica el cliente y el servidor mediante este esquema. 1. El programa servidor solicita una asociacin de puerto en la maquina servidora la mapeador de puertos (port mapper, este es un proceso demonio que se encarga de llevar la cuenta de dichas asociaciones y el puerto de cada una de ellas.). 2. El proceso cliente se comunica a la maquina servidor en el puerto 111 que es en el cual est escuchando el port mapper, y averigua el puerto asociado al proceso servidor que busca. 3. El cliente se comunica ahora al puerto indicado e inicia una comunicacin.
SERVIDORES CON ESTADO Y SIN ESTADO. El modelo que estamos manejando consiste en procesos separados e incluso en diferentes maquinas, por tanto nos interesa saber qu es lo que pasa cuando no se pueden comunicar, qu sucede cuando la computadora deja de funcionar cuando estaba dando un servicio? Esto depende de si es servidor es con estado o sin estado un servidor sin estado no mantiene ninguna informacin acerca de las interacciones con el cliente. Los servidores con estado acumulan inf. Del cliente para llamadas a procedimientos. Remotos. Necesita llevar un registro de en qu parte del servicio se encuentra, recuperar todo despus de un cada puede ser muy difcil e imposible. Sin no hay estado, cada peticin se puede manejar independiente mente, si el servidor se cae, cada cliente debe esperar a que el cliente est disponible de nuevo. SEMANTICAS DE COMUNICACIONES. Existen 2 posibilidades, utilizar una comunicacin confiable (TCP) y Comunicacin eficiente (UDP). Como la mayora de las aplicaciones RPC, se ejecutan en un entorno de rea local el default es utilizar comunicacin eficiente, mediante datagramas, pero los mensajes pueden perderse o duplicarse.
(Esquema de direcciones ip) ONC RPC define la semntica a una llamada RPC especificando que: " un programa debe extraer la conclusin mas dbil de cualquier interaccin", i.e. si la respuesta a un procedimiento remoto no regresa, el invocador no puede decir que el servicio no se ejecut ya que la respuesta se pudo haber perdido. Si una llamada a un RPC regresa el invocador puede concluir que el servicio solicitado se ejecut al menos 1 vez, ya que la solicitud se pudo haber duplicado. ONC RPC utiliza el termino como semntica de al menos un ves para describir la ejecucion de un procedimiento remoto cuando el invocador recibe un respuesta. La semntica de cero o ms veces para describir el comportamiento de una invocacin cuando el servidor no encuentra al cliente. La semntica de cero o ms veces impone una responsabilidad importante a los programadores. Que deben utilizar UDP como protocolo de transporte 4.4 ACCESO A SISTEMAS DE ARCHIVOS Los sistemas de archivos o ficheros (en ingls:filesystem), estructuran la informacin guardada en una unidad de almacenamiento (normalmente un disco duro de una computadora), que luego ser representada ya sea textual o grficamente utilizando un gestor de archivos. La mayora de los sistemas operativos manejan su propio sistema de archivos. Lo habitual es utilizar dispositivos de almacenamiento de datos que permiten el acceso a los datos como una cadena de bloques de un mismo tamao, a veces llamados sectores, usualmente de 512 bytes de longitud (Tambin denominados clsters). El software del sistema de archivos es responsable de la organizacin de estos sectores en archivos y directorios y mantiene un registro de qu sectores pertenecen a qu archivos y cules no han sido utilizados. En la prctica, un sistema
de archivos tambin puede ser utilizado para acceder a datos generados dinmicamente, como los recibidos a travs de una conexin de red (sin la intervencin de un dispositivo de almacenamiento).
Los sistemas de archivos tradicionales proveen mtodos para crear, mover, renombrar y eliminar tanto archivos como directorios, pero carecen de mtodos para crear, por ejemplo, enlaces adicionales a un directorio o archivo (enlace duro en Unix) o renombrar enlaces padres (".." en Unix).
El acceso seguro a sistemas de archivos bsicos puede estar basado en los esquemas de lista de control de acceso o capacidades. Las listas de control de acceso hace dcadas que demostraron ser inseguras, por lo que los sistemas operativos experimentales utilizan el acceso por capacidades. Los sistemas operativos comerciales an funcionan con listas de control de acceso.
La estructura de directorios suele ser jerrquica, ramificada o "en rbol", aunque en algn caso podra ser plana. En algunos sistemas de archivos los nombres de archivos son estructurados, con sintaxis especiales para extensiones de archivos y nmeros de versin. En otros, los nombres de archivos son simplemente cadenas de texto y los metadatos de cada archivo son alojados separadamente.
En los sistemas de archivos jerrquicos, usualmente, se declara la ubicacin precisa de un archivo con una cadena de texto llamada "ruta" o path en ingls. La nomenclatura para rutas vara ligeramente de sistema en sistema, pero mantienen por lo general una misma estructura. Una ruta viene dada por una sucesin de nombres de directorios y subdirectorios, ordenados jerrquicamente de izquierda a derecha y separados por algn carcter especial que suele ser una diagonal ('/') o
diagonal invertida ('\') y puede terminar en el nombre de un archivo presente en la ltima rama de directorios especificada Los sistemas de archivos o ficheros estructuran la informacin guardada en una unidad de almacenamiento (normalmente un disco duro de una computadora), que luego ser representada ya sea textal o grficamente utilizando un gestos de archivos. La mayora de los sistemas operativos manejan sus propios sistemas de archivos. 4.4.1 ACCESO A FORMATOS DE DISCO (FAT-16/FAT- 32/VFAT/NTFS/XTS/EXTFS) Sistema de archivos FAT16 El primer sistema de archivos en ser utilizado en un sistema operativo de Microsoft fue el sistema FAT, que utiliza una tabla de asignacin de archivos. La tabla de asignacin de archivos es en realidad un ndice que crea una lista de contenidos del disco para grabar la ubicacin de los archivos que ste posee. Ya que los bloques que conforman un archivo no siempre se almacenan en el disco en forma contigua (un fenmeno llamado fragmentacin), la tabla de asignacin permite que se mantenga la estructura del sistema de archivos mediante la creacin de vnculos a los bloques que conforman el archivo. El sistema FAT es un sistema de 16 bits que permite la identificacin de archivos por un nombre de hasta 8 caracteres y tres extensiones de caracteres. Es por esto que el sistema se denomina FAT16. Para mejorar esto, la versin original de Windows 95 (que usa el sistema FAT16) se lanz al mercado con una administracin FAT mejorada en la forma del sistema VFAT (Virtual FAT [FAT Virtual]). VFAT es un sistema de 32 bits que permite nombres de archivos de hasta 255 caracteres de longitud. Sin embargo, los programadores tenan que asegurar una compatibilidad directa para que los entornos (DOS) de 16 bits an pudieran acceder a estos archivos. Por ende, la solucin fue asignar un nombre para cada sistema. Por esta razn se pueden usar nombres extensos de archivos en Windows 95 y, aun as, acceder a ellos en DOS.
El sistema de archivos FAT es un sistema de 16 bits. Esto implica que las direcciones de clster no pueden ser mayores a 16 bits. El nmero mximo de clsters al que se puede hacer referencia con el sistema FAT es, por consiguiente, 2 16 (65536) clsters. Ahora bien, ya que un clster se compone de un nmero fijo (4, 8, 16,32,...) de sectores de 512 bytes contiguos, el tamao mximo de la particin FAT se puede determinar multiplicando el nmero de clsters por el tamao de un clster. Con clsters de 32Kb, el tamao mximo de una particin es, por lo tanto, de 2GB. Adems, un archivo slo puede ocupar un nmero integral de clsters. Esto significa que si un archivo ocupa varios clsters, el ltimo solamente estar ocupado en forma parcial y no se podr utilizar el espacio disponible. Como resultado, cuanto menor sea el tamao del clster, menor ser el espacio desperdiciado. Se estima que un archivo desecha un promedio de medio clster, lo cual significa que en una particin de 2 GB, se perdern 16KB por archivo. Sistema de archivos FAT3 Aunque el VFAT era un sistema inteligente, no afrontaba las limitaciones de FAT16. Como resultado, surgi un nuevo sistema de archivos en Windows 95 OSR2 (el cual no slo contaba con una mejor administracin FAT como fue el caso de VFAT). Este sistema de archivos, denominado FAT32 utiliza valores de 32 bits para las entradas FAT. De hecho, slo se utilizan 28 bits, ya que 4 bits se reservan para su uso en el futuro. Cuando surgi el sistema de archivos FAT32, el mximo nmero de clsters por particin aument de 65535 a 268.435.455 (2 28 -1). Por lo tanto, FAT32 permite particiones mucho ms grandes (hasta 8 terabytes). Aunque en teora, el tamao mximo de una particin FAT32 es de 8 TB, Microsoft lo redujo, voluntariamente, a 32 GB en los sistemas 9x de Windows para promover NTFS (ref.:http://support.microsoft.com/default.aspx?scid=kb;en;184006). Ya que una particin FAT32 puede contener muchos clsters ms que una particin FAT16, es
posible reducir significativamente el tamao de los clsters y, as, limitar tambin el espacio desperdiciado del disco. Por ejemplo, con una particin de 2 GB, es posible usar clsters de 4KB con sistemas FAT32 (en lugar de clsters de 32KB con sistemas FAT16), que reducen el espacio desperdiciado por un factor de 8. El intercambio radica en que FAT32 no es compatible con las versiones de Windows previas al OEM Service Release 2. Un sistema que arranque con una versin anterior simplemente no ver este tipo de particiones. Asimismo, las utilidades de administracin de un disco de 16 bits, como ser versiones antiguas de Norton Utilities, ya no funcionarn correctamente. En trminos de realizacin, el uso de un sistema FAT32 en lugar de un sistema FAT16 tendr como resultado una leve mejora, de aproximadamente 5%, en el rendimiento. Sistema de archivos NTFS NTFS (del ingls New Technology File System) es un sistema de archivos de Windows NT incluido en las versiones de Windows 2000, Windows XP, Windows Server 2003, Windows Server 2008, Windows Vista y Windows 7. Est basado en el sistema de archivos HPFS de IBM/Microsoft usado en el sistema operativoOS/2, y tambin tiene ciertas influencias del formato de archivos HFS diseado por Apple.
NTFS permite definir el tamao del clster, a partir de 512 bytes (tamao mnimo de un sector) de forma independiente al tamao de la particin. Es un sistema adecuado para las particiones de gran tamao requeridas en estaciones de trabajo de alto rendimiento y servidores puede manejar volmenes de, tericamente, hasta 21 clsteres. En la prctica, el mximo volumen NTFS soportado es de 21 clsteres (aproximadamente 16 TiB usando clsteres de 4KiB). Su principal inconveniente es que necesita para s mismo una buena cantidad de espacio en disco duro, por lo que no es recomendable su uso en discos con menos
de 400 MiB libres. Sistema de archivos XFS XFS es un sistema de archivos de 64 bits con journaling de alto rendimiento creado por SGI (antiguamente Silicon Graphics Inc.) para su implementacin de UNIXllamada IRIX. En mayo de 2000, SGI liber XFS bajo una licencia de cdigo abierto.
XFS se incorpor a Linux a partir de la versin 2.4.25, cuando Marcelo Tosatti (responsable de la rama 2.4) lo consider lo suficientemente estable para incorporarlo en la rama principal de desarrollo del kernel. Los programas de instalacin de las distribuciones de SuSE, Gentoo, Mandriva, Slackware, Fedora Core, Ubuntu y Debian ofrecen XFS como un sistema de archivos ms. En FreeBSD el soporte para solo-lectura de XFS se aadi a partir de diciembre de 2005 y en junio de 2006 un soporte experimental de escritura fue incorporado a FreeBSD-7.0-CURRENT. 4.4.2 HERRAMIENTAS PARA EL ACCESO A FORMATOS DE DISCO
Durante la operacin de formato de bajo nivel se establecen las pistas y los sectores de cada plato. La estructura es la siguiente: Pistas, varios miles de crculos concntricos por cada plato del disco duro que pueden organizarse verticalmente en cilindros. Sector, varios cientos por pista. El tamao individual suele ser de 512 bytes. Prembulo, que contiene bits que indican el principio del sector y a continuacin el nmero de cilindro y sector. Datos. ECC, que contiene informacin de recuperacin para errores de lectura. Este campo es variable y depender del fabricante.
Particion de disco Una particin de disco, en informtica, es el nombre genrico que recibe cada divisin presente en una sola unidad fsica de almacenamiento de datos. Toda particin tiene su propio sistema de archivos.
A toda particin se le da formato mediante un sistema de archivos como FAT, NTFS, FAT32, ReiserFS, Reiser4 u otro. En Windows, las particiones reconocidas son identificadas con una letra seguida por un signo de doble punto (p.ej. C:\) hasta cuatro particiones primarias; prcticamente todo tipo de discos magnticos y memorias flash (como pendrives) pueden particionarse. Sin embargo, para tener la posibilidad de ms particiones en un solo disco, se utilizan las particiones extendidas, las cuales pueden contener un nmero ilimitado de particiones lgicas en su interior. Para este ltimo tipo de particiones, no es recomendado su uso para instalar ciertos sistemas operativos, sino que son ms tiles para guardar documentos o ejecutables no indispensables para el sistema. Los discos pticos (DVD, CD) utilizan otro tipo de particiones llamada UDF (Universal Disc Format) Formato de Disco Universal por sus siglas en ingls. El cual permite agregar archivos y carpetas y es por ello que es usado por la mayora de software de escritura por paquetes, conocidos como programas de grabacin de unidades pticas. Este sistema de archivos es obligatorio en las unidades de (DVD) pero tambin se admiten en algnos (CD).
El formato o sistema de archivos de las particiones (p. ej. NTFS) no debe ser confundido con el tipo de particin (p. ej. particin primaria), ya que en realidad no tienen directamente mucho que ver. Independientemente del sistema de archivos de una particin (FAT, ext3, NTFS, etc.), existen 3 tipos diferentes de particiones: Particin primaria: Son las divisiones crudas o primarias del disco, solo puede haber 4 de stas o 3 primarias y una extendida. Depende de una tabla de particiones. Un
disco fsico completamente formateado consiste, en realidad, de una particin primaria que ocupa todo el espacio del disco y posee un sistema de archivos. A este tipo de particiones, prcticamente cualquier sistema operativo puede detectarlas y asignarles una unidad, siempre y cuando el sistema operativo reconozca su formato (sistema de archivos). Particin extendida: Tambin conocida como particin secundaria es otro tipo de particin que acta como una particin primaria; sirve para contener infinidad de unidades lgicas en su interior. Fue ideada para romper la limitacin de 4 particiones primarias en un solo disco fsico. Solo puede existir una particin de este tipo por disco, y solo sirve para contener particiones lgicas. Por lo tanto, es el nico tipo de particin que no soporta un sistema de archivos directamente. Particin lgica: Ocupa una porcin de la particin extendida o la totalidad de la misma, la cual se ha formateado con un tipo especfico de sistema de archivos (FAT32, NTFS, ext2,...) y se le ha asignado una unidad, as el sistema operativo reconoce las particiones lgicas o su sistema de archivos. Puede haber un mximo de 23 particiones lgicas en una particin extendida. Linux impone un mximo de 15, incluyendo las 4 primarias, en discos SCSI y en discos IDE 8963. 4.5 EMULACIN DEL SISTEMA OPERATIVO En informtica una mquina virtual es un software que emula a una computadora y puede ejecutar programas como si fuese una computadora real. Este software en un principio fue definido como "un duplicado eficiente y aislado de una mquina fsica". La acepcin del trmino actualmente incluye a mquinas virtuales que no tienen ninguna equivalencia directa con ningn hardware real. Una caracterstica esencial de las mquinas virtuales es que los procesos que ejecutan estn limitados por los recursos y abstracciones proporcionados por ellas. Estos procesos no pueden escaparse de esta "computadora virtual".
Uno de los usos domsticos ms extendidos de las mquinas virtuales es ejecutar sistemas operativos para "probarlos". De esta forma podemos ejecutar un sistema operativo que queramos probar (GNU/Linux, por ejemplo) desde nuestro sistema operativo habitual (Mac OS X por ejemplo) sin necesidad de instalarlo directamente en nuestra computadora y sin miedo a que se desconfigure el sistema operativo primario. Las mquinas virtuales se pueden clasificar en dos grandes categoras segn su funcionalidad y su grado de equivalencia a una verdadera mquina. Mquinas virtuales de sistema (en ingls System Virtual Machine) Mquinas virtuales de proceso (en ingls Process Virtual Machine) Las mquinas virtuales de sistema, tambin llamadas mquinas virtuales de hardware, permiten a la mquina fsica subyacente multiplicarse entre varias mquinas virtuales, cada una ejecutando su propio sistema operativo. A la capa de software que permite la virtualizacin se la llama monitor de mquina virtual o hypervisor. Un monitor de mquina virtual puede ejecutarse o bien directamente sobre el hardware o bien sobre un sistema operativo ("host operating system").
4.5.1 EJECUCIN DE BINARIOS DE OTROS SISTEMAS OPERATIVOS
Las mquinas virtuales tambin pueden actuar como emuladores de hardware, permitiendo que aplicaciones y sistemas operativos concebidos para otras arquitecturas de procesador se puedan ejecutar sobre un hardware que en teora no soportan. Algunas mquinas virtuales emulan hardware que slo existe como una especificacin. Por ejemplo:
La mquina virtual P-Code que permita a los programadores de Pascal crear aplicaciones que se ejecutasen sobre cualquier computadora con esta mquina virtual correctamente instalada. La mquina virtual de Java. La mquina virtual del entorno .NET. Open Firmware Esta tcnica permite que cualquier computadora pueda ejecutar software escrito para la mquina virtual. Slo la mquina virtual en s misma debe ser portada a cada una de las plataformas de hardware. Programa ejecutable para similar a un mdulo objeto, que es un fichero binario producido por el compilador cuyo contenido es el cdigo objeto o cdigo mquina. El sistema binario, en matemticas e informtica, es un sistema de numeracin en el que los nmeros se representan utilizando solamente las cifras cero y uno (0 y 1). Es el que se utiliza en las computadoras, debido a que trabajan internamente con dos niveles de voltaje, por lo cual su sistema de numeracin natural es el sistema binario (encendido 1, apagado 0). Un nmero binario puede ser representado por cualquier secuencia de bits (dgitos binarios), que suelen representar cualquier mecanismo capaz de estar en dos estados mutuamente excluyentes. Las siguientes secuencias de smbolos podran ser interpretadas como el mismo valor numrico binario: 1 0 1 0 0 1 1 0 1 0 | - | - - | | - | - x o x o x o x o y n y n n y y n y n
Decimal a binario Se divide el nmero del sistema decimal entre 2, cuyo resultado entero se vuelve a dividir entre 2, y as sucesivamente hasta que el dividendo sea menor que el divisor, 2. Es decir, cuando el nmero a dividir sea 1 finaliza la divisin. A continuacin se ordenan los restos empezando desde el ltimo al primero, simplemente se colocan en orden inverso a como aparecen en la divisin, se les da la vuelta. ste ser el nmero binario que buscamos.
Ejemplo Transformar el nmero decimal 131 en binario. El mtodo es muy simple: 131 dividido entre 2 da 65 y el resto es igual a 1 65 dividido entre 2 da 32 y el resto es igual a 1 32 dividido entre 2 da 16 y el resto es igual a 0 16 dividido entre 2 da 8 y el resto es igual a 0 8 dividido entre 2 da 4 y el resto es igual a 0 4 dividido entre 2 da 2 y el resto es igual a 0 2 dividido entre 2 da 1 y el resto es igual a 0 1 dividido entre 2 da 0 y el resto es igual a 1 -> Ordenamos los restos, del ltimo al primero: 10000011 Decimal (con decimales) a binario Para transformar un nmero del sistema decimal al sistema binario:
1. Se transforma la parte entera a binario. (Si la parte entera es 0 en binario ser 0, si la parte entera es 1 en binario ser 1, si la parte entera es 5 en binario ser 101 y as sucesivamente). 2. Se sigue con la parte fraccionaria, multiplicando cada nmero por 2. Si el resultado obtenido es mayor o igual a 1 se anota como un uno (1) binario. Si es menor que 1 se anota como un 0 binario. (Por ejemplo, al multiplicar 0.6 por 2 obtenemos como resultado 1.2 lo cual indica que nuestro resultado es un uno (1) en binario, solo se toma la parte entera del resultado). 3. Despus de realizar cada multiplicacin, se colocan los nmeros obtenidos en el orden de su obtencin. 4. Algunos nmeros se transforman en dgitos peridicos, por ejemplo: el 0.1. Ejemplo 0,1 (decimal) => 0,0 0011 0011 ... (binario). Proceso: 0,1 2 = 0,2 ==> 0 0,2 2 = 0,4 ==> 0 0,4 2 = 0,8 ==> 0 0,8 2 = 1,6 ==> 1 0,6 2 = 1,2 ==> 1 0,2 2 = 0,4 ==> 0 <--se repiten las cuatro cifras, peridicamente 0,4 2 = 0,8 ==> 0 <-
0,8 2 = 1,6 ==> 1 <- 0,6 2 = 1,2 ==> 1 <- ... En orden: 0 0011 0011... => 0,0 0011 0011 ... (binario peridico) Binario a decimal Para realizar la conversin de binario a decimal, realice lo siguiente: 1. Inicie por el lado derecho del nmero en binario, cada cifra multiplquela por 2 elevado a la potencia consecutiva (comenzando por la potencia 0, 2 0 ). 2. Despus de realizar cada una de las multiplicaciones, sume todas y el nmero resultante ser el equivalente al sistema decimal. Binario a decimal (con parte fraccionaria binaria) 1. Inicie por el lado izquierdo (la primera cifra a la derecha de la coma), cada nmero multiplquelo por 2 elevado a la potencia consecutiva a la inversa (comenzando por la potencia -1, 2 -1 ). 2. Despus de realizar cada una de las multiplicaciones, sume todas y el nmero resultante ser el equivalente al sistema decimal. Ejemplos 0,101001 (binario) = 0,640625(decimal). Proceso: 1 2 elevado a -1 = 0,5 0 2 elevado a -2 = 0 1 2 elevado a -3 = 0,125 0 2 elevado a -4 = 0 0 2 elevado a -5 = 0
1 2 elevado a -6 = 0,015625 La suma es: 0,640625
4.5.2 HERRAMIENTAS PARA LA EJECUCIN DE BINARIOS
Los productos de software siguientes son capaces de virtualizar el hardware de modo que varios sistemas operativos puedan compartirlo. Adeos es una Capa de Abstraccin de Hardware que puede ser cargado como un mdulo del ncleo Linux. Esto permite la carga de un ncleo en tiempo real como mdulo, al mismo tiempo que se ejecuta Linux, pero con una prioridad ms alta. Denali utiliza la para virtualizacin para proporcionar mquinas virtuales de alto rendimiento sobre procesadores x86. OKL4 utiliza el software libre L4 (microncleo) como un hypervisor para proporcionar una solucin de virtualizacin de alto rendimiento para sistemas embebidos. OpenVZ para Linux Parallels QEMU puede emular una variedad de arquitecturas de CPU sobre muchas plataformas distintas. Virtual Iron Virtuozzo VMware Xen KVM
Una herramienta para la ejecucin de binarios es el QUEMU, que un emulador de procesadores basado en la traduccin dinmica de binarios (conversin del cdigo binario de la arquitectura fuente en cdigo entendible por la arquitectura husped). QEMU tambin tiene capacidades de virtualizacin dentro de un sistema operativo, ya sea GNU/Linux, Windows, o cualquiera de los sistemas operativos admitidos, (de hecho es la forma ms comn de uso). Esta mquina virtual puede ejecutarse en cualquier tipo de Microprocesador o arquitectura (x86, x86-64, PowerPC, MIPS, SPARC, etc.). Est licenciado en parte con la LGPL y la GPL de GNU. El objetivo principal es emular un sistema operativo dentro de otro sin tener que reparticionar el disco duro, empleando para su ubicacin cualquier directorio dentro de ste. Binario - decimal convertidor Binario - Decimal Converter es una herramienta online que utiliza para diversas aplicaciones en electrnica digital para realizar binario a decimal conversin y decimal conversin binario. En computacin digital, los nmeros binarios son los cdigos numricos para representar los nmeros decimales. Considerando que los nmeros decimales son los nmeros utilizados en los clculos aritmticos y que puede ser fcilmente comprensible por los seres humanos. Nmeros binarios estrictamente se utilizan en circuitos digitales para realizar la aritmtica y otras operaciones. Por lo tanto, ser muy importante para realizar el anlisis de la operacin en electrnica digital binario a decimal y decimal a binarias conversiones. Esta calculadora comprende dos convertidores a saber binarios a decimal convertidor y decimales para convertidor binario y estos dos convertidores han sido separados por el botn respectivo. Para realizar binario a decimal conversin, seleccione un botn de opcin adecuado, introduzca el binario de entrada y haga clic en el botn Calcular producir el nmero decimal equivalente. Para realizar decimal conversin binario, seleccione un botn de opcin adecuado,
introduzca el decimal entrada y haga clic en el botn Calcular producir el nmero binario equivalente Bcd-To Decimal Converter BCD a Decimal Converter es una herramienta online que utiliza para diversas aplicaciones en computacin digital para realizar 8-4-2-1 nmero binario BCD para su nmero decimal equivalente y tambin realizar Decimal a 8-4-2-1 conversiones BCD para el nmero de decimal especificado. El binario codificado decimal se denomina como BCD en computacin digital. En conversin BCD, cada dgito del nmero decimal est representado por un grupo aparte de bits y este grupo aparte de bits es unos cdigos numricos. Considerando que el nmero Decimal es el sistema de numeracin que es fcil entender por los seres humanos. En electrnica digital decimal conversin nmero binario es importante porque los circuitos digitales slo funcionan basado en los nmeros binarios. Esta calculadora es consta de dos convertidores a saber BCD Converter Decimal y Decimal BCD Converter y es separados por el botn respectivo Calculadora de Divisin Binaria Calculadora de divisin binaria es una herramienta en lnea utilizada para diversas aplicaciones en computacin digital para realizar la divisin entre dos nmeros binarios. En circuitos digitales, operaciones aritmticas binarias son importantes porque los circuitos digitales no se procesan nmeros decimales; slo obras basadas en los nmeros binarios. La lgica de la divisin binaria se utiliza en esta calculadora de divisin binaria para realizar la divisin entre nmeros binarios. HEX CALCULADORA DE ADICION DE NUMEROS Calculadora de adicin de nmeros hexadecimales es una herramienta en lnea para computacin digital realizar la adicin entre dos nmeros hexadecimales.
Adicin de nmeros hexadecimales es una de las importantes operaciones aritmticas en electrnica digital. Para realizar la adicin entre dos nmeros hexadecimales, introduzca los nmeros de dos en cada campo respectivo y, a continuacin, haga clic en el botn Calcular muestra la salida. Tambin se muestra el resultado de la adicin decimal equivalente en el resultado para confirmar la salida Adems hexadecimal pueden lograrse a travs de reiteradas resta de 16 desde la suma decimal del mismo lugar valores de nmeros hexadecimales hasta que el resultado se llega a uno de los dgitos hexadecimales de 0 a f l. El transporte aumenta en donde cada vez se resta el nmero 16 del hex nmeros decimal suma 1. El siguiente ejemplo permite que entienda cmo realizar la adicin de nmeros hexadecimales Ejemplo: Realizar la adicin entre dos nmeros hexadecimales (8 A 5 C) 16 y (F 3 9 A) 16
4.6 VIRTUALIZACION En Informtica, virtualizacin es la creacin -a travs de software- de una versin virtual de algn recurso tecnolgico, como puede ser una plataforma de hardware, un sistema operativo, un dispositivo de almacenamiento u otros recursos de
red. En los mbitos de habla inglesa, este trmino se suele conocer por el numernimo "v11n". Dicho de otra manera, se refiere a la abstraccin de los recursos de una computadora, llamada Hypervisor o VMM (Virtual Machine Monitor) que crea una capa de abstraccin entre el hardware de la mquina fsica (host) y el sistema operativo de la mquina virtual (virtual machine, guest), dividindose el recurso en uno o ms entornos de ejecucin. Esta capa de software (VMM) maneja, gestiona y arbitra los cuatro recursos principales de una computadora (CPU, Memoria, Almacenamiento y Conexiones de Red) y as podr repartir dinmicamente dichos recursos entre todas las mquinas virtuales definidas en el computador central. Esto hace que se puedan tener varios ordenadores virtuales ejecutndose en el mismo ordenador fsico. Tal trmino es antiguo; se viene usando desde 1960, y ha sido aplicado a diferentes aspectos y mbitos de la informtica, desde sistemas computacionales completos, hasta capacidades o componentes individuales. La virtualizacin se encarga de crear una interfaz externa que encapsula una implementacin subyacente mediante la combinacin de recursos en localizaciones fsicas diferentes, o por medio de la simplificacin del sistema de control. Un avanzado desarrollo de nuevas plataformas y tecnologas de virtualizacin ha hecho que en los ltimos aos se haya vuelto a prestar atencin a este concepto. La mquina virtual en general simula una plataforma de hardware autnoma incluyendo un sistema operativo completo que se ejecuta como si estuviera instalado. Tpicamente varias mquinas virtuales operan en un computador central. Para que el sistema operativo guest funcione, la simulacin debe ser lo suficientemente grande (siempre dependiendo del tipo de virtualizacin).
Existen diferentes formas de virtualizacin: es posible virtualizar el hardware de servidor, el software de servidor, virtualizar sesiones de usuario, virtualizar aplicaciones y tambin se pueden crear mquinas virtuales en una computadora de escritorio. Entre los principales proveedores de software que han desarrollado tecnologas de virtualizacin integrales (que abarcan todas las instancias: servidor, aplicaciones, escritorio) se encuentran, por ejemplo VMware y Microsoft. Estas compaas han diseado soluciones especficas para virtualizacin, como VMware Server y Windows Server 2008 Hyper-V para la virtualizacin de servidores. Si bien la virtualizacin no es un invento reciente, con la consolidacin del modelo de la Computacin en la nube, la virtualizacin ha pasado a ser uno de los componentes fundamentales, especialmente en lo que se denomina infraestructura de nube privada. Virtualizacin parcial Address Space Virtualization. La mquina virtual simula mltiples instancias de gran parte (pero no de todo) del entorno subyacente del hardware, particularmente los espacios de direcciones. Tal entorno acepta compartir recursos y alojar
procesos, pero no permite instancias separadas de sistemas operativos husped. Aunque no es vista como dentro de la categora de mquina virtual, histricamente ste fue un importante acercamiento, y lo usaron en sistemas como CTSS, el experimental IBM M44/44X, y podra mencionarse que en sistemas como OS/VS1, OS/VS2 y MVS Virtualizacin por S.O Virtualizar significa instalar un sistema operativo dentro de otro al que se le llama anfitrin (HOST), mediante el uso de una mquina virtual. Frecuentemente denominada virtualizacin compartida del Sistema Operativo o virtualizacin del SO, la virtualizacin del Sistema Operativo virtualiza servidores en la capa del sistema operativo (kernel). Este mtodo de virtualizacin crea particiones aisladas o entornos virtuales (VEs) en un nico servidor fsico e instancia de SO para as maximizar los esfuerzos de administracin del hardware, software y centro de datos. La Virtualizacin de Hypervisor tiene una capa base (generalmente un kernel, Linux que se muestra aqu como un hypervisor o SO estndar, lo mismo que Windows Server 2008 R2 Hyper-V) que se carga directamente en el servidor base. Para asignar hardware y recursos a las mquinas virtuales (VMs), es recomendable que todo el hardware del servidor est virtualizado. La siguiente capa superior muestra cada chip, placa, etc. que debe virtualizarse para que as pueda ser asignado a las VMs. Una vez en la VM, hay un copia completa de un sistema operativo y finalmente la aplicacin o carga de trabajo. La Virtualizacin de SO mejora el rendimiento, gestin y eficiencia. En la base reside un sistema operativo anfitrin estndar, como en el caso de Parallels Virtuozzo que incluye Windows y un sistema con ncleo Linux. A continuacin encontramos la capa de virtualizacin, con un sistema de archivos propietario y una capa de abstraccin de servicio de kernel que garantiza el aislamiento y seguridad de los recursos entre distintos contenedores. La capa de virtualizacin
hace que cada uno de los contenedores aparezca como servidor autnomo. Finalmente, el contenedor aloja la aplicacin o carga de trabajo. Diferencias entre virtualizar un Sistema operativo e instalarlo Virtualizar el sistema operativo es una opcin interesante si no queremos instalar dos sistemas operativos en el mismo ordenador, pero si por el contrario lo que hacemos es instalarlo, todos los sistemas operativos que tengamos instalados funcionaran de la misma manera que si estuvieran instalados en distintos ordenadores. El nico y pequeo inconveniente es que necesitamos un gestor de arranque que al encender nuestro ordenador nos d la opcin de elegir qu sistema operativo queremos utilizar, lo que conlleva que si por ejemplo estamos en Windows y queremos cambiar a GNU/Linux deberamos reiniciar nuestro ordenador. La virtualizacin por el contrario permite cambiar de sistema operativo como si se tratase de cualquier otro programa, sin embargo, esta agilidad tiene la desventaja de que un sistema operativo virtualizado no es tan potente como uno que ya estuviera instalado. Retos de la Virtualizacin ndices de utilizacin ms altos como Antes de la virtualizacin, los ndices de utilizacin del servidor y almacenamiento en los centros de datos de la empresa rondaban menos del 50% (de hecho, del 10% al 15% de los ndices de utilizacin fueron los ms comunes). A travs de la virtualizacin, las cargas de trabajo pueden ser encapsuladas y transferidas a los sistemas inactivos o sin uso lo cual significa que los sistemas existentes pueden ser consolidados, as que las compras de capacidad adicional del servidor pueden ser retrasadas o evitadas. Consolidacin de Recursos La virtualizacin permite la consolidacin de mltiples recursos de TI. Ms all de la consolidacin de almacenamiento,
la virtualizacin proporciona una oportunidad para consolidar la arquitectura de sistemas, infraestructura de aplicacin, datos y base de datos, interfaces, redes, escritorios, e incluso procesos de negocios, resultando en ahorros de costo y mayor eficiencia. Uso/costo menor energa La electricidad requerida para que funcionen los centros de datos de clase empresarial ya no est disponible en suministros ilimitados, y el costo est en una espiral ascendente. Por cada dlar gastado en un servidor hardware, un dlar adicional es gastado en energa (incluyendo el costo de los servidores en funcin y los enfriadores). Utilizando virtualizacin para consolidar hace posible cortar el consumo total de energa y ahorrar dinero de una manera significativa. Ahorros de espacio La extensin del servidor permanece como un serio problema en la mayora de los centros de datos empresariales, pero la expansin del centro de datos no es siempre una opcin, con los costos de construccin promediando miles de dlares por pie cuadrado. La virtualizacin puede aliviar la tensin mediante la consolidacin de muchos sistemas virtuales en menos sistemas fsicos. Recuperacin de desastre/continuidad del negocio La virtualizacin puede incrementar la disponibilidad de los ndices del nivel de servicio en general y proporcionar nuevas opciones de soluciones para la recuperacin de desastre. Costos de operacin reducidos La empresa promedio gasta $8 dlares en mantenimiento por cada $1 dlar invertido en nueva infraestructura. La virtualizacin puede cambiar el radio de servicio-a administracin reducir la carga total de trabajo administrativo, y cortar el total de costos de operacin. Ventajas de la Virtualizacin Reutilizacin de hardware existente (para utilizar software ms moderno) y optimizar el aprovechamiento de todos los recursos de hardware. 6
Rpida incorporacin de nuevos recursos para los servidores virtualizados. Reduccin de los costes de espacio y consumo necesario de forma proporcional al ndice de consolidacin logrado (Estimacin media 10:1). Administracin global centralizada y simplificada. Nos permite gestionar nuestro CPD como un pool de recursos o agrupacin de toda la capacidad de procesamiento, memoria, red y almacenamiento disponible en nuestra infraestructura Mejora en los procesos de clonacin y copia de sistemas: Mayor facilidad para la creacin de entornos de test que permiten poner en marcha nuevas aplicaciones sin impactar a la produccin, agilizando el proceso de las pruebas. Aislamiento: un fallo general de sistema de una mquina virtual no afecta al resto de mquinas virtuales. Mejora de TCO y ROI. No slo aporta el beneficio directo en la reduccin del hardware necesario, sino tambin los costes asociados. Reduce los tiempos de parada. Migracin en caliente de mquinas virtuales (sin prdida de servicio) de un servidor fsico a otro, eliminando la necesidad de paradas planificadas por mantenimiento de los servidores fsicos. Balanceo dinmico de mquinas virtuales entre los servidores fsicos que componen el pool de recursos, garantizando que cada mquina virtual ejecute en el servidor fsico ms adecuado y proporcionando un consumo de recursos homogneo y ptimo en toda la infraestructura. Contribucin al medio ambiente -Green IT- por menor consumo de energa en servidores fsicos. Programas tiles para virtualizar sistemas operativos Como todos conocemos existen dos tipos de programas: los que son de pago y los que no. Dentro de los programas de pago encontramos el VMware, que es uno
de los referentes en el mercado, como as tambin Windows Server 2008 R2 Hyper-V [1] cuya funcin de virtualizacin est incluida sin cargo en la licencia del servidor. Existe una versin ms bsica de VMWare que es gratuita, VMware Player, que permite virtualizar a travs de una mquina virtual ya configurada. Tambin existen webs que nos permiten rellenar un formulario y descargarnos nuestra mquina virtual a nuestro gusto como EasyVMX! Parallels Virtuozzo Containers, es otro de los programas de pago ms famosos, que permite la virtualizacin a nivel de sistema operativo o hardware Parallels Bare Metal. Tpicamente suele emplearse para virtualizar Windows y, en menor medida, GNU/Linux. Dentro de los programas gratuitos tenemos el Virtual PC de Microsoft, que es un producto de Windows, compatible con versiones avanzadas de XP, Vista y Windows 7. Dentro de los programas de cdigo libre estn el Xen, OpenVZ y VirtualBox, que funcionan tanto en Mac OS, en Windows como en GNU/Linux y todos permiten virtualizar los tres sistemas operativos ms famosos. Tipos de virtualizacin La virtualizacin se puede hacer desde un sistema operativo Windows, ya sea XP, Vista u otra versin que sea compatible con el programa que utilicemos, en el que virtualizamos otro sistema operativo como Linux o viceversa, que tengamos instalado Linux y queramos virtualizar una versin de Windows. Virtualizacin asistida por Hardware Virtualizacin asistida por Hardware son extensiones introducidas en la arquitectura de procesador x86 para facilitar las tareas de virtualizacin al software ejecutndose sobre el sistema. Si cuatro son los niveles de privilegio o anillos de ejecucin en esta arquitectura, desde el cero o de mayor privilegio, que se destina a las operaciones del kernel de SO, al tres, con privilegios menores que es el utilizado por los procesos de usuario, en esta nueva arquitectura se introduce un
anillo interior o ring -1 que ser el que un hypervisor o Virtual Machine Monitor usar para aislar todas las capas superiores de software de las operaciones de virtualizacin. La virtualizacin de almacenamiento Se refiere al proceso de abstraer el almacenamiento lgico del almacenamiento fsico, y es comnmente usado en SANs ("Storage Area Network" Red de rea de almacenamiento). Los recursos de almacenamiento fsicos son agregados al "storage pool" (almacn de almacenamiento), del cual es creado el almacenamiento lgico. Particionamiento Es la divisin de un solo recurso (casi siempre grande), como el espacio de disco o el ancho de banda de la red, en un nmero ms pequeo y con recursos del mismo tipo que son ms fciles de utilizar. Esto es muchas veces llamado zoning, especialmente en almacenamiento de red. Mquina virtual La entenderemos bsicamente como un sistema de virtualizacin, denominado "virtualizacin de servidores", que dependiendo de la funcin que esta deba de desempear en la organizacin, todas ellas dependen del hardware y dispositivos fsicos, pero casi siempre trabajan como modelos totalmente independientes de este. Cada una de ellas con sus propias CPUs virtuales, tarjetas de red, discos etc. Lo cual podra especificarse como una comparticin de recursos locales fsicos entre varios dispositivos virtuales. Hypervisor de almacenamiento Es un pack porttil de gestin centralizada, utilizado para mejorar el valor combinado de los sistemas de disco de almacenamiento mltiples, incluyendo los
modelos diferentes e incompatibles, complementando sus capacidades individuales con el aprovisionamiento extendido, la rplica y la aceleracin del rendimiento del servicio. Su completo conjunto de funciones de control y monitorizacin del almacenamiento, operan como una capa virtual trasparente entre los pools de disco consolidados para mejorar su disponibilidad, velocidad y utilizacin. Virtualizacin relacionada con el Green IT En estudios realizados 8 se han basado sobre el ahorro de energa que genera la empresa para sus clientes, muestra que las soluciones de virtualizacin reducen los costos econmicos y emisiones de CO2. Esto se puede llevar a cabo fusionando varias mquinas en un solo servidor, con lo que disminuyendo el consumo energtico y los costos; ahorrando 7.000 kilovatios hora o cuatro toneladas de emisiones de CO2 al ao. Los PCs virtualizados pueden reducir el consumo de energa y los costos en un 35 por ciento. Hoy en da, la mayor parte consumen entre un 70 y un 80% de su energa estimada. Otra medida es la desconexin de los servidores y desktops durante los perodos de inactividad, como por la noche o los fines de semana, con lo que se puede ahorrar aproximadamente un 25 por ciento en su consumo energtico. Las empresas hoy en da son las ms interesadas en el tema de la virtualizacin, ya que para ellas es muy importante reducir costos y energa principalmente. Infraestructura Virtual Una infraestructura virtual consiste en el mapping dinmico de recursos fsicos en funcin de las necesidades de la empresa. Una mquina virtual representa los recursos fsicos de un nico ordenador, mientras que una infraestructura virtual representa los recursos fsicos de la totalidad del entorno de TI, aglutinando ordenadores x86, as como su red y almacenamiento asociados, en un pool unificado de recursos de TI.
Estructuralmente, una infraestructura virtual consta de los siguientes componentes: Hipervisor de un solo nodo para hacer posible la virtualizacin de todos los ordenadores x86. Un conjunto de servicios de infraestructura de sistemas distribuida basada en la virtualizacin, como gestin de recursos, para optimizar los recursos disponibles entre las mquinas virtuales. Soluciones de automatizacin que proporcionen capacidades especiales para optimizar un proceso de TI concreto, como provisioning o recuperacin ante desastres. Mediante la separacin de la totalidad del entorno de software de su infraestructura de hardware subyacente, la virtualizacin hace posible la reunin de varios servidores, estructuras de almacenamiento y redes en pools compartidos de recursos que se pueden asignar de forma dinmica, segura y fiable a las aplicaciones segn sea necesario. Este enfoque innovador permite a las organizaciones crear una infraestructura informtica con altos niveles de utilizacin, disponibilidad, automatizacin y flexibilidad utilizando componentes bsicos de servidores econmicos y estndar del sector. Ventajas de la Infraestructura Virtual Las soluciones de infraestructura virtual son ideales para entornos de produccin en parte debido a que se ejecutan en servidores y escritorios estndar de la industria y son compatibles con una amplia gama de sistemas operativos y entornos de aplicacin, as como de infraestructuras de red y almacenamiento. Se han diseado las soluciones para que funcionen de manera independiente del hardware y del sistema operativo y poder brindar a los clientes amplias posibilidades de eleccin de plataforma. Como resultado, son soluciones que proporcionan un punto de integracin clave para los proveedores de hardware y
gestin de infraestructuras de cara a ofrecer un valor nico y aplicable por igual en todos los entornos de aplicacin y sistemas operativos. Las empresas que han adoptado estas soluciones de infraestructura virtual nos han comunicado unos clarsimos resultados positivos, entre ellos: ndices de utilizacin del 60 al 80% para servidores x86 (frente al 5 a 15% en hardware no virtualizado) Capacidad para el provisioning de nuevas aplicaciones en cuestin de minutos, en lugar de das o semanas 85% de mejora en tiempo de recuperacin de paradas imprevistas 4.6.1 EMULACIN DE HARDWARE
La virtualizacin de hardware es una tcnica utilizada desde la dcada del 60, pero recientemente ha tomado nuevo impulso, en virtud de los ltimos avances de los procesadores de Intel y AMD y tambin de la evolucin de varias herramientas de software, muchas de ellas libres. En este artculo analizaremos brevemente los conceptos principales relacionados con la virtualizacin de hardware, incluyendo las diversas alternativas existentes. Qu es la virtualizacin? El objetivo de la virtualizacin es la simulacin de varias computadoras lgicas, a partir de una computadora real. Para ello existen varias tcnicas, que van desde la virtualizacin del hardware (CPU, memoria y dispositivos) hasta la separacin de los procesos utilizando un nico kernel. La virtualizacin nos permite, entre otras cosas: Alojar varios servidores en una nica computadora fsica. Esto nos permite optimizar el uso de recursos (CPU, memoria, almacenamiento).
Simplificar la realizacin de copias de respaldo (backup) y su restablecimiento. Todo un servidor virtual puede ser un nico archivo. Migrar fcilmente servidores entre distintas computadoras. Incrementar la seguridad, utilizando servidores aislados para tareas diferentes. A travs de la virtualizacin podemos, por ejemplo, utilizar servidores virtuales para cada servicio que deseemos implementar en nuestra red, independientemente del hardware disponible. Estos servidores pueden ser administrados por personas distintas. Ms adelante, al aumentar las necesidades, pueden aadirse nuevos servidores fsicos y migrar los servidores virtuales existentes con un costo mnimo. La virtualizacin consiste emular el hardware mediante una aplicacin llamada "hypervisor", de tal forma que permita ejecutar uno o varios sistemas operativos, es decir, desvincular la ejecucin del sistema operativo y aplicaciones del hardware para encapsularlo dentro de un entorno virtual simulado por software. La virtualizacin empaqueta el hardware, sistema operativo, aplicaciones y datos de las mquinas virtuales en ficheros, que como tales son trasportables de una mquina fsica a otra. La virtualizacin es aplicable tanto a servidores como a equipos de escritorio Es el proceso de imitar el comportamiento de una o ms piezas de hardware (normalmente un sistema en fase de diseo) con otra pieza de hardware, por lo general un sistema especial de emulacin de propsito. El modelo de emulacin se basa generalmente en RTL (por ejemplo Verilog cdigo fuente), que se compila en el formato utilizado por el sistema de emulacin. El objetivo es normalmente la depuracin y la verificacin funcional del sistema diseado se. A menudo, un emulador es lo suficientemente rpido para ser conectado a un sistema objetivo de trabajar en lugar de un chip sin embargo-a-ser-construido, por lo que todo el sistema se puede depurar con datos en vivo.
A veces la emulacin de hardware pueden ser confundidos con los dispositivos de hardware tales como tarjetas de expansin con los procesadores de hardware que ayudan a las funciones de emulacin de software, tales como mayores tarjetas hija con chips x86 para permitir que los sistemas operativos x86 para correr en las placas de diferentes familias de procesadores. Los tipos de Emulacin son: Emulacin del hardware subyacente (ejecucin nativa):
Esta tcnica se suele llamar virtualizacin completa (full virtualization) del hardware, y se puede implementar usando un hypervisor de Tipo 1 o de Tipo 2: El tipo 1 se ejecuta directamente sobre el hardware. El tipo 2 se ejecuta sobre otro sistema operativo. Cada mquina virtual puede ejecutar cualquier sistema operativo soportado por el hardware subyacente. As los usuarios pueden ejecutar dos o ms sistemas operativos distintos simultneamente en computadoras "privadas" virtuales.
Emulacin de un sistema no nativo:
Las mquinas virtuales tambin pueden actuar como emuladores de hardware, permitiendo que aplicaciones y sistemas operativos concebidos para otras arquitecturas de procesador se puedan ejecutar sobre un hardware que en teora no soportan. Algunas mquinas virtuales emulan hardware que slo existe como una especificacin. Virtualizacin a nivel de sistema operativo: Esta tcnica consiste en dividir una computadora en varios compartimentos independientes de manera que en cada compartimento podamos instalar un servidor. A estos compartimentos se los llama "entornos virtuales". Desde el punto de vista del usuario, el sistema en su conjunto acta como si realmente existiesen varios servidores ejecutndose en varias mquinas distintas. Dos ejemplos son las zonas de Solaris (Solaris Zones) y la tcnica de Micro Partioning de AIX.
4.6.2 HERRAMIENTAS PARA LA EMULACIN DE HARDWARE Virtualizacin asistida por Hardware son extensiones introducidas en la arquitectura de procesador x86 para facilitar las tareas de virtualizacin al software ejecutndose sobre el sistema. Si cuatro son los niveles de privilegio o "anillos" de ejecucin en esta arquitectura, desde el cero o de mayor privilegio, que se destina a las operaciones del kernel de SO, al tres, con privilegios menores que es el utilizado por los procesos de usuario, en esta nueva arquitectura se introduce un anillo interior o ring -1 que ser el que un hypervisor o Virtual Machine Monitor usar para aislar todas las capas superiores de software de las operaciones de virtualizacin. AMD-V (anteriormente llamado Pacifica) ARM TrustZone Boston Circuits gCore (grid-on-chip) con ncleos 16 ARC 750D y mdulo de virtualizacin de hardware Time-machine. Freescale PowerPC MPC8572 y MPC8641D IBM System/370, System/390 y mainframes ZSeries Intel VT (anteriormente llamado Vanderpool) SPARC de Sun Microsystems La emulacin hardware simula cada instruccin del procesador como si de otro hardware se tratara. Para implementar este tipo de virtualizacin se sigue el siguiente esquema:
Emulacin hardware que siguen Bochs y Qemu
En este tipo de virtualizacin, la mquina virtual (MV) es empleada para emular un determinado tipo de hardware. De tal modo que, como cada instruccin debe ser simulada por el hardware subyacente, es un sistema lento con respecto a los otros tipos de virtualizacin. Aun as, este tipo de virtualizacin est muy extendida entre los desarrolladores de firmware para hardware que todava no ha sido fabricado, o que est en fase experimental. A continuacin veremos Bochs y Qemu, dos soluciones de virtualizacin-emulacin: Bochs Bochs es un sistema de emulacin bajo licencia LGPL y que es capaz de simular diferentes arquitecturas, todo ello mediante el hardware subyacente. As pues, se puede simular un ordenador x86 que es portable entre varias plataformas: x86, PowerPC, Alpha, SPARC y MIPS. Bochs es un sistema de virtualizacin en el que se simula el ordenador completo: procesador, perifricos, tarjetas grficas, adaptadores de red Permite la creacin (mediante emulacin) de cualquier arquitectura, y la ejecucin de mltiples sistemas operativos sobre Linux (Windows 95/98/NT/2000, FreeBSD, OpenBSD,) Es un sistema muy poco extendido principalmente porque carece de una interfaz grfica muy amigable y sencilla, como ofrecen el resto de herramientas de virtualizacin. Qemu Qemu es una opcin de virtualizacin que ofrece dos modos de operacin: modo de emulacin de sistema completo y modo de emulacin de usuario. El primer modo es similar a Bochs ya que emula un ordenador completo (procesador, sistemas de almacenamiento y perifricos) y puede emular arquitecturas como x86, x86-64, ARM, SPARC, PowerPC y MIPS. De esta forma se puede emular Windows y Linux, sobre un sistema Linux, Solaris y FreeBSD.
El segundo modo solamente se puede alojar en Linux, y nos permite ejecutar binarios para arquitecturas MIPS, ARM, SPARC, PowerPC, u otras en desarrollo, sobre un Linux instalado en una arquitectura x86. Al igual que Bochs, Qemu tampoco tiene una interfaz muy amigable con lo que su uso no est muy extendido. Hay que resear que Qemu fue la base sobre la que luego se desarrollaron otras tecnologas de virtualizacin, como por ejemplo Xen, de la que hablaremos ms adelante. VIRTUALBOX. Sun xVM VirtualBox es un software de virtualizacin para arquitecturas x86 que fue desarrollado originalmente por la empresa alemana Innotek GmbH, pero que pas a ser propiedad de la empresa Sun Microsystems en febrero de 2008 cuando sta compr a innotek. Por medio de esta aplicacin es posible instalar sistemas operativos adicionales, conocidos como sistemas invitados, dentro de otro sistema operativo anfitrin, cada uno con su propio ambiente virtual. Por ejemplo, se podran instalar diferentes distribuciones de Linux en un VirtualBox instalado en Windows XP o viceversa. En cuanto a la emulacin de hardware, los discos duros de los sistemas invitados son almacenados en los sistemas anfitriones como archivos individuales en un contenedor llamado Virtual Disk Image, incompatible con los dems software de virtualizacin.
VIRTUAL PC Virtual PC es un programa desarrollado por Connectix y comprado por Microsoft para crear ordenadores virtuales. Es decir, su funcin es emular un hardware sobre el que funcionen varios sistemas operativos. Con esto se puede conseguir ejecutar varios sistemas operativos en la misma mquina a la vez y hacer que se comuniquen entre ellos. La versin 2007 se encuentra disponible de forma gratuita.
4.6.3 Creacin de la mquina virtual Para instalar una mquina virtual "Windows 7 Enterprise" a partir de la imagen ISO de dicho sistema operativo descargada anteriormente, lo primero que hemos de hacer es cargar "VirtualBox" haciendo doble clic sobre el icono correspondiente a dicha aplicacin situada en el Escritorio de nuestro equipo.
Como resultado de la accin anterior accederemos a la ventana principal de la aplicacin "VirtualBox", en la cual pulsaremos directamente sobre el botn "Nueva" para proceder a la creacin de una nueva mquina virtual Windows 7 Enterprise, tal y como es nuestro deseo.
En ese instante pasar a ser ejecutado el asistente de creacin de nueva mquina virtual, en cuya primera ventana se da la bienvenida al asistente de creacin de una nueva mquina virtual, y en la que pulsaremos directamente sobre el botn "Next".
En la siguiente ventana, podremos seleccionar el sistema operativo que va a ser instalado en nuestra mquina virtual, dndonos a elegir en los desplegables correspondientes entre una extensa lista de sistemas operativos; en nuestro caso seleccionaremos "Microsoft Windows" en el desplegable "Sistema Operativo", y posteriormente en el desplegable "Versin", el sistema operativo "Windows 7", adems de indicar en la caja de texto "Nombre" el nombre con el que deseamos reconocer a la mquina virtual que estamos creando, "Alumno" en nuestro caso, tal y como vemos en la imagen inferior, tras lo cual pulsaremos sobre el botn "Next".
NOTA: Llamaremos "Alumno" a la mquina virtual que estamos creando, pues el equipo que vamos a instalar y configurar en esta mquina virtual, corresponde al tipo de equipo que ser utilizado por los alumnos. A continuacin deberemos especificar la cantidad de memoria RAM de la que va a disponer nuestra mquina virtual "Alumno", dejando en nuestro caso los 512 MB ofertados por defecto por el asistente, tal y como vemos en la ventana de la imagen inferior.
NOTA: Si nuestro equipo anfitrin dispusiera de una cantidad elevada de memoria RAM, por ejemplo 4 GB., podramos plantearnos asociar 1 GB. de memoria RAM a la mquina virtual "Alumno". A continuacin deberemos definir las caractersticas del disco duro de nuestra mquina virtual, debiendo en nuestro caso dejar activada la casilla "DIsco duro de arranque" y el radio botn "Crear disco virtual nuevo", y pulsando directamente sobre el botn "Next" en la ventana de la imagen inferior para proceder a crear un nuevo disco duro virtual para nuestra mquina virtual "Alumno".
Como resultado de la accin anterior pasar a ser ejecutado el asistente de creacin de nuevo disco duro virtual, en cuya primera ventana pulsaremos directamente sobre el botn "Next".
A continuacin deberemos indicar si el nuevo disco duro virtual va a crecer de modo dinmico o bien se deber reservar un espacio fijo para el nuevo disco duro virtual, eligiendo en nuestro caso la primera opcin, al seleccionar el radio botn "Almacenamiento de expansin dinmica", tal y como vemos en la ventana de la imagen inferior, y pulsando tras ello sobre el botn "Next".
En la siguiente ventana mostrada por el asistente, dejaremos en la caja de texto "Tamao" el tamao de 20 GB para el nuevo disco duro virtual, pudiendo adems variar la ubicacin donde ser almacenado dicho disco duro en la caja de texto "Localizacin", si bien en nuestro caso NO modificaremos dicha ruta, de modo que pulsaremos directamente en la ventana de la imagen inferior sobre el botn "Next".
Una vez que los parmetros correspondientes al nuevo disco duro virtual han sido definidos a travs de las ventanas anteriores, se nos presentar la siguiente ventana, en la que se nos indicarn las opciones que hayamos seleccionado con anterioridad, y en la que pulsaremos directamente sobre el botn "Terminar" para concluir con el proceso de creacin del nuevo disco duro virtual.
Una vez creado el nuevo disco duro virtual, regresaremos a la ventana del asistente de creacin de la mquina virtual "Alumno", en la cual se nos mostrar un resumen de las diversas opciones que hayamos seleccionado con anterioridad para definir el hardware de nuestra mquina virtual, y en la que pulsaremos directamente sobre el botn "Terminar".
Si hemos seguido los pasos tal cual hemos ido especificando a lo largo de este apartado, una vez completado el asistente de instalacin, dispondremos de una nueva mquina virtual de nombre "Alumno" en VirtualBox, tal y como vemos en la siguiente ventana.
Los pasos anteriores nicamente nos han permitido definir las caractersticas hardware que tendr la mquina virtual en la que posteriormente vamos a llevar a cabo la instalacin del sistema operativo "Windows 7 Enterprise". A partir de este instante ya tenemos correctamente definido el hardware necesario para poder instalar sobre el mismo el sistema operativo "Windows 7 Enterprise"; proceso este que llevaremos a cabo en el siguiente mdulo de este material. Llegados a este punto vamos a proceder a instalar el sistema operativo Windows 7 Enterprise en el equipo correspondiente, bien sea una mquina fsica o una mquina virtual creada con "VirtualBox" u otra aplicacin de mquinas virtuales.
En nuestro caso partiremos del fichero con la imagen ISO de Windows 7 Enterprise que hemos descargado con anterioridad para llevar a cabo este proceso de instalacin. NOTA: Si el lector dispusiera de un DVD de Windows 7 Professional, Windows 7 Enterprise o Windows 7 Ultimate, podra utilizar dicho soporte para llevar a cabo el proceso de instalacin que vamos a realizar a continuacin. Igualmente si el lector fuera a realizar la instalacin en una mquina fsica en vez de hacerlo en un mquina virtual, debera grabar el fichero de imagen ISO de Windows 7 Enterprise, para crear a partir del mismo un DVD con dicho sistema operativo. Si estamos utilizando mquinas virtuales para seguir los contenidos de este material, para arrancar la mquina virtual "Alumno" creada anteriormente, lo primero que deberemos hacer ser cargar el fichero con la imagen ISO de Windows 7 Enterprise en la unidad de CD/DVD de la mquina virtual "Alumno", para lo cual situados sobre dicha mquina virtual, pulsaremos sobre el apartado "Almacenamiento", tal y como vemos en la ventana de la imagen inferior.
Como resultado de la accin anterior, pasar a ser mostrada la siguiente ventana, en la que nos situaremos en el "rbol de almacenamiento" sobre el "Controlador IDE", y posteriormente sobre la entrada "Vaco", tal y como vemos en la imagen inferior.
Tras ello, pulsaremos sobre el icono correspondiente a un CD/DVD situado en la zona derecha de dicha ventana, tras lo cual se nos presentar una lista desplegable de opciones, en la que elegiremos la opcin "Seleccionar un archivo de disco virtual de CD/DVD".
Elegiremos a continuacin el fichero ISO que contiene la imagen de Windows 7 Enterprise, concretamente el fichero que habamos descargado con anterioridad.
Una vez que hayamos cargado la imagen ISO del sistema operativo "Windows 7 Enterprise", podremos comprobar en el controlador IDE correspondiente que dicha operacin se ha efectuado correctamente, tal y como vemos en la ventana de la imagen inferior, momento en el que pulsaremos en dicha ventana sobre el botn "Aceptar".
De vuelta en la ventana de VirtualBox, y situados sobre la mquina virtual "Alumno" procederemos a pulsar sobre el botn "Iniciar" para comenzar con el proceso de instalacin de Windows 7 Enterprise en nuestra mquina virtual.
NOTA: Si estamos utilizando mquinas fsicas para seguir los contenidos de este material, obviaramos todo el proceso anterior, arrancando el equipo donde vamos a instalar el sistema operativo "Windows 7 Enterprise" e introduciendo inmediatamente en la unidad de CD/DVD del equipo el DVD correspondiente a dicho sistema operativo. Si estamos utilizando la aplicacin "VirtualBox" por primera vez, se nos mostrar la siguiente ventana, que bsicamente nos indica que cuando hagamos clic con el ratn sobre la mquina virtual, sta tomar el control del teclado y del ratn, y cuando pulsemos en nuestro teclado sobre la tecla "CRTL" situada a la derecha del espaciador, el teclado y el ratn pasarn a estar disponibles en la mquina
anfitriona; en dicha ventana activaremos la casilla "No mostrar este mensaje de nuevo", y tras ello pulsaremos en ella sobre el botn "Aceptar".
A continuacin VirtualBox nos informa de que la pantalla de dicha aplicacin est optimizada para trabajar en un modo de color de 32 bits, aunque en este instante est configurada a 24 bits, as como el modo de obtener el mejor rendimiento grfico para nuestra mquina virtual; en dicha ventana activaremos la casilla "No mostrar este mensaje de nuevo", y tras ello pulsaremos en ella sobre el botn "Aceptar".
De nuevo VirtualBox nos traslada una informacin referente al hardware, indicndonos en este caso que con el modo de vdeo actual no se soporta la integracin del ratn, y de nuevo en dicha ventana activaremos la casilla "No mostrar este mensaje de nuevo", y tras ello pulsaremos en ella sobre el botn "Aceptar".
En este instante dar comienzo la instalacin del sistema operativo Windows 7 Enterprise en nuestra mquina virtual, y en el momento en el que hagamos clic con el ratn sobre la pantalla de la mquina virtual, se nos mostrar la siguiente ventana, en la que se nos informa de que deberemos pulsar sobre la tecla CTRL ubicada a la derecha de la barra espaciadora para volver a situarnos sobre la mquina anfitriona; en dicha ventana activaremos de nuevo la casilla "No mostrar este mensaje de nuevo", y tras ello pulsaremos en ella sobre el botn "Capturar" para que el ratn funcione correctamente en la mquina virtual.
En el proceso de instalacin del sistema operativo "Windows 7 Enterprise", la primera ventana que se nos presentar ser la siguiente, en la cual podremos elegir el idioma de instalacin, el formato de hora y moneda, as como la configuracin de teclado, dejando en nuestro caso seleccionadas las opciones que
por defecto nos ofrece el asistente de instalacin, y pulsando en dicha ventana directamente sobre el botn "Siguiente".
A continuacin, se nos presentar la siguiente ventana, que nos permitir dar comienzo de modo efectivo al proceso de instalacin pulsando sobre el botn "Instalar ahora".
Como resultado de la accin anterior dar comienzo de modo efectivo el proceso de instalacin del sistema operativo "Windows 7 Enterprise" en nuestra mquina virtual "Alumno".
Un requisito indispensable para poder realizar la instalacin del sistema operativo "Windows 7 Enterprise" ser aceptar el acuerdo de licencia de uso de Microsoft, para lo cual activaremos la casilla "Acepto los trminos de licencia" en la ventana de la imagen inferior, y tras ello pulsaremos sobre el botn "Siguiente".
A continuacin el sistema nos ofrecer realizar una actualizacin del sistema operativo que tuviramos instalado, o bien realiza una nueva instalacin desde cero, seleccionando en nuestro caso esta segunda opcin pulsando sobre la opcin "Personalizada (avanzada), tal y como vemos en la ventana de la imagen inferior.
Dado que hemos elegido la opcin de realizar una nueva instalacin, el sistema nos ofrecer los soportes donde podemos llevar a cabo la misma, en nuestro caso nicamente en el disco duro virtual creado en su momento, por lo cual seleccionamos los 20 GB. de espacio de disco duro sin asignar, y tras ello pulsaremos sobre el botn "Siguiente".
En este instante dar comienzo el proceso de instalacin del sistema operativo "Windows 7 Enterprise", proceso que durar alrededor de 20 minutos, luego esperaremos pacientemente a que se complete en su totalidad.
En el proceso de instalacin, tras producirse un reinicio en la mquina virtual, se nos presentar la siguiente ventana, en la que deberemos especificar un nombre de usuario y un nombre de equipo. Dado que el usuario que ser creado en este instante tendr un rol de administrador del equipo, llamaremos al usuario "Profesor", y dado que el equipo que estamos instalando ser un equipo que utilicen los alumnos, asignaremos a nuestra mquina virtual el nombre "Alumno", tal y como vemos en la imagen inferior, tras lo cual pulsaremos sobre el botn "Siguiente".
NOTA: Aunque pueda parecer un contrasentido denominar al equipo "Alumno" y al usuario "Profesor", hay que hacer notar que cualquier equipo, sea o no de uso de alumnos, precisa de un usuario administrador para su gestin, que nosotros hemos denominado "Profesor". En la siguiente ventana asociaremos al usuario "Profesor" indicado anteriormente, la contrasea correspondiente que utilizar dicho usuario, indicando en nuestro caso por duplicado la cadena de texto "profesor" (OJO!, a diferencia del nombre de usuario, la contrasea es sensible a maysculas y minsculas) en las cajas de texto correspondientes, y escribiendo un indicio de contrasea por si nos
olvidramos de la misma, de modo que cuando la ventana correspondiente presentara el aspecto mostrado en la imagen inferior, procederamos a pulsar en ella sobre el botn "Siguiente".
NOTA: Obviamente la contrasea "profesor" indicada anteriormente NO es una contrasea muy recomendable porque coincide con el propio nombre del usuario, si bien en nuestro caso hemos elegido esa para recordarla fcilmente. Igualmente el indicio de contrasea "Mismo nombre" elegido tambin es demasiado explcito,
y permite conocer el incidio NO slo a la persona que ha configurado la contrasea, sino a cualquiera que acceda al equipo. En un entorno real de trabajo, tanto la contrasea como el indicio de la misma deberan ser ms seguros. A continuacin el sistema operativo nos permite especificar como deseamos proteger a nuestro equipo mediante las actualizaciones automticas, eligiendo en nuestro caso la opcin "Usar la configuracin recomienda", tal y como vemos en la ventana de la imagen inferior.
Tras ello el sistema nos permite configurar la zona horaria del equipo, as como la fecha y hora del mismo; dado que en nuestro caso todas las configuraciones son correctas, pulsaremos directamente en la ventana correspondiente sobre el botn "Siguiente".
Finalmente el sistema operativo nos solicita que especifiquemos el mbito donde ser ubicado este equipo que acaba de ser instalado, seleccionando en nuestro
caso la opcin "Red de trabajo", tal y como vemos en la ventana de la imagen inferior.
El sistema realizar los cambios oportunos a partir de las configuraciones realizadas anteriormente.
Tras unos breves instantes, accederemos al Escritorio del usuario "Profesor" en el equipo "Alumno" que tendr instalado el sistema operativo "Windows 7 Enterprise", tal y como vemos en la ventana de la imagen inferior.
As pues llegados a este punto ya habremos completado satisfactoriamente el proceso de instalacin de "Windows 7 Enterprise" en el equipo "Alumno", momento en el cual podremos retirar el fichero de imagen ISO de dicho sistema operativo de la unidad de CD/DVD de la mquina virtual, para lo cual nos situaremos sobre el apartado "Dispositivos CD/DVD" del men "Dispositivos", para elegir la opcin "Eliminar disco de la unidad virtual", tal y como vemos en la imagen inferior.
Como resultado de la accin anterior ser retirado el fichero de imagen ISO de "Windows 7 Enterprise" de la unidad de CD/DVD de la mquina virtual, y daremos por finalizado este apartado. NOTA: Si estuviramos realizando una instalacin en una mquina fsica, retiraramos sin ms el DVD de "Windows 7 Enterprise" de la unidad de CD/DVD del ordenador.