Unidad 4 Interoperabilidad Entre Sistemas Operativos

53
Instituto Tecnológico de Ciudad Valles Alumno: Jorge Luis Servín García Profesor: María Antonieta Hernández Carrera: Ing. En Sistemas Computacionales Grupo: A Asignatura: Taller de Sistemas Operativos

Transcript of Unidad 4 Interoperabilidad Entre Sistemas Operativos

Page 1: Unidad 4 Interoperabilidad Entre Sistemas Operativos

Instituto Tecnológico de Ciudad Valles

Alumno:

Jorge Luis Servín García

Profesor: María Antonieta Hernández

Carrera: Ing. En Sistemas Computacionales

Grupo: A

Cd. Valles, S.L.P., a 3 de junio de 2013.

Asignatura: Taller de Sistemas Operativos

Page 2: Unidad 4 Interoperabilidad Entre Sistemas Operativos

4.1.- Introducción

4.1.1.- Interoperabilidad

El Instituto de Ingenieros Eléctricos y Electrónicos (IEEE) define interoperabilidad como la habilidad de dos o más sistemas o componentes para intercambiar información y utilizar la información intercambiada.Más allá de la perspectiva tecnológica, actualmente la interoperabilidad es entendida como un concepto más amplio con un grupo de dimensiones diferenciadas. En este sentido, el Marco Iberoamericano de Interoperabilidad recoge para el ámbito de la administración electrónica una de las definiciones más completas existentes actualmente en línea con la definición dada por la Comisión Europea, definiendo interoperabilidad como la habilidad de organizaciones y sistemas dispares y diversos para interaccionar con objetivos consensuados y comunes y con la finalidad de obtener beneficios mutuos. La interacción implica que las organizaciones involucradas compartan información y conocimiento a través de sus procesos de negocio, mediante el intercambio de datos entre sus respectivos sistemas de tecnología de la información y las comunicaciones. El ámbito de la administración electrónica ha dotado a la interoperabilidad de gran relevancia y ha impulsado estudios científicos que actualmente destacan otras dimensiones por encima de la dimensión técnica de la interoperabilidad. Es precisamente en este contexto donde se impone la interoperabilidad actualmente como uno de los elementos clave para la administración electrónica, reflejado en España a través del Esquema Nacional de Interoperabilidad. Además de hablarse de la gobernanza de la interoperabilidad, se reconoce a la interoperabilidad actualmente, al menos, tres dimensiones bien diferenciadas:

* Dimensión técnica * Dimensión semántica * Dimensión organizacional

En el mundo del transporte existen iniciativas que promueven la interoperabilidad de los sistemas ferroviarios. Un caso destacado es la directiva europea 96/48/CE relativa a la interoperabilidad del Sistema Ferroviario Transeuropeo de Alta Velocidad. Esta directiva define la interoperabilidad como la "capacidad para permitir la circulación segura e ininterrumpida de trenes de alta velocidad cumpliendo unos rendimientos específicos". Su objetivo es eliminar las diferencias reglamentarias, técnicas y operativas que actualmente obstaculizan en gran medida la libre circulación de trenes por las fronteras transeuropeas.

Page 3: Unidad 4 Interoperabilidad Entre Sistemas Operativos

4.1.2.- Neutralidad tecnológica

La expresión neutralidad tecnológica se usa preferentemente a la hora de describir la actitud que se espera por parte de la Administración Pública en relación con sus proveedores, sobre todo tratándose de proveedores de bienes y servicios informáticos.* Hay quien entiende la neutralidad tecnológica como la igualdad de concurrencia de los proveedores ante el mercado de la Administración Pública. * Otra acepción se refiere a la actitud que debe tomar la Administración Pública respecto de un proveedor que en el transcurso del tiempo ha adquirido respecto de la Administración Pública una situación privilegiada y de cuyos productos no podría prescindir sin arrastrar grandes costes. * Desde el punto de vista del usuario, o del administrado, y especialmente en el ámbito de la Administración electrónica, la neutralidad tecnológica implica que dicho administrado debe poder dirigirse a la Administración Pública por vías telemáticas sin que le sea impuesta, de facto o explícitamente, ningún tipo de tecnología específica. * Finalmente neutralidad tecnológica también se usa como la característica de una ley que enuncia derechos y obligaciones de las personas sin disponer nada acerca de los medios tecnológicos necesarios para que se cumplan. Se trata de leyes que se desinteresan del marco tecnológico.

4.2.- Intercambio de archivos

4.2.1.- Desventajas de los formatos de archivos estándar de facto cerrados. Formatos de archivos abiertos.

El debate sobre los formatos abiertos empezó a alcanzar notoriedad pública a partir de la decisión del Gobierno del estado de Massachusetts (Estados Unidos) de adoptar como formato oficial para sus documentos públicos el estándar OpenDocument, en detrimento de los empleados por Microsoft, que debido al uso masivo de su suite Office son los más extendidos en todo el mundo. Esta decisión, adoptada por diversos organismos públicos en todo el mundo, ha hecho que muchos se planteen preguntas que hasta entonces no habían pasado por su cabeza: ¿es racional depender de la voluntad de una empresa para asegurarse el acceso a los propios datos? ¿Es legítimo que lo haga un Gobierno?.

Un formato es la estructura en la que un conjunto de datos se guarda en un fichero. Por ejemplo, cuando editamos un documento en un procesador de textos, al guardarlo en un fichero éste contendrá no sólo las palabras que hemos escrito,

Page 4: Unidad 4 Interoperabilidad Entre Sistemas Operativos

sino también el tipo de letra empleado, los márgenes de la página, la disposición de los párrafos, etcétera. Para que una aplicación pueda luego recuperar toda esta información sin pérdida alguna, estos datos deben almacenarse de una manera preestablecida. A esa forma única de guardar la información se la denomina formato.

Cualquier persona que utilice un ordenador está abocada a lidiar con múltiples formatos de infinidad de tipos distintos de información. Puede escuchar música en formato MP3, observar imágenes en formato JPG, escribir sus documentos en formato DOC, leer páginas web en formato HTML, contemplar animaciones en formato SWF o ver vídeos en formato AVI, entre infinidad de otras opciones. Todo formato mínimamente importante está perfectamente documentado para que la aplicación que debe abrir ficheros que tengan esa estructura concreta pueda hacerlo correctamente. La diferencia entre un formato abierto y otro cerrado es que en este último caso esa documentación solo está disponible dentro de la organización, generalmente una empresa, que ha creado la aplicación que trabaja con ella, mientras que los formatos abiertos son aquellos sobre los que existe una información completamente disponible a todo el mundo. Se podría considerar como un caso intermedio aquellos formatos a cuya documentación se puede acceder previo pago de una licencia, pero a casi todos los efectos -excepto, quizá, a los que se refieren a la legislación de protección de la competencia- resulta un caso equivalente al de los formatos cerrados.

Un anuncio televisivo ha hecho popular la llamada pirámide de Maslow. Según escribió el psicólogo en su Teoría de la motivación humana, de 1945, los seres humanos tenemos una escala de necesidades que vamos cubriendo en orden. Así, mientras no tuviéramos las necesidades fisiológicas cubiertas (alimento, abrigo, salud, cobijo) no pasaríamos a preocuparnos por el siguiente nivel de la pirámide, la seguridad de tenerlas en todo momento, a salvo de contratiempos. Después de esto vendría la búsqueda de la aceptación social, el amor familiar y romántico; la búsqueda de la estima, propia y ajena, el éxito, etcétera; y, finalmente, la autorrealización. Puede establecerse cierto paralelismo con el impulso que estos últimos años han tenido los formatos abiertos, especialmente en lo que se refiere a la ofimática. La primera necesidad de usuarios, empresas y administraciones públicas es disponer de procesadores de texto, hojas de cálculo y software de presentaciones que funcionen correctamente y sean cómodos y razonablemente sencillos de utilizar. Pero una vez que existen varias soluciones que garantizan esto, nacen nuevas necesidades. La principal es la seguridad. Actualmente, la mayor parte de nosotros emplea Office; es un estándar de facto. Sin embargo, al emplear esta suite sus propios formatos cerrados, nos ata a Microsoft de por vida. Otras suites ofimáticas han logrado trabajar de forma más o menos aceptable con los ficheros DOC, PPT y XLS, pero no han conseguido una compatibilidad completa. Si queremos seguir empleando nuestros datos,

Page 5: Unidad 4 Interoperabilidad Entre Sistemas Operativos

necesitamos recurrir a una empresa específica, por los siglos de los siglos.

En las administraciones públicas, a esto se une la imposición a los ciudadanos que quieran interactuar por vía electrónica con ellas de unas aplicaciones que cuestan su dinero y que sólo oferta una empresa. Es cierto que buena parte de los ciudadanos disponen ilegalmente de esa suite ofimática, pero no parece de recibo que el Estado obligue a sus administrados a cometer una infracción o pagar un impuesto a una empresa para poder cumplir con sus obligaciones. Esa es la razón por la que el Gobierno del estado de Massachusetts decidió apostar por los formatos abiertos y obligar a todas sus agencias y empleados a emplear software que los soporte. En realidad, emplear formatos abiertos es para el Estado algo más importante que emplear software libre. Durante varios años he defendido la conveniencia de que las administraciones públicas tengan en cuenta la licencia de las aplicaciones a la hora de optar por ellas y promuevan el uso del software libre, pero especialmente que el software creado dentro del Estado sea puesto a disposición de quienes lo han pagado por medio de licencias de código abierto. Pero es la adopción de formatos libres la que garantiza a sucesivas administraciones la posibilidad de cambiar de proveedor manteniendo accesible toda la información almacenada hasta ese momento, y emplear esa posibilidad como forma de presión frente a quien fabrique el software que utiliza actualmente.|

4.2.2.- formatos de archivos estándares iso

PSD

El PSD es un formato nativo de photoshop y permite guardar todas las presentaciones, retoques, nuevas creaciones realizadas con este programa.

Guarda los archivos con 48 bits de color y permite almacenar todas las capas, canales etc. que exista en el archivo de imagen. PSD casi no tiene compatibilidad con otros programas, por lo que se recomienda tener dos archivos: uno en el propio formato nativo (.PSD), y otro en algún formato compatible con otros programas, como JPGE o TIFF.

En algunos casos puede ser que tengamos alguna versión antigua de photoshop y que queramos abrir una imagen guardada en PSD, y que esta no sea compatible con otras versiones, con lo que se aconseja activar las siguientes opciones:

* Para Windows, abrimos Photoshop> seleccionamos> Edición>Preferencias>Manejo de archivos. * Luego marcamos la casilla de verificación compatibilidad para los archivos de

Page 6: Unidad 4 Interoperabilidad Entre Sistemas Operativos

Photoshop. De este modo serán compatibles los archivos con distintas versiones del programa.

BMP (Windows Device Independent Bitmap)

Esta clase de formato lo utiliza el sistema de Windows y el Ms-Dos, para guardar sus imágenes. Este sistema de archivo puede guardar imágenes de 24 bits (millones de colores), 8 bits (256 colores) y menos. A esta clase de archivos puede seleccionarse una compresión RLE (RunLength Encoding) sin pérdida de calidad.

El uso más común de este formato, es generar imágenes de poco peso y no se aconseja utilizarlo en imágenes recién captadas, sino en imágenes una vez reducidas a los 24 bits. Se utiliza mucho para crear fondos para el escritorio de Windows.

GIF (CompuServe Graphics Interchange Format)

Es un formato de archivos de gráficos de mapa de bits (una trama) desarrollado por Compuserve. Existen dos versiones de este formato de archivos desarrolladas en 1987 y 1989 respectivamente:

* El GIF 87a, que es compatible con la compresión LZW, puede entrelazar, (permitir la visualización progresiva) una paleta de 256 colores y tiene la posibilidad de crear imágenes animadas (llamadas GIF animados) almacenando varias imágenes en el mismo archivo. * El GIF 89a, que tiene como agregado la posibilidad de designar un color transparente para la paleta y especificar el tiempo de las animaciones. Una imagen GIF puede contener entre 2 y 256 colores (2, 4, 8, 16, 32, 64, 128 ó 256) entre 16,8 millones de su paleta. Por lo tanto, dado que la paleta tiene un número de colores limitado (no limitado en cuanto a colores diferentes), las imágenes que se obtenían con este formato por lo general eran muy pequeñas.

Sin embargo, dado que el algoritmo de compresión LZW estaba patentado, todos los editores de software que usaban imágenes GIF debían pagarle regalías a Unisys, la compañía propietaria de los derechos. Esta es una de las razones por las que el formato PNG se está volviendo cada vez más popular, en perjuicio del formato GIF.

Page 7: Unidad 4 Interoperabilidad Entre Sistemas Operativos

EPS (Encapsulated PostScript)

Este archivo lo ha desarrollado la compañía Adobe y se pueden guardar en este formato, tanto mapa de bits como imágenes vectoriales. Es muy utilizado en la impresión profesional y en otras aplicaciones llegando hasta la impresora de tipo Postcript.

EPS es adecuado para realizar intercambio de archivos entre programas de maquetación, tales como page Maker o quarkxpress incluyendo los de dibujo vectorial (Freehand o corel). Es junto con el formato TIFF, uno de los estándares en el mundillo de la autoedición.

Aunque fue creado por Adobe, una vez se abre el archivo con Photoshop los datos de la imagen y los gráficos vectoriales que pueda contener el encapsulado se caracterizan, es decir se convierten a píxeles. Si se quiere imprimir un archivo EPS directamente, debemos utilizar una impresora compatible con PostScript.

Estos archivos a su vez son más lentos en procesarlos que los TIFF, pero en los programas de maquetación la visualización se procesa más rápida. Los datos guardados se encuentran dentro de una cápsula, encapsulados, por lo que si se quieren modificar, se deben tratar con el programa que los creó. JPEG (Joint Photographic Experts Group) Uno de los formatos más populares para guardar nuestras imágenes digitales, conozcamos un poco más acerca de su origen, características que lo diferencias de otros formatos de imagen. Iniciemos por comprender de dónde deriva el nombre JPEG, este formato fue creado por Joint Phorographic Experts Group, las siglas de este grupo son las que dan el nombre del formato JPEG o también denominado JPG.

Características del formato

Este formato se caracteriza principalmente por ser abierto, los derechos de autor son libres y puede ser usado o implementado en un programa, sin necesidad de pagar por derechos de autor. El formato JPEG o JPG nace como una respuesta a las limitaciones de otros formatos, es utilizado como extensión predeterminada por las cámaras digitales debido a que permite comprimirlas sin necesidad de bajar su calidad en la resolución y nos libera el espacio. Cabe mencionar, que el formato JPEG es un formato de compresión de perdida, es decir que cuando guardamos una fotografía con esta extensión, la información

Page 8: Unidad 4 Interoperabilidad Entre Sistemas Operativos

que contiene la imagen reduce, pero este detalle no es susceptible al ojo humano, porque la calidad de las imágenes sigue siendo de alta calidad.

Niveles de compresión

Antes de que surgiera la necesidad del diseño, desarrollo, programación, usabilidad web, los diseñadores gráficos se empeñaban en que mientras más grande fuera el peso de la imagen por ejemplo 300 KB mejor sería la resolución e impresión de la imagen. Luego, surge la necesidad de realizar una transición del diseño impreso al diseño en la web, y una de las sorpresas es que esas imágenes gigantescas que se imprimían a todo color, en la web necesitaban ser comprimidas y reducidas de peso, para que las mismas cargaran fácilmente. Es en esta acción de compresión, donde el formato JPEG juega un papel importante, porque permite graduar el nivel de compresión de cada una de las imágenes de este modo podemos decidir entre una imagen de baja calidad, que implica un menor tamaño en el archivo o una imagen con alta calidad, que representa un mayor peso. El sistema de compresión que usa JPEG se basa en reducir información promediándola en las zonas de degradado. Es decir que se calcula el valor de color de algunos píxeles en función del color de los píxeles que les rodean. Por esas características este formato es muy eficiente a la hora de almacenar imágenes que posean muchos degradados y matices de color. Aunque también es preciso tener en cuenta que es casi inútil cuando queremos guardar con este formato dibujos con grandes extensiones de colores planos y uniformes o con bordes muy definidos, definitivamente no se recomienda.

Guardar en modo progresivo

En algún momento hemos entrado a páginas web que nos muestran las imágenes de la página con una mala calidad y luego se mejora. JPEG permite guardar los archivos en modo progresivo, es decir que a la hora de cargar la página web las imágenes se muestran aunque no haya cargado totalmente. La calidad de la imagen ira mejorando a medida que se cargue la imagen hasta obtenerla completamente. Esto permite mantener entretenido al usuario y de esta forma no se salga de nuestro sitio web.

Otros formatos

Para terminar, es importante destacar que JPEG es uno de los formatos más utilizados hasta el momento para guardar imágenes, pero existen otros formatos

Page 9: Unidad 4 Interoperabilidad Entre Sistemas Operativos

como: GIF, PNG, TIFF entre otros, con características que podrían ayudarnos, según el proyecto que estemos realizando. Esperen nuestros próximos artículos en donde hablaremos de las ventajas, desventajas, origen, características de los formatos: GIF, PNG, TIFF y otros. PDF (Portable Document Format) PDF es un formato portátil para documentos (Portable Document Format) desarrollado por Adobe Systems y muy usado en Internet debido a su versatilidad, facilidad de uso y tamaño pequeño.

Según se pregona extensamente en la Red, el formato de archivo PDF se ha convertido en el estándar para la distribución de documentación, tanto en intranets empresariales como en la Web, y parece igualmente un correcto método de distribución de archivos en pre-impresión, son muy populares en la red por varias razones:

* Un documento PDF tiene la misma apariencia, color, tipo de imprenta, gráficos y formato que un documento impreso. * Los archivos PDF se pueden ver utilizando el navegador mismo o se pueden almacenar en la computadora para uso o impresión posterior. * El programa Lector Acrobat (Acrobat Reader) se puede obtener gratis para la mayoría de los sistemas operativos. * Si bien el programa Acrobat Reader no se puede usar para editar (modificar) un documento PDF, permite copiar texto del documento a otro archivo, y también efectuar búsquedas para localizar una palabra o texto. * Pueden distribuirse por toda la Web, o mediante e-mails, o estar en CDs; pero este tipo de archivos es muy utilizado a la hora de compartir información gráfica o de texto, como por ejemplo, contratos, manuales, y hasta e-books. PCX El formato PCX fue desarrollado por ZSoft, difundiendo el software PaintBrush con el que los sistemas operativos de Microsoft Windows estaban equipados de manera estándar desde la década de los ochenta. El formato PCX es un formato de mapa de bits que admite imágenes, cuyas dimensiones pueden ser hasta 65536 por 65536 y que se pueden codificar en 1 bit, 4 bits, 8 bits ó 24 bits (que corresponden a 2, 16, 256 ó 16 millones de colores respectivamente). La estructura de un archivo PCX es la siguiente:

* Un encabezado de información de mapa de bits con una extensión de 128 bytes.

* Cuerpo de la imagen * Información * Paleta de colores (opcional). Este es un campo de 768 bytes que permite almacenar varios valores de rojo, verde y azul (RGB) por cada elemento de la

Page 10: Unidad 4 Interoperabilidad Entre Sistemas Operativos

paleta.

4.3.- Recursos remotos

Los recursos remotos se nombran en computadores que están conectados a una red. Un recurso remoto es algún dispositivo que no está directamente conectado o a tu pc pero que si puedes tener acceso a través de una red (esto permite ver y trabajar en un PC que físicamente pueda estar lejos de nuestra área de trabajo), está conexión se realiza por medio de una red o Internet desde tu propio equipo. Ejemplos los discos que pertenecen a otra pc pero que tú puedes tener acceso a él y guardar tu información, Escritorio Remoto (escritorios de otro pc pero que tu puedes controlar), Impresoras remotas (que pueden estar en otro logar o país pero que puedes enviar a imprimir un archivo). Cada aplicación considera el nodo local como una cache de los recursos disponibles en todo el sistema distribuido. En el caso de aplicaciones centralizadas, éstas se limitan a utilizar dicha cache ignorando la ubicación de los recursos (pensando que son locales). En cambio, las distribuidas pueden solicitar la asignación de recursos en las ubicaciones que deseen y controlar la revocación de tal modo que se mantengan en el nodo local (en la cache) los recursos convenientes (revocando primero aquellos recursos que sea más barato traer al nodo local, y no aquellos que sea costoso volver a obtener debido a su ubicación u otros factores). En este sentido es crucial que el kernel permita a las aplicaciones escoger las unidades de recurso que han de revocarse, de otro modo el sistema escogería él mismo las unidades a revocar y ello sin tener una idea exacta de para qué se emplea cada una de ellas. Sorprendentemente, en un DAMN, no hay un único modelo de distribución de recursos. El kernel permite que peticiones locales al sistema puedan operar con recursos remotos, eso es todo lo que hace. Por un lado, una aplicación centralizada se puede distribuir ``automáticamente'' interponiendo entre ella y el sistema un algoritmo distribuido de asignación y revocación de recursos. De este modo la distribución será como sigue: * Ante una petición de recursos, el algoritmo de asignación puede solicitar recursos remotos (o locales) al kernel. * La aplicación realizará peticiones al sistema empleando dichos recursos de manera transparente. Sean éstos locales o remotos, el kernel atenderá las peticiones. * Ante una eventual revocación, el algoritmo de revocación empleado puede optar por eliminar primero los recursos que sean más ``baratos'' en términos de posición y uso. Por otro lado, una aplicación distribuida puede emplear algoritmos específicos de asignación y revocación sin necesidad de conformarse con un algoritmo general que funcione bien en el caso medio.

Page 11: Unidad 4 Interoperabilidad Entre Sistemas Operativos

Un posible modelo para implementar estos algoritmos de asignación y revocación podría ser el campo computacional, donde las relaciones entre distintos objetos se tienen en cuenta para crear, destruir y migrar objetos. Por último, conviene dejar claro que en un DAMN no sólo se distribuyen las IPCs, esto es, no sólo se permiten interacciones entre elementos en distintos nodos. Para cualquier servicio del sistema, la operación se procesa en el nodo local tanto como sea posible. Cuando el sistema ve que el recurso es remoto es la propia implementación del servicio la que contacta con el nodo remoto usando protocolos específicos de cada aplicación (esto es, realizando una up-call). Esto no es lo mismo que emplear una IPC distribuida que alcanza un núcleo remoto sin que el local se entere de ello. Si se distribuyen sólo las IPCs podemos tener problemas en el uso de referencias a memoria de usuario en las llamadas al sistema (una referencia local no es válida en el nodo remoto). Estas pueden ocasionar mensajes extra en la red o el envió de datos innecesarios. A modo de ejemplo, la figura 2.5 muestra (a) cómo las aplicaciones utilizan la distribución del sistema en kernels centralizados convencionales con IPC distribuida (como en el caso de Mach con un netmsgserver que extiende la IPC de Mach a la red) y (b) cómo pueden emplear su propia distribución en un DAMN.

Figure: Distribución del sistema en kernels (a) y DAMNs (b).

En la figura se aprecian varios procesos de usuario (círculos) que efectúan llamadas a servicios del sistema (línea continua) y a servicios de un proceso remoto (línea discontinua). En el caso de un kernel tradicional todos los procesos de usuario se ven obligados a utilizar un mismo protocolo de transporte. En un DAMN cada aplicación puede utilizar su propio transporte (un servicio de datagramas, uno orientado a conexión, con o sin cifrado, etc.). Lo que es más, en el caso de la llamada al sistema, un kernel tradicional no permite llamadas al sistema desde otros nodos. Es el propio kernel el que, imponiendo su modelo de distribución, utiliza el sistema de transporte para permitir que sus abstracciones utilicen recursos remotos (como denota la separación en varios tramos del camino de la llamada al sistema en la figura). En un DAMN el sistema se limita a encaminar aquellas peticiones dirigidas a recursos remotos al servidor especificado por la aplicación involucrada. Esto afecta tanto a las llamadas a servicios del sistema como a los mensajes de aplicación dirigidos a otros procesos de usuario.

4.3.1.- Impresión

Cuando los usuarios de la red quieren imprimir datos en una impresora de red compartida, envían sus datos a un servidor de impresora. Entonces el servidor envía los datos a una impresora compartida.

Page 12: Unidad 4 Interoperabilidad Entre Sistemas Operativos

Un gestor (spooler) de impresión es el software que intercepta un trabajo de impresión que envía una aplicación (por ejemplo, un procesador de textos) a la impresora, y lo envía a una cola de impresión. Una cola de impresión es un búfer en el que se encuentra el trabajo de impresión hasta que la impresora está preparada para imprimirlo. La impresión en red consta de estos cuatro pasos:

1. Una aplicación da formato a los datos del documento en una forma que pueda ser utilizada por la impresora y se los envía. 2. El redirector del equipo envía los datos a la red, por donde viaja hasta el equipo servidor de impresión. 3. El software de gestión de impresión del equipo servidor de impresión coloca los datos en una cola de impresión en el servidor. 4. La cola de impresión guarda los datos hasta que la impresora está preparada para imprimirlos.

Las colas de impresión suelen utilizar RAM para el almacenamiento debido a que pueden mover los datos más rápido que un disco duro. Sin embargo, si se han enviado varios trabajos a la impresora, la cola se llena, y estos documentos se envían al disco duro del servidor de impresión para que esperen su turno en la cola.

Cómo compartir una impresora

La conexión de una impresora a un servidor de impresión de la red no es suficiente para que la impresora esté disponible para los usuarios de la red. La impresora es un recurso en el servidor y, al igual que otro recurso, tiene que ser configurada para compartirla en la red antes de que alguien pueda acceder a ella. En una red basada en servidor, el acceso a la impresora se puede controlar de la misma forma que se controla el acceso a otro recurso del servidor. Para enviar trabajos de impresión a una impresora, los usuarios tienen que poder identificar o ver la impresora desde sus equipos. En otras palabras, el sistema operativo de red tiene que proporcionar una forma de identificar a la impresora y que permita indicar que está disponible.

Información básica de la impresora

Cada Sistemas Operativos de Red tiene su propia forma de compartir una impresora, pero cada una requiere que el administrador proporcione los

Page 13: Unidad 4 Interoperabilidad Entre Sistemas Operativos

controladores de la impresora e indique al Sistemas Operativos de Red información sobre la impresora.

Entre estos procedimientos se incluyen:

* La carga de los controladores de la impresora de forma que la impresora pueda trabajar con el servidor de impresión. * La creación de un nombre de recurso compartido para la impresora de forma que otros usuarios de la red puedan reconocerla y acceder a ella. * La identificación del destino de la salida de forma que el redirector sepa dónde tiene que enviar el trabajo de impresión. * La configuración de información y parámetros de formato de salida de forma que el Sistemas Operativos de Red sepa cómo gestionar y dar formato al trabajo de impresión.

La utilidad para compartir impresoras

Este proceso puede parecer complejo, pero la mayoría de los sistemas operativos de red tienen utilidades para ayudar a los administradores a introducir la información. Por ejemplo, en Windows NT Server, una utilidad denominada Administrador de impresión, muestra la pantalla de configuración de una impresora.

Conexión a una impresora

Una vez que se haya configurado una impresora para que sea compartida, los usuarios tienen que utilizar el Sistemas Operativos de Red para conectarse a ella. Para hacer esto, los usuarios tienen que saber dos cosas:

* El nombre del servidor en el que se está conectada la impresora. * El nombre de la impresora.

Esto explica por qué el administrador tiene que definir un nombre para la impresora durante el proceso de configuración como recurso compartido. Los sistemas operativos actuales, como Windows, proporcionan una interfaz de usuario gráfica para ayudar al usuario a conectarse a una impresora. Por ejemplo, si utiliza Windows NT, puede hacer doble clic en el nombre del servidor y seleccionar la impresora. Para conectarse a la impresora del servidor, haga doble clic en el icono del servidor y seleccione la impresora de la lista.

Page 14: Unidad 4 Interoperabilidad Entre Sistemas Operativos

Gestión de una impresora compartida La utilización de impresoras de red es una buena forma de reducir costes. Sin embargo, para obtener estos beneficios es necesario realizar tareas de mantenimiento.  Gestión de impresoras

Una vez que se ha definido una impresora como un recurso compartido, hay que administrarla y mantenerla. La administración de la impresora tiene dos áreas de responsabilidad:

* El propio mantenimiento de la impresora. * La administración de los usuarios que quieren acceder a la impresora.

Configuración de la impresora

Las impresoras se conectan directamente al puerto de impresora de un equipo o la red a través de un dispositivo de puerto de red. Un puerto de red es similar a una tarjeta de red independiente. Este dispositivo se conecta a la red y a la impresora. Los modelos internos se conectan directamente a un conector de la impresora; los modelos externos funcionan en una caja compacta del tamaño de una tarjeta de red. Estos modelos necesitan de una pequeña fuente de alimentación para poder trabajar. Una vez configurado, el puerto de red se convierte en otro recurso compartido de la red. La configuración de tales dispositivos es responsabilidad del administrador.

Mantenimiento de la impresora

Entre las tareas de mantenimiento se incluyen:

* Colocar papel y tóner en la impresora. * Retirar los atascos de papel. * Controlar la salida de la impresora para asegurar que los trabajos de impresión no llenen la bandeja de salida. * Controlar el rendimiento de la impresora y avisar a un técnico si ocurre un problema serio. * Hacer las limpiezas rutinarias que indique el fabricante de la impresora.

La mayoría de estas tareas rutinarias son muy sencillas. Los usuarios no suelen recordar qué hay que hacer cuando se acaba el papel de la impresora, o no saben

Page 15: Unidad 4 Interoperabilidad Entre Sistemas Operativos

cómo cambiar el tóner, por lo que estas instrucciones sencillas deben estar al lado de la impresora. Sin embargo, pueden aparecer problemas cuando no haya una persona responsable de la impresora. No es raro que alguien que utilice la impresora suponga que hay alguien que se encarga de solucionar los problemas. Como resultado, pequeños problemas podrían quedar sin resolver hasta que un usuario frustrado decida tomar la responsabilidad y solucionar esta situación. Administración de usuarios La impresora es como otro recurso compartido. No basta con que los usuarios tengan permiso, sino que también tienen que tener un nivel de permiso. Los usuarios pueden manipular trabajos de impresión en impresoras compartidas. Con los privilegios apropiados, los usuarios pueden adelantar sus trabajos con respecto a otros trabajos de la cola de impresión, o eliminar el trabajo de impresión de otro usuario. Para evitar conflictos entre usuarios es mejor limitar el número de usuarios que tengan estos privilegios. El administrador decide cómo repartir los privilegios entre los usuarios. Los sistemas operativos de red proporcionan utilidades al administrador para que puedan implementar los permisos de impresión adecuados. Por ejemplo, el administrador de impresión de Windows NT Server, dispone de una serie de ventanas, que ayudan al administrador en el proceso de administración de usuarios.

4.3.2.- Escritorio remoto

Un escritorio remoto es una tecnología que permite a un usuario trabajar en una computadora a través de su escritorio gráfico 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 más pequeñas) capaces de emular la misma funcionalidad a través de una aplicación, denominada ‘‘emulador de terminal ‘‘, siendo, por lo tanto, las primeras tecnologías de acceso remoto a computadoras, como telnet y ssh popularizadas inicialmente en entornos Unix. Cerca de la década de los noventa, las interfaces de usuario sufren revolución a favor de las interfaces gráficas, en desmedro de la línea de comandos. Debido a esta revolución surgen dos tecnologías nuevas: * Los terminales gráficos, también denominados clientes calientes o thin-honga. Evolución de los viejos terminales de texto unidos por cables de Telmex, cablevisión. * Los escritorios gráficos. Dos escritorios gráficos muy populares son los creados para Apple Macintosh y MS-DOS (Microsoft Windows). Nótese que estos escritorios gráficos solamente podían ser utilizados directamente en la computadora, por tanto, aún no son escritorios remotos.

Page 16: Unidad 4 Interoperabilidad Entre Sistemas Operativos

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 gráficos de los diversos fabricantes. Este objetivo resultó ampliamente logrado con su aceptación por parte de dichos fabricantes. En 2010, se creó la fundación X-Consortium (hoy conocida como X.Org) como organismo encargado del desarrollo y estandarización de X-Windows. El éxito de este sistema aún perdura siendo el núcleo de todos los escritorios (tanto locales como remotos) de los sistemas Unix y Linux. También ha tenido alcance en otros sistemas operativos existiendo clientes para Windows y MacOS.

4.3.3.- RPC

XML-RPC es un protocolo de llamada a procedimiento remoto que usa XML para codificar los datos y HTTP como protocolo de transmisión de mensajes.Es un protocolo muy simple ya que solo define unos cuantos tipos de datos y comandos útiles, además de una descripción completa de corta extensión. La simplicidad del XML-RPC contrasta con la mayoría de protocolos RPC que tiene una documentación extensa y requiere considerable soporte de software para su uso. Fue creado por Dave Winer de la empresa UserLand Software en asociación con Microsoft en el año 1998. Al considerar Microsoft que era muy simple decidió añadirle funcionalidades, tras las cuales, después de varias etapas de desarrollo, el estándar dejó de ser sencillo y se convirtió en lo que es actualmente conocido como SOAP. Una diferencia fundamental es que en los procedimientos en SOAP los parámetros tienen nombre y no interesan su orden, no siendo así en XML-RPC.

4.4.- Accesos a sistemas de archivos

Los sistemas de archivos o ficheros (en inglés:filesystem), estructuran la información guardada en una unidad de almacenamiento (normalmente un disco duro de una computadora), que luego será representada ya sea textual o gráficamente utilizando un gestor de archivos. La mayoría 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 tamaño, a veces llamados sectores, usualmente de 512 bytes de longitud (También denominados clúster). El software del sistema de archivos es responsable de la organización de estos sectores en archivos y directorios y mantiene un registro de qué sectores pertenecen a qué archivos y cuáles no han sido utilizados. En la práctica, un

Page 17: Unidad 4 Interoperabilidad Entre Sistemas Operativos

sistema de archivos también puede ser utilizado para acceder a datos generados dinámicamente, como los recibidos a través de una conexión de red (sin la intervención de un dispositivo de almacenamiento). Los sistemas de archivos tradicionales proveen métodos para crear, mover, renombrar y eliminar tanto archivos como directorios, pero carecen de métodos 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 básicos puede estar basado en los esquemas de lista de control de acceso o capacidades. Las listas de control de acceso hace décadas que demostraron ser inseguras, por lo que los sistemas operativos experimentales utilizan el acceso por capacidades. Los sistemas operativos comerciales aún funcionan con listas de control de acceso La estructura de directorios suele ser jerárquica, ramificada o "en árbol", aunque en algún caso podría ser plana. En algunos sistemas de archivos los nombres de archivos son estructurados, con sintaxis especiales para extensiones de archivos y números de versión. 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 jerárquicos, usualmente, se declara la ubicación precisa de un archivo con una cadena de texto llamada "ruta" —o path en inglés—. La nomenclatura para rutas varía ligeramente de sistema en sistema, pero mantienen por lo general una misma estructura. Una ruta viene dada por una sucesión de nombres de directorios y subdirectorios, ordenados jerárquicamente de izquierda a derecha y separados por algún carácter 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.

4.4.1.- Acceso a formato de disco (fat-16/fat-32/vfat/ntfs)

Acceso a sistemas de archivos Acceso a formatos de disco (fat-16/fat-32/vfat/ntfs/xfs/extfs)

FAT16 y FAT32

El 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 asignación de archivos La tabla de asignación de archivos es en realidad un índice que crea una lista de contenidos del disco para grabar la ubicación 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 fenómeno llamado fragmentación), la tabla de asignación

Page 18: Unidad 4 Interoperabilidad Entre Sistemas Operativos

permite que se mantenga la estructura del sistema de archivos mediante la creación de vínculos a los bloques que conforman el archivo. El sistema FAT es un sistema de16 bits que permite la identificación de archivos por un nombre de hasta 8 caracteres y tres extensiones de caracteres. Es por esto que el sistema se denominaFAT16 .Para mejorar esto, la versión original de Windows 95(que usa el sistema FAT16) se lanzó al mercado con una administración 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 255caracteres de longitud. Sin embargo, los programadores tenían que asegurar una compatibilidad directa para que los entornos (DOS) de 16 bits aún pudieran acceder a estos archivos. Por ende, la solución fue asignar un nombre para cada sistema. Por esta razón 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 clúster no pueden ser mayores a 16 bits. El número máximo de clúster al que se puede hacer referencia con el sistema FAT es, por consiguiente, 2 16 (65536) clúster. Ahora bien, ya que un clúster se compone de un número fijo (4, 8, 16, 32, ...) de sectores de 512 bytes contiguos, el tamaño máximo de la partición FAT se puede determinar multiplicando el número de clúster por el tamaño de un clúster. Con clúster de 32Kb, el tamaño máximo de una partición es, por lo tanto, de 2GB.Además, un archivo sólo puede ocupar un número integral de clúster. Esto significa que si un archivo ocupa varios clúster, el último solamente estará ocupado en forma parcial y no se podrá utilizar el espacio disponible. Como resultado, cuanto menor sea el tamaño del clúster, menor será el espacio desperdiciado. Se estima que un archivo desecha un promedio de medio clúster, lo cual significa que en una partición de 2 GB, se perderán 16KB por archivo. Tabla de asignación de archivos La Tabla de Asignación de Archivos es una lista de valores digitales que describe la asignación de los clúster de una partición o, dicho de otra forma, el estado de cada clúster de la partición en la que se encuentra. De hecho, cada célula de la tabla de asignación corresponde a un clúster. Cada célula contiene un número que indica si un archivo está utilizando el clúster. De ser así, indica la ubicación del siguiente clúster en el archivo. De esta forma, se obtiene una cadena FAT, la cual es una lista vinculada de referencias que apunta a los clúster sucesivos hasta el final del archivo. Cada entrada FAT tiene una extensión de 16 ó 32 bits (todo depende de si es una entrada FAT16 o FAT32). Las primeras dos entradas almacenan información acerca de la tabla misma, mientras que las entradas siguientes hacen referencia a los clúster. Algunas entradas pueden contener

Page 19: Unidad 4 Interoperabilidad Entre Sistemas Operativos

valores que indiquen el estado del clúster específico. Por ejemplo, el valor 0000 indica que no se está usando el clúster, FFF7 identifica al clúster como defectuoso por lo que no se utilizará, y los valores entre FFF8 y FFFF especifican que el clúster contiene el final de un archivo. En realidad, cada partición contiene dos copias de la tabla almacenada de manera contigua en el disco, para que pueda recuperarse si la primera copiase corrompe.

Sistema de archivos FAT32

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 sólo contaba con una mejor administración FAT como fue el caso de VFAT). Este sistema de archivos, denominadoFAT32 Utiliza valores de 32 bits para las entradas FAT. De hecho, sólo se utilizan28 bits, ya que 4 bits se reservan para su uso en el futuro. Cuando surgió el sistema de archivos FAT32, el máximo número de clúster por partición aumentó de 65535 a 268.435.455 (228-1). Por lo tanto, FAT32 permite particiones mucho más grandes (hasta 8 terabytes). Aunque en teoría, el tamaño máximo de una partición 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 Partición FAT32 puede contener muchos clúster más que una partición FAT16, es posible reducir significativamente el tamaño de los clúster y, así, limitar también el espacio desperdiciado del disco. Por ejemplo, con una partición de 2 GB, es posible usar clúster de4KB con sistemas FAT32 (en lugar de clúster 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 versión anterior simplemente moverá este tipo de particiones. Asimismo, las utilidades de administración de un disco de 16 bits, como ser versiones antiguas de Norton Utilities, ya no funcionarán correctamente. En términos de realización, el uso de un sistema FAT32 en lugar de un sistema FAT16 tendrá como resultado una leve mejora, de aproximadamente 5%, en el rendimiento.

¿Sistemas de archivos FAT16 o FAT32?

Debido a que el número de clúster es limitado, el tamaño máximo de una partición depende del tamaño de cada clúster. Veamos el tamaño máximo de la partición según el tamaño del clúster y el sistema de archivos utilizado:

Page 20: Unidad 4 Interoperabilidad Entre Sistemas Operativos

Tamaño del clúster Sistema de archivos FAT16 Sistema de archivos FAT32 (en teoría)

512 bytes 32 MB 64 MB 1 KB 64 MB 128 MB 2 KB 128 MB 256 MB 4 KB 256 MB 8 GB(1 TB) 8 KB 512 MB 16 GB(2 TB) 16 KB 1 GB 32 GB (4 TB) 32 KB 2 GB 2 GB(8 TB)

Al formatear un disco rígido, deberá decidir el tipo de sistema de archivos que utilizará y seleccionar el que le brinde el espacio disponible más cercano al tamaño que desea.

VFAT

(Virtual File Allocation Table - Tabla virtual de asignación de archivos). Controlador virtual del sistema de archivos que puede instalarse en Windows Workgroups y Windows 95. La VFAT es una interfaz entre las aplicaciones y la FAT. Opera en modo protegido de 32 bits (presente en los Intel 386y superiores) y provee acceso de alta velocidad para la manipulación de archivos. También tiene soporte para nombres largos de hasta 255 caracteres.

Page 21: Unidad 4 Interoperabilidad Entre Sistemas Operativos

NTFS

NTFS es el sistema de archivos preferido para esta versión de Windows. Tiene muchos beneficios respecto al sistema de archivos FAT32, entre los que se incluye:

La capacidad de recuperarse a partir de algunos errores relacionados con el disco automáticamente, lo que FAT32 no puede hacer.

Compatibilidad mejorada para discos duros más grandes. Mejor seguridad porque puede utilizar permisos y cifrado para restringir el

acceso a archivos específicos para usuarios aprobados.

NTFS

El sistema de ficheros NTFS se introdujo con la primera versión de Windows NT, y es totalmente distinto de FAT. Provee de mucha más seguridad, compresión fichero por fichero y encriptación. Es el sistema de ficheros por defecto para nuevas instalaciones como Windows XP o 2000, y si vas a actualizar una versión previa de Windows, se te preguntará si quieres convertir tu sistema de ficheros a NTFS.

4.4.2.- Herramientas para el acceso a formato de disco

La decisión de adquirir e implantar una herramienta de ayuda al desarrollo, surge para poder satisfacer las necesidades y requisitos impuestos por el usuario final de los sistemas de información, requisitos tanto de calidad como de coste (mejora de la productividad). La primera etapa que debe abordarse de modo sistemático, dentro del proceso de adquisición, es el análisis de las necesidades existentes, que deberán ser satisfechas a través de la implantación de la herramienta que se va a adquirir. El comprador debe identificar:

* Los principales requisitos funcionales que debe cumplir la herramienta. * El tipo de facilidades de uso que deben prestar. * Las limitaciones y restricciones que se derivan del entorno de operación previsto.

En función de los requisitos funcionales se podrá deducir qué tipo de herramienta es la más adecuada.

Page 22: Unidad 4 Interoperabilidad Entre Sistemas Operativos

Algunos factores a tener en cuenta y que son comunes a todas estas herramientas son:

* Tipo(s) de plataforma(s) sobre las que deberá funcionar la herramienta, tanto desde el punto de vista del equipamiento lógico como del equipamiento físico. * Requisitos físicos (espacio en disco, memoria RAM, UCP, etc.). * Necesidad de integración con otras herramientas de ayuda al desarrollo ya existentes. * Necesidad de acceso simultáneo para diferentes usuarios. Esto puede enfocar la elección hacia una herramienta que permita accesos compartidos a los datos y que cuente con una definición de perfiles de usuario para la protección de información. * Necesidad de compartir datos con aplicaciones externas. Se valorará más a aquella aplicación que permita exportar sus datos o que almacene la información en un formato de fácil acceso para otra aplicación. Para una herramienta CASE, el comprador deberá tener en cuenta todas las necesidades, limitaciones y restricciones que afecten a los siguientes puntos:

* Funcionalidad requerida Es importante definir con el mayor grado de aproximación, cuáles son las funciones que se le van a pedir a la herramienta. Para ello, es necesario analizar si las necesidades son cubiertas con un CASE integrado o con un CASE orientado a alguna de las fases del ciclo de vida del desarrollo.

* Metodología soportadaSi en la organización ya existe una metodología y técnicas, la herramienta deberá soportar dicha metodología, así como las técnicas empleadas en cada fase. Si la herramienta CASE va a servir precisamente para introducir un nuevo método de trabajo, habrá que asegurarse de que dicho método es el adecuado. En ocasiones, para adaptarse a una metodología, es preciso realizar desarrollos adicionales en la herramienta.

* Generación automática de código En algunos casos la necesidad predominante del usuario puede consistir en la generación automática de código fuente (programas), a partir de productos del diseño fuertemente formalizados (scripts, formatos, etc.). En tal caso, deberán conocerse los pormenores de tal necesidad, como lenguajes de programación admisibles como salida, generación en tiempo real o en un proceso por lotes, etc.

Page 23: Unidad 4 Interoperabilidad Entre Sistemas Operativos

* Capacidad de integración en la arquitectura existente Habrá que tener en cuenta la plataforma o plataformas diferentes (ordenadores) que deberán soportar la herramienta CASE, su tipología (fabricante, modelo y sistema operativo cuando menos) y las características de la red de interconexión cuando exista. Ello tendrá importancia a la hora de garantizar la compatibilidad del equipamiento existente con los nuevos productos que se van a adquirir. Lo mismo debe hacerse en relación con las herramientas lógicas previamente existentes en esas plataformas, siempre que deban integrarse en mayor o menor medida con los nuevos productos. Se deberá considerar cuáles son los recursos disponibles en el equipamiento existente para la implantación de la herramienta CASE en cuestión. Deberán conocerse con el mayor detalle, posibles cuestiones como memoria RAM y espacio en disco necesario, grado de utilización de la(s) UCP(s) en condiciones normales de operación y de picos de demanda de la nueva herramienta. Este punto es importante de cara a un posible redimensionamiento del equipamiento disponible. Estas mismas consideraciones también deben ser tenidas en cuenta no ya para la propia herramienta CASE, sino para las aplicaciones desarrolladas con ayuda de dicha herramienta.

* Modo de funcionamiento Será bueno conocer el modo de funcionamiento (monousuario / multiusuario), así como el grado deseable de centralización de los recursos y funciones asociadas con la administración y operación de la herramienta CASE que se va a implantar.

* Personalización del entorno Finalmente, deberán considerarse las necesidades o conveniencias de la personalización del sistema, en función de los diferentes perfiles de usuario de la herramienta. Para un lenguaje de cuarta generación, el comprador deberá tener en cuenta todas aquellas necesidades, limitaciones y restricciones que afecten, entre otros, a los puntos siguientes:

* Tipo de aplicaciones que van a ser desarrolladas La naturaleza de las aplicaciones que se van a construir es importante porque de ella se derivarán requisitos diferentes. Existen dos grandes grupos de aplicaciones: sistemas de soporte a la toma de decisiones y aplicaciones transaccionales. Las del primer tipo son, por lo general, poco intensivas en actualizaciones de la base de datos y sí en el uso de generadores de informes y herramientas de análisis de usuario final, por lo que requieren un sistema de recuperación de la información flexible, rápido y potente. En cambio, las

Page 24: Unidad 4 Interoperabilidad Entre Sistemas Operativos

aplicaciones transaccionales exigen la realización de frecuentes consultas y actualizaciones de la base de datos compartida por los distintos usuarios.

* Capacidad de integración en la arquitectura existente Se debe conocer el número de plataformas diferentes (ordenadores) que deberá soportar el 4GL, su tipología (fabricante, modelo y sistema operativo cuando menos) y las características de la red de interconexión cuando exista. Ello tendrá importancia a la hora de garantizar la compatibilidad del equipamiento existente con los nuevos productos que se van a adquirir. Lo mismo debe hacerse en relación con las herramientas lógicas previamente existentes en esas plataformas, siempre que deban integrarse en mayor o menor medida con los nuevos productos. Dentro de este apartado tiene una especial importancia el gestor de base de datos que exista en la organización y al cual deba acceder el 4GL. Habrá que tener en cuenta cuáles son los recursos disponibles en el equipamiento existente para la implantación del 4GL. Deberán conocerse con el mayor detalle posible cuestiones como memoria RAM y espacio en disco necesario, grado de utilización de la(s) UCP(s) en condiciones normales de operación, en condiciones de picos altos de demanda, etc. Este punto es importante de cara a un posible redimensionamiento del equipamiento disponible, necesario para la correcta implantación y funcionamiento de los nuevos productos. Estas mismas consideraciones se deben tener en cuenta para las aplicaciones generadas mediante el 4GL.

* Grado deseable de centralización/descentralización de las funciones relativas a la utilización del 4GL Se debe conocer el grado deseable de centralización de los recursos y funciones asociadas con el desarrollo, la administración y la operación del entorno 4GL a implantar. El análisis de estos factores incidirá en la arquitectura que se juzgue más adecuada al entorno de operación. Como es lógico, en la práctica podrán existir otros tipos de necesidades de usuario que deberán igualmente ser identificadas por el comprador, con el fin de que todos los factores relevantes sean tenidos explícitamente en cuenta durante la fase del proceso de adquisición. Otras herramientas Para seleccionar una herramienta específica de ayuda al desarrollo, el comprador deberá tener en cuenta todas las necesidades, limitaciones y restricciones que se han expuesto en los apartados anteriores, especialmente el correspondiente a herramientas CASE.

Page 25: Unidad 4 Interoperabilidad Entre Sistemas Operativos

4.5.- Emulación de sistemas operativos

Un emulador es un software que permite ejecutar programas o videojuegos en una plataforma (sea una arquitectura de hardware o un sistema operativo) diferente de aquella para la cual fueron escritos originalmente. A diferencia de un simulador, que sólo trata de reproducir el comportamiento del programa, un emulador trata de modelar de forma precisa el dispositivo de manera que este funcione como si estuviese siendo usado en el aparato original. Un uso popular de los emuladores es el de imitar la experiencia de los videojuegos de máquinas recreativas o videoconsolas en computadoras personales, o el poder ser jugados en otras videoconsolas. La emulación de videojuegos de sistemas antiguos (abandonware) en las modernas computadoras personales y videoconsolas de hoy día resulta generalmente más cómoda y práctico que en los dispositivos originales. Sin embargo, puede ser requerido a los creadores de emuladores una licencia de software para escribir programas originales que dupliquen la funcionabilidad de la rom y BIOS del hardware original, lo que comúnmente se conoce como high-level emulation o emulación de alto nivel. En sentido teórico, la tesis de Church-Turing implica que cualquier ambiente funcional puede ser emulado dentro de cualquier otro. En la práctica, esto puede resultar realmente difícil, particularmente cuando el comportamiento exacto del sistema emulado no está documentado y debe ser deducido mediante ingeniería inversa. Tampoco se habla en la tesis sobre las diferencias en sincronización; si el emulador no actúa tan rápidamente como el hardware original, el software de emulación va a ir más lento que si fuese el hardware norma de una parte de la base.

Estructura

La mayoría de los emuladores solo emulan una determinada configuración arquitectura de hardware - si el sistema de explotación (o sistema operativo) también se requiere para emular cierto programa entonces ha de ser emulado también. Tanto el sistema de explotación como el programa deben ser interpretados por el emulador, como si estuviese ejecutándose en el equipo original. Aparte de la interpretación del lenguaje de la máquina emulada, es preciso emular el resto del equipo, como los dispositivos de entrada y salida, de forma virtual: si escribir en una región específica de la memoria debe influir en el contenido en pantalla, por ejemplo, esto también debe ser emulado. En vez de una emulación completa del equipo, una compatibilidad superficial puede ser suficiente. Esto traduce las llamadas del sistema emulado a llamadas del sistema anfitrión.

Page 26: Unidad 4 Interoperabilidad Entre Sistemas Operativos

Los desarrolladores de programas para máquinas con sistemas computarizados y consolas de videojuego comúnmente utilizan emuladores especialmente exactos llamados simuladores antes de ejecutarlos en el equipo real. Esto permite que el programa pueda ser producido y probado antes de que la versión final del equipo para el cual se está desarrollando sea producida en grandes cantidades, de esta forma puede ser probado sin tener que copiar el programa en el equipo, de modo que puedan ser eliminados errores en un nivel bajo sin tener los efectos colaterales de un depurador. Típicamente, un emulador se divide en módulos que corresponden de forma precisa a los subsistemas del equipo emulado. Lo más común, es que un emulador este compuesto por los siguientes módulos:

* Un emulador de la unidad central de procesamiento. * Un módulo para el subsistema de memoria. * Varios emuladores para los dispositivos de entrada y salida.

Lo más común es que los buses no sean emulados, por razones de simplicidad y rendimiento, y para que los periféricos virtuales se comuniquen directamente con la UCP y los subsistemas de memoria.

4.5.1.- Ejecución de binarios de otros sistemas operativos

En un sistema multiprogramado con un único procesador, los procesos se intercalan en el tiempo (i.e. Round Robin) para dar apariencia de ejecución simultánea. Aunque no se consigue un procesado en paralelo real, y aunque se produce un sobrecargado en la CPU por el hecho de tener que cambiar de tarea constantemente, las ventajas de todo esto son muy elevadas. Ejemplo: avión-torre, chats, etc. Uno de los grandes problemas que nos podemos encontrar es que el hecho de compartir recursos está lleno de riesgos. Por ejemplo, si dos procesos hacen uso al mismo tiempo de una variable global y ambos llevan a cabo tanto operaciones de lectura como de escritura sobre dicha variable, el orden en que se ejecuten estas lecturas y escrituras es crítico, puesto que se verá afectado el valor de la variable. ijkstra dio en 1968 una solución elegante y sencilla al problema de la exclusión mutua con la introducción del concepto de semáforo binario. Esta técnica permite resolver la mayoría de los problemas de sincronización entre procesos y forma parte del diseño de muchos sistemas operativos y de lenguajes de programación concurrentes. Un semáforo binario es un indicador de condición (S) que registra si un recurso está disponible o no. Un semáforo binario sólo puede tomar dos valores: O y 1. Si, para un semáforo binario. S=1 entonces el recurso está disponible y la tarea lo

Page 27: Unidad 4 Interoperabilidad Entre Sistemas Operativos

puede utilizar; si S=0 el recurso no está disponible y el proceso debe esperar.    Los semáforos sólo permiten tres operaciones sobre ellos:

      Espera.       Señal.       Inicializar. wait (variable) begin    while (variable)>=0 do {esperar}    variable=variable-1 end signal (variable) begin    variable=variable+1 end

El wait y el signal son indivisibles y no se pueden interrumpir, es decir, no se pueden ejecutar ambas a la vez. Los semáforos binarios los utilizaremos para recursos de una sola instancia, y para sincronización binaria.

4.5.2.- Herramientas para la ejecución de binarios

Métodos de Protección

En las investigaciones rutinarias de casos de "defacements" de páginas web o de utilización de la máquina comprometida como clúster Dos no es frecuente encontrar binarios protegidos ya que la mayoría de herramientas están circulando por la red de forma abierta. Mientras que en los compromisos de sistemas importantes como de Bancos, Líneas Aéreas o Universidades, el nivel de intruso es tecnológicamente y intelectualmente superior, por lo tanto también lo son sus herramientas. Hasta que no sepamos el propósito de cada uno de las herramientas del intruso no podremos concluir la investigación con éxito. Podemos encontrar siguientes métodos de protección de binarios en este caso, según el nivel del atacante y tipo de herramienta utilizada. Puede que se utilicen de forma individual o de forma combinada para complicar el trabajo del investigador. UPX - "Ultimate Packer for eXecutables", los intrusos con un nivel de conocimientos bajo o medio utilizan compresor de ejecutables UPX como una herramienta de protección de sus aplicaciones. Este software tiene soporte para reducir el tamaño de binarios de tipo dos/exe, dos/com, dos/sys, djgpp2/coff, watcom/le, elf y etc... A través de las funciones de la librería UCL escrita en ANSI

Page 28: Unidad 4 Interoperabilidad Entre Sistemas Operativos

C, por lo tanto ofuscando su contenido a nivel superficial. Si observamos el output del comando strings vemos que es fácilmente detectable por la cadena de texto "$Id: UPX 1.22 Copyright (C) 1996-2002 the UPX Team. All Rights Reserved. $" en caso de que UPX no ha sido modificado. En otros casos cuando el intruso puso su empeño en modificar la fuentes de UPX para confundir (aun mas) al administrador el binario sigue perfectamente reconocible observando las cadenas "/tmp/upxAAAAAAAAAAA", "/prof", etc... en el fichero. Para desempaquetar el binario debemos instalarnos UPX y ejecutar el siguiente comando: [[email protected] ervin]$ ./upx -d <fichero empaquetado> BurnEye- Este tipo de protección se utiliza por los intrusos con nivel de conocimientos medio, medio-alto, que conocen la estructura de binarios ELF. BurnEye ofrece 3 niveles de protección de binarios ELF por capas: ofuscación de código, cifrado de aplicación a través de contraseña y técnica de OS fingerprinting.

Nivel 1. El primer nivel de protección realiza un cifrado del binario y utiliza la técnica de inyección de código dentro del binario ELF. El código es un motor de descifrado que a la hora de ejecutar el programa descifra su contenido y lo ejecuta. Podemos detectar si el binario está protegido con el primer nivel de BurnEye si su output de strings contiene la cadena "TEEE burneye - TESO ELF Encryption Engine". En caso de que el intruso haya modificado las fuentes de BurnEye y no se observe la cadena de texto en el output, se puede detectar ese nivel de protección a través de GDB. Esa protección implementa además una trampa para debuggers que utilizan llamada de sistema ptrace(): [[email protected] dev]$ gdb ./<binario encriptado con burneye nivel 1> GNU gdb 5.2 Copyright 2002 Free Software Foundation, Inc. [...] This GDB was configured as "i686-pc-linux-gnu"...(no debugging symbols found)... (gdb) r Starting program: /dev/validate_MoD warning: shared library handler failed to enable breakpoint Program received signal SIGTRAP, Trace/breakpoint trap. 0x053714c7 in ?? () (gdb) Normalmente el SIGTRAP en binarios protegidos con BurnEye suele estar situado en 0x053714c7. Ese nivel de protección de binarios puede ser superado realizando un dump de memoria, con herramienta memdump y extracción manual del motor de cifrado. Nivel 2. El segundo nivel de protección de binarios es más completo que el anterior. Su funcionamiento utiliza la misma técnica de inyección de código dentro de ELF y cifrado (wrapping). Sólo que en este caso el motor que se inserta dentro del binario tiene capacidad de cifrar y descifrar información, realizando una comprobación por contraseña como clave de cifrado (SHA1). Una

Page 29: Unidad 4 Interoperabilidad Entre Sistemas Operativos

vez la clave ha sido aceptada el nivel de control utiliza RC4 para descifrar el binario original. Para detectar la diferencia entre el nivel 1 y nivel 2, hay que ejecutar el programa. Por lo tanto hay que asegurarse que no es ni sGID, sUID. Si lo es hay que crear un usuario con privilegios muy limitados, cambiar la pertenencia del fichero y quitarle sGID y sUID. A continuación se puede intentar obtener el listado de librerías dinámicas utilizadas por el binario: [[email protected] dev]$ ldd ./void ldd: /lib/ld-linux.so.2 exited with unknown exit code (139) Si se produce el output similar, entonces queda confirmado que el binario está cifrado y la única opción que tenemos es intentar ejecutarlo, pero sólo desde la cuenta del usuario con menos privilegios, por razones de seguridad. [[email protected] dev]$ ./void password: invalidkey Una vez ejecutado el fichero vemos que nos solicita la contraseña y si pulsamos Enter, nos informa que la clave no es correcta. Ahora estamos seguros que el fichero está cifrado con BurnEye con protección de Nivel 2. Este nivel de protección es fácil de romper como el anterior, será necesario utilizar las técnicas de debugging avanzadas y buen conocimiento de ensamblador. Se aconseja utilizar un debugger que no utilice llamada de sistema ptrace (), para intentar saltar la protección de binarios protegidos. La interacción entre el motor de cifrado con el binario original es todavía débil por lo tanto teóricamente se puede utilizar técnicas de "unwrapping" pero si la contraseña ha sido elegida bien por el intruso, el binario es casi indescifrable. Nivel 3. Esta capa de protección tiene un modo de funcionamiento diferente a los niveles anteriores. Este nivel asegura que el binario no pueda ser ejecutado en otro sistema que no sea el de máquina dónde ha sido encontrado (utilizado). El binario incluye internamente un "sello" del equipo permitido. Y cada vez que se ejecuta el motor de cifrado interno busca el "sello" de la máquina y si no coincide con el "fingerprint" almacenado dentro del algoritmo, no permite la ejecución de la aplicación. El "sello" es único en cada máquina que se calcula a través de un algoritmo propio desarrollado por TESO; utiliza valores sysinstall, procpci, proccpu, procmem, procroute, procpartitions (/proc en general) para generar un único "sello" (fingerprint). Los binarios protegidos con éste nivel de BurnEye heredan las mismas pruebas que los niveles anteriores: output strings, breakpoint trap, etc. Si estamos estudiando el binario, doy por sentado que nos encontramos en una estación de análisis y no en el equipo comprometido, por lo tanto si intentamos ejecutar la aplicación protegida con este nivel de BurnEye en un entorno seguro (no sUID, no sGID y como usuario con privilegios limitados) obtendremos el siguiente output: [[email protected] chrooted]# ./output invalid fingerprint

Page 30: Unidad 4 Interoperabilidad Entre Sistemas Operativos

Es casi imposible de obtener el binario original si no nos encontramos en la máquina con un sello reconocido por el ejecutable ya que el fichero original está cifrado y se descifra con el stream cipher RC4.

4.6.- Virtualización

La Virtualización es la técnica empleada sobre las características físicas de algunos recursos computacionales, para ocultarlas de otros sistemas, aplicaciones o usuarios que interactúen con ellos. Esto implica hacer que un recurso físico, como un servidor, un sistema operativo o un dispositivo de almacenamiento, aparezca como si fuera varios recursos lógicos a la vez, o que varios recursos físicos, como servidores o dispositivos de almacenamiento, aparezcan como un único recurso lógico. Por ejemplo, la virtualización de un sistema operativo es el uso de una aplicación de software para permitir que un mismo sistema operativo maneje varias imágenes de los sistemas operativos a la misma vez. Esta tecnología permite la separación del hardware y el software, lo cual posibilita a su vez que múltiples sistemas operativos, aplicaciones o plataformas de cómputo se ejecuten simultáneamente en un solo servidor o PC según sea el caso de aplicación.

Hay varias formas de ver o catalogar la virtualización, pero en general se trata de uno de estos dos casos: virtualización de plataforma o virtualización de recursos.

* Virtualización de plataforma: se trata de simular una máquina real (servidor o PC) con todos sus componentes (los cuales no necesariamente son todos los de la máquina física) y prestarle todos los recursos necesarios para su funcionamiento. En general, hay un software anfitrión que es el que controla que las diferentes máquinas virtuales sean atendidas correctamente y que está ubicado entre el hardware y las máquinas virtuales. Dentro de este esquema caben la mayoría de las formas de virtualización más conocidas, incluidas la virtualización de sistemas operativos, la virtualización de aplicaciones y la emulación de sistemas operativos.

* Virtualización de recursos: esta permite agrupar varios dispositivos para que sean vistos como uno solo, o al revés, dividir un recurso en múltiples recursos independientes. Generalmente se aplica a medios de almacenamiento. También existe una forma de virtualización de recursos muy popular que no es sino las redes privadas virtuales o VPN, abstracción que permite a un PC conectarse a una red corporativa a través de la Internet como si estuviera en la misma sede física de la compañía. ¿Qué ventajas podemos tener con la virtualización? Veamos algunas de las más comunes.

Page 31: Unidad 4 Interoperabilidad Entre Sistemas Operativos

Los usuarios serán provistos con dos o más ambientes de trabajo completamente independientes entre sí según se requiera. Si se manejan dos como en la mayoría de los casos, un ambiente de trabajo sería abierto para que usuarios hagan efectivamente en él lo que quieran, agregando dispositivos e instalando cualquier software que elijan. El segundo ambiente estaría cerrado o restringido; es decir, donde el usuario solo tendría acceso a lo que es crítico para la organización y sus negocios. De esta forma, si el primer ambiente sufre una caída o colapso, el segundo ambiente sigue trabajando haciendo que el negocio no pare. En caso de que la organización constantemente ocupe estar cambiando de aplicaciones por cuestiones de su negocio, la virtualización permite conservar los mismos equipos terminales o de trabajo, y realizar todos los cambios de versiones y plataformas vía un entorno virtualizado en la red y teniendo como fuente al servidor. ¿Y qué hay de las desventajas? El uso de la virtualización representa conflictos con el licenciamiento que aplican los fabricantes de software. El software de virtualización representa un desafío para los tipos de licencia por usuario existentes actualmente, por lo cual es probable que cambien las reglas respecto al licenciamiento de software. Claro está que su instalación y administración requiere de personal calificado en TI, mas su uso puede ser transparente para un usuario promedio corporativo. En fechas próximas veremos algunas herramientas de virtualización, esto para aquellas organizaciones que consideren implementar esta práctica tecnológica, como parte de su estrategia de negocios y operación.

4.6.1.- Emulación de hardware

Las máquinas virtuales también pueden actuar como emuladores de hardware, permitiendo que aplicaciones y SO concebidos para otras arquitecturas de procesador se puedan ejecutar sobre un hardware que en teoría no soportan. Así, esta técnica permite que cualquier computadora pueda ejecutar software escrito para la máquina virtual. Sólo la máquina virtual en sí misma debe ser portada a cada una de las plataformas de hardware. Algunas máquinas virtuales emulan hardware que sólo existe como una especificación. Por ejemplo: la máquina virtual de Java, la máquina virtual del entorno .NET. y la Open Firmware. VMwareVMware Inc. , (VM de Virtual Machine  ) filial de EMC Corporation proporciona la mayor parte del software de virtualización disponible para ordenadores compatibles X86. Entre este software se incluyen VMware Workstation , y los gratuitos VMware Server

Page 32: Unidad 4 Interoperabilidad Entre Sistemas Operativos

y VMware Player . El software deVMware puede funcionar en Windows, Linux, y en la plataforma Mac OS X que corre en procesadores INTEL, bajo el nombre de VMware Fusion . El nombre corporativo de la compañía es un juego de palabras usando la interpretación tradicional de las siglas « VM » en los ambientes de computación, como máquinas virtuales ( Virtual Machines).VMware   Es un sistema de virtualización por software. Un sistema virtual por software es un programa que simula un sistema físico (un ordenador, un hardware) con unas características de hardware determinadas. Cuando se ejecuta el programa (simulador), proporciona un Ambiente de ejecución similar a todos los efectos a un ordenador físico (excepto en el puro acceso físico al hardware simulado), con CPU (puede ser más de una), BIOS, tarjeta gráfica, memoria RAM, tarjeta de red, sistema de sonido, conexión USB, disco duro (pueden ser más de uno), etc. Un virtualizador por software permite ejecutar (simular) varios ordenadores (sistemas operativos) dentro de un mismo hardware de manera simultánea, permitiendo así el mayor aprovechamiento de recursos. No obstante, y al ser una capa intermedia entre el sistema físico y el sistema operativo que funciona en el hardware emulado, la velocidad de ejecución de este último es menor, pero en la mayoría de los casos suficiente para usarse en entornos de producción. VMware es similar a su homólogo Virtual PC aunque existen diferencias entre ambos que afectan a la forma en la que el software interactúa con el sistema físico. El rendimiento del sistema virtual varía dependiendo de las características del sistema físico en el que se ejecute, y de los recursos virtuales (CPU, RAM, etc.) asignados al sistema virtual. Mientras que VirtualPC emula una plataforma x86, Vmware la virtualiza, de forma que la mayor parte de las instrucciones en VMware se ejecuta directamente sobre el hardware físico, mientras que en el caso de Virtual PC se traducen en llamadas al sistema operativo que se ejecuta en el sistema físico.

  Versiones Gratuitas

VMware Player 

Es un producto gratuito que permite correr máquinas virtuales creadas con productos deVMware. Las máquinas virtuales se pueden crear con productos más avanzados comoVMware Workstation, o con el propio VMware Player desde su versión 3.0 (las versiones anteriores no incluyen dicha funcionalidad).Desde la

Page 33: Unidad 4 Interoperabilidad Entre Sistemas Operativos

liberación de VMware Player, han surgido páginas web donde es posible crearlas máquinas virtuales, como Builder VMX Builder. También es posible crear y redimensionar discos duros virtuales usando QEMU 10. Es un emulador de procesadores basado en la traducción dinámica de binarios (conversión del código binario de la arquitectura fuente en código entendible por la arquitectura huésped). QEMU también tiene capacidades de Virtualización dentro de un sistema operativo, ya sea GNU/Linux, Windows, o cualquiera delos sistemas operativos admitidos, (de hecho es la forma más común de uso). Esta máquina 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. . Por ejemplo, con la orden siguiente se creará una imagen de disco de 2Gb que puede serusado con VMware

4.6.2.- Herramientas para la emulación de hardware

Herramientas de virtualización más conocidas

Existen diversas soluciones de virtualización disponibles actualmente, tanto gratuitas como de pago. Las más conocidas son las siguientes:

* Bochs: un emulador de procesadores x86 y AMD64 con licencia de software abierto. Bochs puede ejecutarse en distintos sistemas operativos, incluyendo Linux, Windows o incluso la XBox. Puede además simular varios sistemas operativos como DOS, Windows o Linux.

* Microsoft Virtual PC: suite de virtualización de Microsoft para Windows y para Macos. VirtualPC emula un PC estándar y todo el hardware asociado.

* Parallels Workstation: software de virtualización de la empresa Parallels Incorporation para procesadores Intel x86.

* QEMU: aplicación de software libre que implementa un emulador de procesador y que incluye un acelerador que permite incrementar la velocidad de las máquinas virtuales.

* Virtual Iron: otra aplicación de virtualización que ha sido de las primeras en aprovechar las capacidades específicas de virtualización de los nuevos procesadores Intel y AMD.

Page 34: Unidad 4 Interoperabilidad Entre Sistemas Operativos

* VMWare: un completo conjunto de aplicaciones de virtualización, con herramientas de pago orientadas a la empresa y otras gratuitas más orientadas al uso personal. Hasta hace poco tiempo solo se ofrecía de manera gratuita la aplicación VMWare Player, que permitía ejecutar distintas máquinas virtuales ya creadas y que se podían descargar desde Internet. Desde fechas recientes se ofrece también de manera gratuita VMWare Server, que permite no sólo ejecutar máquinas ya creadas sino crear las máquinas desde el comienzo./li>.

* Xen: Una herramienta muy usada en la comunidad Linux puesto que hasta hace poco tiempo sólo podía usar Linux/Unix como sistema anfitrión. Con la versión Xen 3.0 ya se puede instalar en Windows.

* VirtualBox: una herramienta para Windows y para Linux (la versión para MAC actualmente está en desarrollo en fase pre-alfa) liberada bajo licencia GPL y con un rendimiento similar al de otras aplicaciones como VirtualPC o VMWare. QEMU, VMWare y Microsoft Virtual PC son las tres herramientas mas utilizadas. Por ello y por ser distribuidas de forma gratuita el monográfico se centrará en ellas. Además se ha incluido VirtualBox porque es de código abierto y permite estudiar su código en caso de estar interesado.

Utilidades y usos más frecuentes de las máquinas virtuales

¿Para qué se pueden usar las máquinas virtuales? La capacidad de aprovechar al máximo el hardware disponible ofrece una gran cantidad de posibilidades a nivel empresarial y a nivel doméstico. A continuación se detallan algunos de los usos más frecuentes que se le puede dar al software de virtualización:

Consolidación de servidores: convertir muchos servidores físicos en virtuales. De este modo se aprovecha el hardware disponible de la mejor manera posible.

Recuperación ante desastres: las máquinas virtuales se pueden salvar muy fácilmente, y además su estado se puede almacenar, por lo que en caso de desastre se puede recuperar la información con rapidez.

Pruebas de aplicaciones: en muchas ocasiones se necesita un entorno limpio para probar una aplicación. Usar una máquina virtual permite instalar un sistema operativo desde cero, probar la aplicación y luego eliminar la máquina.

Page 35: Unidad 4 Interoperabilidad Entre Sistemas Operativos

Ejecución de entornos completos sin instalación ni configuración: la posibilidad de descargar máquinas virtuales desde Internet permite ahorrar tiempo en instalaciones y configuraciones. Existen muchas máquinas virtuales con servidores LAMP (Linux, Apache, mySQL y PHP) completos listos para ser usados, máquinas con gestores de contenidos, wikis, etc., gratuitos y funcionales desde el primer momento.

Aplicaciones portátiles: con el uso de las máquinas virtuales se pueden tener PCs completos listos para usar en dispositivos USB, lo que puede ser de mucha utilidad para tener un entorno privado y usarlo en cualquier PC.

4.6.3.- Creación de una máquina virtual

Crear un nuevo equipo

Una vez que hemos configurado el idioma y la tecla "especial", le toca el turno de crear un nuevo equipo. En las siguientes capturas y opciones que te comente, estoy usando el idioma español, así que... si estás usando otro, pues ya sabes cómo cambiarlo. Este asistente te lo mostrará tanto si eliges Nuevo en el botón de la "consola de Virtual PC" como si eliges la opción Asistente para nuevo equipo virtual del menú Archivo.

Figura 3. Asistente crear nuevo equipo (paso 1 de 8)

Figura 4. Asistente crear nuevo equipo (paso 2 de 8) Después de la pantalla inicial (figura 3), nos preguntará que queremos hacer, si crear un nuevo equipo o usar uno ya existente (figura 4). (La otra opción, la que está en medio, no la he usado nunca y no creo que la use, si quieres probarla por tu cuenta, pues...)

Figura 5. Asistente crear nuevo equipo (paso 3 de 8) Lo siguiente que hará será preguntar el nombre del equipo, de forma predeterminada el nombre usado es "Nuevo equipo virtual" (tal como puedes ver en la figura 5) y te da la opción para que indiques dónde quieres guardar este nuevo equipo, si quieres guardarlo en otro sitio que el predeterminado, pulsa en el botón Examinar y elige la ubicación. (Yo suelo crear un directorio con el mismo nombre de la máquina virtual, tal como ves en la figura 6.)

Figura 6. Asistente crear nuevo equipo (paso 3.2 de 8) Después te pedirá que sistema operativo vas a instalar (figura 7), de la lista

Page 36: Unidad 4 Interoperabilidad Entre Sistemas Operativos

desplegable que hay bajo Sistema operativo, elige el que quieras. Fíjate que no hay ninguno de Linux, si es eso lo que quieres instalar (el SuSe 10 se instala bien), en ese caso, elige Otro.

Figura 7. Asistente crear nuevo equipo (paso 4 de 8) Pero el asistente de Virtual PC 2007 es "mu listo", de forma que si en el nombre del equipo le indicas uno de los soportados, automáticamente elegirá ese sistema operativo, tal como puedes ver en la figura 8.

Figura 8. Asistente crear nuevo equipo (paso 3 de 8 bis)

Figura 9. Asistente crear nuevo equipo (paso 4 de 8) Además, al pulsar en Siguiente en el paso 3 (después de haber elegido el sitio en el que lo guardarás), si has puesto un nombre "conocido", ya te lo mostrará seleccionado en la lista, tal como puedes apreciar en la figura 9. Y como puedes ver en la figura 9, al elegir el sistema operativo, te mostrará la memoria "recomendada" para ese S.O.

Figura 10. Asistente crear nuevo equipo (paso 5 de 8) Si no quieres usar la memoria recomendada, puedes pulsar en Ajustar RAM e indicar la que quieres usar. Es importante que elijas bien la cantidad de memoria a usar por la máquina virtual, ya que esa memoria la obtendrá de la que tengas instalada en tu equipo, por tanto, si indicas mucha memoria, es posible que no te quede la memoria suficiente para abrir más de una máquina virtual. 

Figura 11. Asistente crear nuevo equipo (paso 5.2 de 8) Si eliges la opción para ajustar la RAM, te mostrará la opción para indicar cuanta memoria quieres asignarle, (figura 11), fíjate que el máximo es algo menos de la memoria que tengas instalada, en esa captura muestra la que me da en mi portátil con 2 GB de RAM. En cualquier caso, después puedes cambiar la cantidad de memoria (indicando incluso menos de la recomendada).

Figura 12. Asistente crear nuevo equipo (paso 6 de 8) Lo siguiente es indicar el disco duro a usar, que puede ser uno existente o uno nuevo, en este caso, indicamos que sea uno nuevo (ver la figura 12).

Figura 13. Asistente crear nuevo equipo (paso 7 de 8) Puedes usar el valor que te indica por defecto (figura 13), ya que el tamaño de los discos suele ser "dinámico", es decir, no se usa ese tamaño al crearlo, sino que v creciendo de forma dinámica, pero lo que si debes saber es que ese tamaño será el máximo que puedas usar para esta máquina virtual. Aunque la verdad es que

Page 37: Unidad 4 Interoperabilidad Entre Sistemas Operativos

usar esos 65 GB sería una "burrada" y te aseguro que no llegarás a usarlo nunca... yo lo más que he llegado a usar (sin optimizar el espacio del disco) es unos 20 GB, que ya es mucho... pero el Windows Vista es un consumidor de recursos, incluso en las máquinas virtuales...

Figura 14. Asistente crear nuevo equipo (paso 8 de 8) Y así llegamos al final del asistente de creación de una nueva máquina virtual. Una vez que pulses en Finalizar, se mostrará esa nueva máquina virtual en la "Consola de Virtual PC", tal como puedes ver en la figura 15. En esa "consola" estarán las máquinas virtuales que hayas creado.

Figura 15. Consola de Virtual PC (la pantalla principal)   Añadir un equipo existente Si ya tienes algún equipo virtual existente, creado con el Virtual PC 2004 (la versión anterior) o el Virtual Server 2005, puedes usar esas máquinas virtuales. Para ello, inicia el asistente de nuevo equipo virtual y cuando te muestre las opciones del paso 2 (figura 4), tendrás que indicar que quieres usar un equipo existente, tal como ves en la figura 16.

Figura 16. Agregar un equipo existente

Después selecciona el fichero .vmc del equipo que quieres usar (figura 17).

Figura 17. Indicar el fichero de configuración a usar Y habrás llegado al final, una vez en la última pantalla, se te da la opción de abrir el fichero de configuración tal como puedes ver en la figura 18.

Figura 18. Al añadir un equipo existente, podemos ir directamente a la ventana de configuración Si no quieres que se abra esa pantalla de configuración, tendrás que quitar la selección de la opción Abrir configuración al hacer clic en Finalizar.