MXPA01001732A - Metodo y sistema para soportar multiples sistemas operativos en el mismo disco que funcionan en diferentes computadoras al mismo tiempo - Google Patents

Metodo y sistema para soportar multiples sistemas operativos en el mismo disco que funcionan en diferentes computadoras al mismo tiempo

Info

Publication number
MXPA01001732A
MXPA01001732A MXPA/A/2001/001732A MXPA01001732A MXPA01001732A MX PA01001732 A MXPA01001732 A MX PA01001732A MX PA01001732 A MXPA01001732 A MX PA01001732A MX PA01001732 A MXPA01001732 A MX PA01001732A
Authority
MX
Mexico
Prior art keywords
shared
partition
reservation
processor
processors
Prior art date
Application number
MXPA/A/2001/001732A
Other languages
English (en)
Inventor
Sale Cronk Matthew
Francis Mcbrearty Gerald
Patrik Mullen Shawn
Menghan Shieh Johny
Original Assignee
International Business Machines Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corporation filed Critical International Business Machines Corporation
Publication of MXPA01001732A publication Critical patent/MXPA01001732A/es

Links

Abstract

Se proporciona un método y un sistema para ejecutar, en diferentes computadoras, al mismo tiempo, múltiples sistemas operativos desde el mismo recurso del sistema compartido. Esto se logra, por ejemplo, mediante reservaciones de disco elemental persistentes. Cada máquina lee el registro de arranque maestro sin reservación para determinar la partición del sistema operativo a ser arrancado o iniciado. Cada máquina hace entonces una reservación persistente de escritura exclusiva elemental para tener acceso a la partición de arranque del sistema operativo. Esta es seguida por cada máquina haciendo otra reservación persistente de escritura exclusiva elemental para tener acceso a la partición del sistema operativo en sí. A cada maquina se le asigna una partición de sistema operativo diferente aún si están ejecutando el mismo sistema operativo. La clave de reservaciónúnica para esas reservaciones se crea a partir de al menos una ID de Procesador, una ID del agrupamiento de dispositivos, una ID de partición de Múltiples Procesadores, una ID de Acceso de Memoria no Uniforme Complejo, y una ID de nodo de Acceso de Memoria no Uniforme.

Description

MÉTODO Y SISTEMA PARA SOPORTjftR MÚLTIPLES SISTEMAS OPERATIVOS EN EL MISMO DISCO QUE FUNCIONAN EN DIFERENTES COMPUTADORAS AL MISMO TIEMPO ANTECEDENTES DE LA INVENCIÓN 1. Campo Técnico La presente invención se relaciona de manera general aon un sistema de procesamiento de datos mejorado y en particular con un método y un aparato para soportar múltiples sistemas operativos. De manera más particular aún, la presente invención proporciona un método para permitir que múltiples sistemas operativos residentes en el mismo disco físico funcionen en diferentes computadoras al mismo tiempo. 2. Descripción de la Técnica Relacionada El cargado y ejecución de un sistema operativo (OS) se logra utilizando un programa de arranque o inicio. Normalmente, el arranque del sistema operativo es un proceso de dos pasos que implica un programa de arranque o inicio "simple" que determina cual sistema operativo cargar y un programa de arranque o inicio más complejo que realmente cargue el sistema operativo seleccionado. El programa de arranque o inicio simple, usualmente almacenado en la RAM del sistema no volátil (NVRAM) , se utiliza para efectuar la inicialización de recursos del sistema. Específicamente, el programa de arranque o inicio simple inicializa los registros en la Unidad de Procesamiento Central (CPU) e inicializa los controladores del dispositivo, tales como los controladores para el disco y la memoria del sistema. El programa de arranque o inicio simple puede leer y escribir en la memoria y puede cargar de un bloque de arranque o inicio sobre el disco del sistema. El bloque de arranque o inicio contiene el registro de arranque o inicio maestro (MBR) y se localiza en el sector cero de la unidad de disco del sistema. El registro de arranque o inicio maestro (MBR) es cargado del disco del sistema y contiene una tabla de partición y algún código ejecutable. El código ejecutable del registro de arranque o inicio maestro explora la tabla de partición por una sola partición activa, carga el primer sector de la partición activa en la memoria, y ejecuta este código, el cual es el código de arranque para el sistema operativo seleccionado. Este código de arranque del sistema operativo carga el sistema operativo que está siendo arrancado e iniciado tal sistema operativo en una forma diferente . Si un disco duro contiene, por ejemplo, una partición de MS-DOS, una partición de LINUX, una partición de Windows NT, y una partición de IBM OS/2, un usuario puede cambiar cual de esos sistemas será iniciado cambiando la partición activa. La partición activa puede ser establecida almacenando esta información en la RAM del sistema no volátil (NVRAM) . Normalmente el último sistema operativo instalado en la unidad de disco del sistema actualiza la NVRAM, de modo que este sistema operativo sea arrancado o iniciado. Pero un sistema operativo puede proporcionar un programa de utilidad que permita que un sistema operativo diferente sea designado como la partición activa en la NVRAM. Esto permite entonces arrancar nuevamente para hacer arrancar o iniciar un sistema operativo diferente. Aunque el método anterior permite al usuario seleccionar un sistema operativo para que arranque al iniciar el sistema, este método no permite que dos o más sistemas operativos en diferentes máquinas funcionen al mismo tiempo desde el mismo disco del sistema. De este modo, cualquier máquina que haga uso de un disco de sistema compartido que tenga, por ejemplo, una partición OS/2 como la partición activa debe funcionar bajo el sistema operativo OS/2 en sí. Esto limita la versatilidad del sistema y pone restricciones sobre los recursos del sistema, tales como el tipo de sistema de archivo, al que puede tenerse acceso. Por lo tanto, será ventajoso tener un método y un sistema para tener acceso a recursos de sistema compartidos, tal como una unida de disco de sistema, de modo que diferentes máquinas puedan ejecutar diferentes sistemas operativos y tener acceso a recursos del sistema apropiados al mismo tiempo.
BREVE DESCRIPCIÓN DE LA INVENCIÓN La presente invención proporciona un método y un sistema para ejecutar, en diferentes computadoras al mismo tiempo, múltiples sistemas operativos desde los mismos recursos del sistema compartidos. Esto se logra, por ejemplo, utilizando reservaciones de disco elementales persistentes. Cada máquina lee el registro de arranque maestro sin reservación para determinar la partición del sistema operativo a ser arrancado o iniciado. Cada máquina hace entonces una reservación persistente de escritura exclusiva elemental para tener acceso a la partición de arranque del sistema operativo. Esta es seguida por cada máquina haciendo otra reservación persistente de escritura exclusiva elemental para tener acceso a la partición del sistema operativo en sí. A cada máquina se le asigna una partición del sistema operativo diferente aún si están ejecutando el mismo sistema operativo. La única clave de reservación para esas reservaciones se crea a partir de al menos una ID del Procesador, una ID de Agrupamiento de Dispositivos, una ID de partición de Múltiples Procesadores, una ID de Acceso de Memoria no Uniforme complejo, y/o una ID de nodo de Acceso de Memoria no Uniforme.
BREVE DESCRIPCIÓN DE LOS DIBUJOS Las características novedosas que se creen características de la invención se exponen en las reivindicaciones anexas. La invención en sí, sin embargo, así como un modo preferido de uso, y los objetivos y ventajas adicionales, se comprenderán mejor haciendo referencia a la siguiente descripción detallada de una modalidad ilustrativa cuando se lea en conjunto con los dibujos acompañantes, donde números similares designan elementos similares, y donde: La Figura 1 es un diagrama ejemplar que ilustra un ambiente de procesamiento de datos en red en el cual la presente invención puede ser implementada; La Figura 2 es un diagrama de bloques ejemplar que ilustra un sistema de procesamiento de datos en el cual puede ser implementada la presente invención; La Figura 3 es un diagrama ejemplar que ilustra la ejecución de múltiples sistemas operativos en los mismos recursos del sistema al mismo tiempo de acuerdo con una modalidad de la presente invención; La Figura 4 es un diagrama de flujo que esboza una operación ejemplar para actualizar un registro de arranque maestro cuando se agrega un nuevo sistema operativo al sistema de acuerdo con una modalidad de la presente invención; y La Figura 5 es un diagrama de flujo que esboza una operación ejemplar de un proceso de arranque o inicio de acuerdo con una modalidad de la presente invención.
DESCRIPCIÓN DETALLADA DE LA MODALIDAD PREFERIDA En un sistema de computadora típico la unidad de disco del sistema está dividida en sectores físicos de un tamaño fijo y un número determinado al momento en el que el disco es manufacturado. Una partición sobre una unidad de disco es una secuencia lógica de sectores que están contiguos entre sí. Para que múltiples sistemas operativos residan sobre la misma unidad de disco, a cada copia del sistema operativo se le asigna su propia partición en el disco. Esta reservación puede ser exclusiva, lo que significa que únicamente la computadora con una clave particular, única, puede tener acceso a la partición asignada. La reservación de partición también puede ser persistente, es decir estar protegida contra fallas del iniciador, tales como un reajuste total del sistema. Las reservaciones persistentes son retenidas por la unidad de disco hasta que son liberadas. Las reservaciones persistentes también pueden ser elementales, lo que significa que pueden reservar un grupo de sectores contiguos de un disco duro. Si los datos en la porción reservada del disco van a ser cambiados, entonces la reservación persistente elemental es una reservación de escritura. El otorgamiento a una computadora de la reservación persistente de escritura exclusiva elemental sobre una porción de un disco significa que únicamente la computadora con su clave de reservación única puede tener acceso a esa porción de la unidad de disco. Para una máquina de un solo procesador, esta clave puede ser la ID del Procesador. Para una máquina con múltiples procesadores, tal como una máquina de acceso de memoria no uniforme (NUMA) , esta clave puede contener la ID del Agrupamiento de Dispositivos, la ID de Partición de Múltiples Procesadores, la ID de NUMA complejo o la ID de nodo NUMA. Esta clave será referida simplemente como la clave de reservación. Con referencia a las figuras, la Figura 1 es un diagrama ejemplar que ilustra un sistema de procesamiento de datos en el cual la presente invención puede ser implementada. El sistema de procesamiento de datos distribuido 100 puede ser, por ejemplo, una red de computadoras, tal como una red de área local (LAN) , una red de área ancha o extensa (WAN) , la Internet, una Intranet, y similar. El sistema de procesamiento de datos distribuido 100 contiene al menos una red 102, la cual es el medio utilizado para proporcionar enlaces de comunicaciones entre varios dispositivos y computadoras conectadas juntas dentro del sistema de procesamiento de datos distribuido 100. La red 102 puede incluir conexiones permanentes, tales como alambres o cables fibroópticos o conexiones temporales hechas a través de conexiones telefónicas . En el ejemplo descrito, el servidor 104 está conectado a la red 102 junto con la unidad de almacenamiento 106. Además, los clientes 108, 110 y 112 también están conectados a una red 102, así como a servidores adicionales 114, 116 y 118. Esos clientes 108, 110 y 112 pueden ser, por ejemplo, computadoras personales o computadoras de red. Para los propósitos de esta solicitud, se considera que una computadora de red es cualquier computadora acoplada a una red que reciba un programa u otra aplicación de otra computadora acoplada a la red. En el ejemplo descrito, el servidor 104 puede proporcionar datos y aplicaciones a los clientes 108-112. Los clientes 108, 110 y 112 son clientes del servidor 104. El sistema de procesamiento de datos distribuido 100 puede incluir servidores adicionales, clientes, unidades de disco compartidas, tales como los discos 106 y 122, y otros dispositivos no mostrados. En el ejemplo descrito, el sistema de procesamiento de datos distribuido 100 es una Internet con la red 102 representando una colección mundial de redes y compuertas que utilizan el conjunto TCP/IP de protocolos para comunicarse entre sí. En el corazón de la Internet se encuentra un esqueleto de líneas de comunicación de datos de alta velocidad entre los nodos principales o computadoras centrales, que consisten de miles de sistemas de computadoras comerciales, gubernamentales, educativas o de otro tipo que encaminan datos y mensajes. Por supuesto, el sistema de procesamiento de datos distribuido 100 también puede ser implementado como un número de diferentes tipos de redes, tales como por ejemplo, una Intranet, una red de área local (LAN); o una red de área ancha o extensa (WAN) . Por ejemplo, sobre una LAN, la unidad de disco 106 puede ser compartida entre los clientes 108, 110, 112, y cada uno de esos clientes puede hacer arrancar un sistema operativo diferente residente sobre el disco 106. Se pretende que la Figura 1 sea un ejemplo, y no una limitación arquitectónica de la presente invención. Por ejemplo, con respecto a la presente invención, las "computadoras" pueden ser procesadores en una sola máquina con múltiples procesadores proporcionados, con cada procesador teniendo su propia partición de memoria. En este caso, podrían ser ejecutados múltiples sistemas operativos simultáneamente en la "misma máquina", siempre que a cada sistema operativo se le asigne su propio procesador y su propia partición de memoria.
Con referencia ahora a la Figura 2, un diagrama de bloques ejemplar ilustra un sistema de procesamiento de datos en el cual la presente invención puede ser implementada. El sistema de procesamiento de datos 200 es un ejemplo de una computadora, tal como la computadora 108 en la Figura 1, en la cual puede localizarse el código o instrucciones que implementan los procesos de la presente invención. El sistema de procesamiento de datos 200 emplea una arquitectura de canal local de interconexión de componentes periféricos (PCI) . Aunque el ejemplo descrito emplea un canal PCI, pueden ser utilizadas otras arquitecturas de canal tales como la Arquitectura de Microcanal y Estándar de la Industria (ISA) . El procesador 202 y la memoria principal 204 están conectados al canal local PCI 206 a través de un puente PCI 208. El puente PCI 208 también puede incluir un controlador de memoria integrado y memoria intermedia de alta velocidad para el procesador 202. Las conexiones adicionales al canal PCI local 206 pueden hacerse a través de la interconexión directa de los componentes o a través de tarjetas agregadas. En el ejemplo descrito, el adaptador del área red local (LAN) 210, el adaptador del canal central de la interfaz o interconexión del sistema de computadora pequeña SCSI 212, y la interfaz o interconexión del canal de expansión 214 se conectan al canal local PCI 206 por conexión directa de los componentes. En contraste, el adaptador de audio 216, el adaptador de gráficos 218, y el adaptador de audio/video 219 se conectan al canal local PCI 206 por tarjetas agregadas insertadas en ranuras de expansión. Al interfaz o interconexión del canal de expansión 214 proporciona una conexión para un adaptador de teclado y de ratón 220, módem 222, y memoria adicional 224. El adaptador de canal central SCSI 212 proporciona una conexión para una unidad de disco duro 226, unidad de cinta 228, unidad de CD-ROM 230. Las implementaciones del canal local PCI típicas soportarán tres o cuatro ranuras de expansión PCI o conectores agregados. Un sistema operativo funciona en un procesador 202 y es utilizado para coordinar y proporcionar el control de los diferentes componentes dentro del sistema de procesamiento de datos 200 en la Figura 2. El sistema operativo puede ser un sistema operativo comercialmente disponible tal como el OS/2, el cual se encuentra disponible de International Business Machines Corporation, Windows NT, el cual se encuentra disponible de Microsoft Corporation, o similar. Las instrucciones para el sistema operativo, aplicaciones o programas se localizan en los dispositivos de almacenamiento, tales como la unidad de disco duro 226, y pueden cargarse en la memoria de la máquina 204 para ser ejecutados por el procesador 202. También es posible, como se detalla en la presente invención, que el sistema operativo resida en una unidad de disco compartida en una red, tal como el disco 106 en la Figura 1, y que el sistema de computadoras descrito en la Figura 2 cargue el sistema operativo de esta unidad de disco compartida. Aquellos expertos en la técnica apreciarán que los componentes físicos de computación en la Figura 2 pueden variar dependiendo de la implementación. Otros componentes físicos de computación alternos o dispositivos periféricos, tales como una ROM instantánea (o memoria no volátil equivalente) o unidades de disco y similares, pueden ser utilizados además de o en lugar de los componentes físicos de computación descritos en la Figura 2. También, los procesos de la presente invención pueden ser aplicados a un sistema de procesamiento de datos de múltiples procesadores. Por ejemplo, el sistema de procesamiento de datos 200, si está configurado opcionalmente como una computadora de red, puede no incluir el adaptador del canal central SCSI 212, la unidad de disco duro 226, la unidad de cinta 228 y la CD-ROM 230, como se hace notar por medio de la linea punteada 232 en la Figura 2 que denota la inclusión opcional. En ese caso, el sistema de procesamiento de datos 200 puede incluir una interfaz o interconexión de comunicación de red, tal como un adaptador de LAN 210, módem 222 o similar. Como otro ejemplo, el sistema de procesamiento de datos 200 puede ser un sistema de datos autónomo configurado para arrancar sin depender de una interfaz o interconexión de comunicación de red, si o no el sistema de procesamiento de datos 200 comprende una interfaz o interconexión de comunicación de red. El ejemplo descrito en la Figura 2 y los ejemplos descritos anteriormente no necesariamente implican limitaciones arquitectónicas. Por ejemplo, la presente invención puede ser implementada en sistemas de múltiples procesadores, tales como una computadora de acceso de memoria no uniforme (NUMA) . Con referencia ahora a la Figura 3, un diagrama ejemplar ilustra múltiples sistemas operativos funcionado en diferentes máquinas al mismo tiempo del mismo disco de acuerdo ~ con una modalidad preferida de la invención. En el ejemplo descrito, el recurso del sistema al que tienen acceso la pluralidad de dispositivos es la unidad de disco duro 300, sin embargo, la invención no se limita a tal modalidad. Cualquier recurso del sistema que sea capaz de ser repartido utilizando reservaciones persistentes exclusivas elementales puede ser utilizado sin apartarse del espíritu y alcance de la invención. Por ejemplo, el recurso del sistema puede ser una unidad de disco ZIP, una unidad de disco JAZ, un disco CD reescribible, y similar. También los sistemas de computadora mostrados pueden ser procesadores individuales en un sistema de múltiples procesadores, tal como una computadora de acceso de memoria no uniforme. A la unidad de disco 300 tiene acceso una pluralidad de máquinas, las cuales, por simplicidad, se muestran con las ID de reservación 1 hasta 7. Cada computadora que ejecute un sistema operativo sobre el disco 300 se le asigna una partición separada para su sistema operativo y utiliza su ID de reservación como clave para reservar esta partición. En el ejemplo descrito, la computadora 302 está actualmente teniendo acceso al registro de arranque maestro 304 al inicio del proceso de arranque. La computadora 306 ya ha leido el registro de arranque maestro y determinado que va hacer arrancar el sistema operativo OS/2. Ahora está ejecutando la partición de arranque OS/2 308. La computadora 310 está ejecutando actualmente el sistema operativo Windows NT, un producto de Microsoft Corporation. Su ID de reservación (#3) es utilizado para reservar una persistente elemental para la partición de Windows NT 312 en el disco 300. La computadora 314 se encuentra ejecutando Linux y tiene una partición de Linux reservada 316 sobre el disco 300 utilizando su ID de reservación (#4) como clave. La computadora 318 está ejecutando MS-DOS y tiene una partición de MS-DOS reservada 320 sobre el disco 300 utilizando su red de reservación (#5) como clave. La computadora 322 está ejecutando Linux, pero nótese que eu partición de Linux 324 sobre el disco 300 es diferente que la partición de Linux 316 y es reservada por la computadora 308. La computadora 326 está ejecutando OS/2 y tiene una partición de OS/2 reservada 328 sobre el disco 300 utilizando su ID de reservación (#7) como clave. De este modo, utilizando diferentes ID de reservación y diferentes particiones sobre una unidad de disco compartida, diferentes computadoras pueden ejecutar simultáneamente diferentes sistemas operativos de la unidad de discos compartida. En la Figura 3 las ID de reservación se muestran como números enteros simples. Como un experto en la técnica apreciará, los valores reales pueden ser más complejos. Además, la ilustración de las particiones sobre una unidad de disco 300 en la Figura 3 no representan cantidades relativas reales del espacio físico en el disco. Por ejemplo, el registro de arranque maestro puede ocupar únicamente un sector del disco mientras que una partición del sistema operativo puede ocupar decenas de miles de sectores. Con referencia ahora a la Figura 4, un diagrama de flujo esboza una operación ejemplar para actualizar un registro de arranque maestro cuando se agrega un sistema operativo nuevo al sistema de acuerdo con una modalidad de la presente invención. Por ejemplo, la tabla de partición en el registro de arranque maestro puede ser cambiada cada vez que sea agregada una partición de sistema operativo, tal como las particiones 312, 316, 320, 324 y 328 en la Figura 3, a la unidad de disco 300. Cuando es instalado un sistema operativo, se reservan la partición sobre el recurso del sistema, tal como la unidad de disco 300, y la formación de la partición es agregada al registro de arranque maestro 304. Es importante que los dos sistemas operativos no intenten modificar los registros de arranque maestro al mismo tiempo que el proceso de instalación, de otro modo la tabla de partición en el registro de arranque maestro no contendrá la información correcta para múltiples sistemas operativos. El sistema operativo o un programa de utilidad que actúa en favor del sistema operativo hace una reservación persistente de escritura exclusiva elemental sobre el área del registro de arranque maestro (paso 400) . Si la reservación no es exitosa (paso 402: No), entonces la modificación al registro de arranque maestro falla (paso 404) y es enviada una señal de error al programa de instalación del sistema operativo (paso 406) . Si la reservación sobre la partición de arranque del sistema operativo es exitosa (paso 402: Si) el sistema operativo o programa de utilidad agrega la información de partición de arranque al registro de arranque maestro (paso 408) . El sistema operativo o programa de utilidad libera entonces la reservación persistente de escritura exclusiva elemental sobre el área de registro de arranque maestro (paso 410) y la modificación del registro de arranque maestro finaliza. Como un experto -en la técnica apreciará, el proceso descrito en la Figura 4 puede ser efectuado por un programa de utilidad que es llamado por el sistema operativo. Utilizando este método, los cambios al programa de utilidad no requerirían el cambio del sistema operativo en sí. Con referencia ahora a la Figura 5, un diagrama de flujo esboza una operación ejemplar del proceso de arranque de acuerdo con una modalidad de la presente invención. Se asume en este punto que han sido instalados dos o más sistemas operativos exitosamente sobre el mismo recurso del sistema. Las máquinas en la Figura 3 se muestran en varias etapas ~ de arranque de un sistema operativo. La computadora 302 está leyendo el registro de arranque maestro 304, la computadora 306 está leyendo la partición de arranque de OS/2 308, y las computadoras 310, 314, 318, 322, y 326 han completado el proceso de arranque. Inicialmente, el código de arranque lee el recurso del sistema sin reservación (paso 500) . A continuación, el código de arranque registra una clave de reservación persistente con el recurso del sistema (paso 502) . El código de arranque lee el registro de arranque maestro (MBR) y determina la partición para el sistema operativo a ser arrancado en base a la información de partición del sistema operativo activa almacenada en la NVRAM (paso 504) . El código de arranque hace entonces una reservación persistente de escritura exclusiva elemental sobre la partición de arranque del sistema operativo (paso 506) . Si la reservación no fue exitosa (paso 508: No), entonces el arranque falla (paso 510). Si la reservación sobre la partición de arranque del sistema operativo es exitosa (paso 508: Si), entonces se ejecuta el código en la partición de arranque del sistema operativo (paso 512) . La partición de arranque del sistema operativo hace una reservación persistente de escritura exclusiva elemental sobre la partición del sistema operativo (paso 514). Si la reservación no fue exitosa (paso 516: No), entonces el arranque falla (paso 518) . Si la reservación sobre la partición de arranque del sistema operativo es exitosa (paso 516: Si), entonces se ejecuta el código en la partición del sistema operativo (paso 520) . Para evitar que múltiples sistemas operativos interfieran entre sí, cada sistema operativo tiene una clave de reservación única. Además, la integridad del proceso de arranque del sistema operativo es preservada haciendo que el código de arranque del sistema operativo haga una reservación persistente elemental sobre la partición del sistema operativo en un ambiente donde puedan existir procesos de arranque en otras máquinas haciendo arrancar el mismo sistema operativo de la misma unidad de disco. Es importante notar que la organización del sistema de archivos para las diferentes ciones del sistema operativo no necesita ser compatible. Todo lo que se requiere es que cada uno de los programas de arranque pueda leer e interpretar la información en el registro de arranque maestro correctamente. En resumen, en la técnica anterior, dos o más sistemas operativos podrían hacerse arrancar desde el mismo disco pero no ejecutarse simultáneamente, aún cuando esos sistemas operativos se ejecutaron en diferentes máquinas. Utilizando reservaciones de disco elementales persistente en la forma descrita anteriormente de acuerdo a lo presentado en esta invención, es posible hacer que múltiples sistemas operativos funcionen en diferentes máquinas desde el mismo recurso del sistema al mismo tiempo. Aunque la descripción anterior de la invención asumió una pluralidad de computadoras que comparten una unidad de disco de sistema, la invención no se limita a tal modalidad. En particular, el método desarrollado en esta invención podría extenderse a una máquina con múltiples procesadores, donde cada procesador tiene su propia partición de memoria y opera bajo su propio sistema operativo. En este caso, múltiples sistemas operativos podrían ser ejecutados simultáneamente en la "misma máquina", siempre que a cada sistema operativo se le asigne su propio procesador y su propia partición de memoria. Como aquellos expertos en la técnica apreciarán, sería posible una disposición similar para NUMA (Acceso de Memoria No Uniforme) complejos. Es importante hacer notar que aunque la presente invención ha sido descrita en el contexto de un sistema de procesamiento de datos completamente funcional, aquellos expertos en la técnica apreciarán que los procesos de la presente invención pueden ser distribuidos en forma de un medio de instrucciones legibles en computadora y una variedad de formas y que la presente invención se aplica igualmente sin importar el tipo particular de medio portador de señales realmente utilizado para llevar a cabo la distribución. Los ejemplos de medios legibles en computadora incluyen medios del tipo registrable tales como un disco flexible, una unidad de disco duro, una RAM, y CD-ROM y medios del tipo de transmisión tales como enlaces de comunicaciones digitales y analógicos . La descripción de la presente invención ha sido presentada para propósitos de ilustración y descripción, pero no se limita de manera exhaustiva o se limita a la invención en la forma descrita. Muchas modificaciones y variaciones serán evidentes a aquellos expertos en la técnica. Por ejemplo, a medida que la Red de Área de Almacenamiento (SAN) se vuelvan más prevalecientes habrá una mayor posibilidad de compartir recursos como se expone en esta invención. La invención se eligió y describió para explicar mejor los principios de la invención, la aplicación práctica y para permitir a otros expertos en la técnica comprender la invención para varias modalidades con varias modificaciones que sean adecuadas para el uso particular contemplado.

Claims (16)

REIVINDICACIONES
1. Un método para hacer arrancar o iniciar una pluralidad de sistemas operativos en una pluralidad de procesadores desde un recurso del sistema, compartido, el método se caracteriza porque comprende: leer un registro de arranque maestro del recurso del sistema compartido por un procesador de la pluralidad de procesadores para determinar la partición de un sistema operativo de la pluralidad de sistemas operativos a ser utilizado-s; reservar una porción del recurso del sistema compartido utilizando una clave de reservación única por el procesador para tener acceso a una partición de arranque del sistema operativo; y reservar una porción del recurso del sistema compartido utilizando la clave de reservación única por el procesador para tener acceso a una partición del sistema operativo .
2. El método de conformidad con la reivindicación 1, caracterizado porque la reservación de una porción de un disco compartido se logra por medio de una reservación persistente de escritura exclusiva elemental sobre una secuencia contigua de sectores sobre el recurso del sistema compartido.
3. El método de conformidad con la reivindicación 1, caracterizado porque el registro de arranque maestro es leído inicialmente por el procesador del recurso del sistema compartido sin reservación. .
El método de conformidad con la reivindicación 1, caracterizado porque la clave de reservación única para reservar una porción del recurso del sistema compartido para la partición de arranque del sistema operativo y la partición del sistema operativo se crea a partir de al menos una de las siguientes: una ID del Procesador, una ID del Agrupamiento de Dispositivos, una ID de partición de Múltiples Procesadores, una ID de Acceso de Memoria no Uniforme complejo, y una ID de nodo de Acceso de Memoria no Uniforme.
5. El método de conformidad con la reivindicación 1, caracterizado porque el recurso del sistema es uno de los siguientes: una unidad de disco duro del sistema, una unidad de disco ZIP, una unidad de disco JAZ, un disco CD reescribible, una unidad de disco flexible, una unidad de cinta o un dispositivo similar.
6. Un método en un sistema de procesamiento de datos distribuido para ejecutar una pluralidad de sistemas operativos sobre una pluralidad de procesadores en el sistema de procesamiento de datos distribuido desde un recurso del sistema compartido, el método se caracteriza porque comprende los pasos implementados por el procesador de: leer un registro de arranque maestro del disco compartido por cada uno de la pluralidad de procesadores para identificar sistemas operativos para la pluralidad de procesadores ; reservar, por cada uno de la pluralidad de procesadores, una porción del_ recurso del sistema compartido utilizando una clave de reservación única para cada uno de la pluralidad de procesadores, donde la porción es utilizada para tener acceso a una partición de arranque del sistema operativo; y reservar, por cada uno de la pluralidad de procesadores, una porción del recurso del sistema compartido utilizando la clave de reservación para tener acceso a una partición del sistema operativo, donde la pluralidad de procesadores ejecutan concurrentemente la pluralidad de sistemas operativos del recurso del sistema compartido.
7. Un método en un sistema de procesamiento de datos para instalar una pluralidad de sistemas operativos de una pluralidad de procesadores sobre un recurso del sistema compartido, el método se caracteriza porque comprende los pasos implementados por el sistema de procesamiento de datos de: un procesador de la pluralidad de procesadores que instala un sistema operativo de la pluralidad de sistemas operativos reservando acceso exclusivo a un registro de arranque maestro sobre el recurso del sistema compartido; el procesador agrega la información de arranque del sistema operativo a una tabla de partición en el registro de arranque maestro; y el procesador libera el acceso exclusivo al registro de arranque maestro.
8. El método de conformidad con la reivindicación 7, caracterizado porque la reservación de acceso exclusivo al registro de arranque maestro del recurso del sistema compartido se logra por medio de una reservación persistente de escritura exclusiva elemental sobre la porción del recurso del sistema compartido que contiene el registro de arranque maestro.
9. El método de conformidad con la reivindicación 7, caracterizado porque se envía un mensaje de error a un programa de instalación del sistema operativo si la reservación persistente de escritura exclusiva elemental sobre el registro de arranque maestro falla.
10. Un sistema de procesamiento de datos distribuido para hacer arrancar o iniciar una pluralidad de sistemas operativos de una pluralidad de procesadores desde un recurso del sistema compartido, el sistema de procesamiento de datos se caracteriza porque comprende: medios de determinación para un procesador en la pluralidad de procesadores que leen un registro de arranque maestro del recurso del sistema compartido para determinar un sistema operativo de la pluralidad de sistemas operativos a ser arrancados^ D iniciados; medios de reservación para "que el procesador reserve una porción del recurso del sistema compartido para tener acceso a una partición o arranque del sistema operativo utilizando una clave de reservación única; y medios de reservación para que el procesador reserve una porción del recurso del sistema compartido para tener acceso a una partición del sistema operativo utilizando la clave de reservación única.
11. Los medios de conformidad con la reivindicación 10, caracterizados porque la reservación de una porción de un disco compartido se logra por medio de una reservación persistente de escritura exclusiva elemental sobre un bloque contiguo de sectores sobre el disco compartido.
12. Los medios de conformidad con la reivindicación 10, caracterizados porque el registro de arranque maestro es leído inicialmente por el procesador del recurso del sistema compartido sin reservación.
13. Los medios de conformidad con la reivindicación 10, caracterizados porque la clave de reservación única para reservar una porción de sistema compartido para la partición de arranque del sistema operativo y la partición del sistema operativo en el recurso de sistema compartido se crea a partir de al menos uno de las siguientes: una ID del Procesador, una ID del agrupamiento de dispositivos, una ID de partición de Múltiples Procesadores, una ID de Acceso de Memoria no Uniforme Complejo, y una ID de nodo de Acceso de Memoria no Uniforme.
14. El sistema de datos distribuido para ejecutar una pluralidad de sistemas operativos sobre una pluralidad de procesadores en el sistema de procesamientos de datos distribuido de un recurso del sistema compartido, el sistema de procesamiento de datos distribuido se caracteriza porque comprende : medios de lectura para leer un registro de arranque maestro del disco compartido por cada uno de la pluralidad de procesadores para identificar los sistemas operativos para la pluralidad de procesadores; medios de reservación para reservar, por cada uno de la pluralidad de procesadores, una porción del sistema de recursos compartido utilizando una clave de reservación única para cada uno de la pluralidad de procesadores, donde la porción es utilizada para tener acceso a una partición de arranque de un sistema operativo; y medios para reservar, por cada uno de la pluralidad de procesadores, una porción del recurso del sistema compartido utilizando una clave para tener acceso a una partición del sistema operativo, donde una pluralidad de procesadores ejecutan concurrentemente la pluralidad de sistemas operativos del recurso del sistema compartido.
15. Un producto de programa de computadora en un medio legible en computadora para utilizarse en una estación de trabajo de red para hacer arrancar o iniciar una pluralidad de sistemas de operativos en una pluralidad de procesadores desde una pluralidad de sistemas compartidos, el producto de programa de computadora se caracteriza porque comprende los pasos implementados por el sistema de procesamiento de datos de: instrucciones para un procesador de la pluralidad de procesadores que leen un registro de arranque maestro del recurso del sistema compartido para determinar un sistema operativo de la pluralidad de sistemas operativos a ser arrancados o iniciados; instrucciones para que el procesador reserve una porción del recurso del sistema compartido para tener acceso a una partición de arranque del sistema operativo utilizando una clave de reservación única; y instrucciones para que el procesador reserve una porción del recurso del sistema compartido para tener acceso a una partición del sistema operativo utilizando la clave de reservación única.
16. El método de conformidad con la reivindicación 15, caracterizado porque la clave de reservación única se crea al menos de una de las siguientes: una ID de Procesador, una ID del agrupamiento de dispositivos, una ID de partición de Múltiples Procesadores, una ID de Acceso de Memoria no Uniforme Complejo, y una ID de nodo de Acceso de Memoria no Uniforme .
MXPA/A/2001/001732A 2000-02-17 2001-02-16 Metodo y sistema para soportar multiples sistemas operativos en el mismo disco que funcionan en diferentes computadoras al mismo tiempo MXPA01001732A (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09506232 2000-02-17

Publications (1)

Publication Number Publication Date
MXPA01001732A true MXPA01001732A (es) 2002-06-05

Family

ID=

Similar Documents

Publication Publication Date Title
CA2332084C (en) Method and system for supporting multiple operating systems on the same disk running on different computers at the same time
US10261800B2 (en) Intelligent boot device selection and recovery
US7107330B1 (en) Data processing system and method for distributing a device driver to a plurality of client computer systems each executing different operating systems
JP5071913B2 (ja) 同時物理プロセッサ再割り当て方法、システム、およびプログラム
JP5015665B2 (ja) カーネル間でカーネル・サービスを共用するための方法、装置、およびコンピュータ・プログラム
KR100361635B1 (ko) 논리적 분할부 관리기 및 방법
JP6050262B2 (ja) 仮想ディスクストレージ技術
US8312212B2 (en) Systems and methods for attaching a virtual machine virtual hard disk to a host machine
US5887163A (en) Method and apparatus for providing dual booting capabilities to a computer system
US20080256530A1 (en) System and Method for Determining Firmware Compatibility for Migrating Logical Partitions
JP2000207176A (ja) 手近にない読取り/書込みハ―ドドライブ区分を有する図形のユ―ザインタ―フェイス(gui)を起動しかつ実行するコンピュ―タシステムおよび操作方法
KR19990036566A (ko) 컴퓨터기억장치의논리적드라이브의파티션맵핑갱신시스템 및 방법
KR100393721B1 (ko) 컴퓨터기억장치의시뮬레이션방법
US6718373B1 (en) Method and system for installing files in a computing system
EP2153309B1 (en) Physical network interface selection
TWI423028B (zh) 存取一具有複數個直接存取儲存設備之數位儲存系統的方法、處理系統及電腦程式產品及排程i/o操作的方法
US6216216B1 (en) Method and apparatus for providing processor partitioning on a multiprocessor machine
US6473655B1 (en) Data processing system and method for creating a virtual partition within an existing partition in a hard disk drive
US7996631B1 (en) System and method for accessing storage devices attached to a stateless client
JP2009230433A (ja) ネットワークブート装置、プログラム及び方法
US20230289207A1 (en) Techniques for Concurrently Supporting Virtual NUMA and CPU/Memory Hot-Add in a Virtual Machine
US6269408B1 (en) Method for creating a single binary virtual device driver for a windowing operating system
US7831623B2 (en) Method, system, and article of manufacture for storing device information
US8272000B2 (en) System and method for abstracting computer disk image cloning capabilities from bootable media
US20080004857A1 (en) Restoring base configuration on software testing computer