ES2699712T3 - Inicialización de un sistema operativo en etapas discretas - Google Patents
Inicialización de un sistema operativo en etapas discretas Download PDFInfo
- Publication number
- ES2699712T3 ES2699712T3 ES07755561T ES07755561T ES2699712T3 ES 2699712 T3 ES2699712 T3 ES 2699712T3 ES 07755561 T ES07755561 T ES 07755561T ES 07755561 T ES07755561 T ES 07755561T ES 2699712 T3 ES2699712 T3 ES 2699712T3
- Authority
- ES
- Spain
- Prior art keywords
- image
- operating system
- initialization
- primary
- network
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/24—Loading of the microprogram
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Un procedimiento implementado por ordenador para inicializar un sistema operativo en etapas discretas en un dispositivo, que comprende: obtener una imagen de inicialización primaria (405), en la que la imagen de inicialización primaria incluye al menos un cliente de red que está configurado para proporcionar una funcionalidad de red al sistema operativo; arrancar el dispositivo usando la imagen de inicialización primaria (425); pausar la inicialización del dispositivo después de cargar el cliente de red; obtener, usando el cliente de red, una imagen del sistema operativo secundaria (440) que se basa en la funcionalidad de la imagen de inicialización primaria, en el que la imagen del sistema operativo secundaria proporciona funcionalidad adicional al sistema operativo; encadenar la imagen del sistema operativo secundaria a la imagen de inicialización primaria (445) para formar una imagen lógica de un sistema operativo completo; y continuar la inicialización del dispositivo después de la operación de encadenamiento.
Description
DESCRIPCIÓN
Inicialización de un sistema operativo en etapas discretas
El almacenamiento es un recurso precioso en los sistemas integrados. Muchos dispositivos incrustados no incluyen discos duros, ya que son costosos y muchas veces son el primer componente importante en fallar. El reemplazo de la unidad de disco duro también puede ser costoso debido al costo de obtener imágenes de una nueva unidad, así como al desmontaje y la reconfiguración requerida para el dispositivo. Como tal, muchos dispositivos incrustados requieren inicialización a través de un mecanismo de inicialización de red. El estándar Entorno de Ejecución Previo a la Inicialización de Intel (PXE) se usa comúnmente, pero tiene una plataforma de red y soporte de autenticación muy limitados.
Ron Minnich, James Hendricks, Dale Webster: "The Linux BIOS", Advanced Computing Lab, Laboratorios Nacionales de Los Ángeles, Los Alamos, Nuevo México, 14 de agosto de 2000, se refieren al sistema de entrada y salida básica de Linux (BIOS). La inicialización y el inicio de BIOS se eliminan y se reemplazan por una fase de inicialización muy simple seguida de un gunzip de un núcleo de Linux. Luego se inicia el núcleo de Linux, y de ahí en adelante, la inicialización se realiza de manera normal. El procedimiento desvelado en D1 comprende seis fases: (1) configuración del modo protegido, que pone la segmentación, la paginación y el hardware TLB en un estado sano y luego activa el modo protegido; (2) configuración de DRAM; (3) transición a C, utilizada para configurar la pila y solicitar una función para hacer la reparación del hardware restante; (4) reparación de la placa principal que involucra una inicialización limitada de hardware; (5) inflar el núcleo, que comprende pedir al gunzip de núcleo de estándar Linux y descomprimir el núcleo; y (6) saltar al núcleo, que comprende una instrucción de salto simple al inicio del núcleo. Una vez que la BIOS ha arrancado Linux desde la NVRAM, el núcleo puede realizar varias acciones, que incluye el establecimiento de una conexión SSH a un servidor de daemon de configuración DHCP remoto. El servidor del daemon DHCP puede indicar al nodo su identidad y dirigirlo a qué núcleo arrancar. El servidor DHCP puede enviar una imagen del núcleo a través de la conexión SSH, y el núcleo puede arrancar usando LOBOS. Usando una inicialización estándar, el daemon DHCP puede enviar al núcleo sus parámetros y luego decirle que continúe la inicialización. En este caso, el núcleo NVRAM es el núcleo de elección, y no se necesita más carga del núcleo. Además, el núcleo puede arrancar otro núcleo de un disco local u otro recurso del sistema de archivos, tal como CDROM.
El objeto de la presente invención es proporcionar un procedimiento mejorado para iniciar un sistema operativo en etapas discretas en un dispositivo, así como un aparato y medio legible por ordenador correspondientes.
Este objeto es resuelto por la materia objeto de las reivindicaciones independientes.
Las realizaciones preferidas se definen mediante las reivindicaciones dependientes.
Este Resumen se proporciona para introducir una selección de conceptos en una forma simplificada que se describen a continuación en la Descripción Detallada. Este Resumen no tiene la intención de identificar características clave o características esenciales del tema reivindicado, ni está destinado a ser utilizado como una ayuda para determinar el alcance del tema reivindicado.
Un dispositivo de computación está configurado para ensamblar y inicializar un sistema operativo en etapas utilizando imágenes discretas del sistema operativo. Cada imagen subsiguiente del sistema operativo que se obtiene en base a la última imagen y cuando las imágenes del sistema operativo se combinan, crean un sistema operativo completo. Primero se obtiene una imagen de inicialización primaria para el dispositivo que incluye suficiente sistema operativo para soportar capacidades de red básicas. Una vez que se obtiene la imagen de inicialización primaria ya sea a través de la descarga o desde el almacenamiento local en el dispositivo, la imagen de inicialización primaria se arranca para iniciar el cliente de red. Una vez que el cliente de red está activo, se suspende la actividad de inicialización para el dispositivo. Esto brinda la oportunidad de autenticar al cliente, el servidor y posiblemente al usuario, y luego una o más imágenes del sistema operativo se descargan en el dispositivo usando una plataforma de red más rica proporcionada por la imagen de inicialización primaria. Estas imágenes del sistema operativo secundarias se encadenan a la imagen de inicialización primaria, de este modo se crea un sistema operativo único/cohesivo. Estas imágenes del sistema operativo secundarias se basan en la funcionalidad de la etapa anterior.
Breve descripción de los dibujos
La FIGURA 1 ilustra un ejemplo de arquitectura de ordenador que incluye un sistema operativo que se inicializa en etapas discretas;
La FIGURA 2 muestra un ejemplo de sistema de archivo que se configura para soportar la inicialización de un sistema operativo en etapas discretas;
La FIGURA 3 muestra una línea de tiempo por fases para inicializar un dispositivo en etapas discretas; y
La FIGURA 4 muestra un proceso para inicializar un sistema operativo en etapas discretas.
Descripción detallada
Con referencia ahora a los dibujos, en los números iguales representan elementos iguales, se describirán varias realizaciones. En particular, la FIGURA 1 y la discusión correspondiente pretenden proporcionar una breve descripción general de un entorno de ordenador adecuado en el que se pueden implementar realizaciones.
En general, los módulos de programa incluyen rutinas, programas, componentes, estructuras de datos y otros tipos de estructuras que realizan tareas particulares o implementan tipos de datos abstractos particulares. También se pueden usar otras configuraciones de sistemas de ordenador, que incluyen dispositivos portátiles, sistemas multiprocesador, componentes electrónicos basados en microprocesadores o de consumo programable, minicomputadoras, computadoras centrales y similares. Los entornos de ordenador distribuidos también se pueden usar cuando las tareas se realizan mediante dispositivos de procesamiento remoto que están unidos a través de una red de comunicaciones. En un entorno de ordenador distribuido, los módulos de programa pueden estar ubicados en dispositivos de almacenamiento de memoria local y remota.
Con referencia ahora a FIGURA 1, se describirá una arquitectura de ordenador ilustrativa para un ordenador 100 utilizada en las diversas realizaciones que incluye un sistema operativo que se inicializa en etapas discretas. La arquitectura del ordenador mostrada en la FIGURA 1 se puede configurar como un dispositivo de computación móvil y/o un dispositivo de cómputo convencional. Por ejemplo, el dispositivo de computación 100 se puede configurar como un teléfono inteligente, una PDA, un ordenador de escritorio, un servidor, una tableta, un ordenador portátil y similares. El dispositivo de computación 100 también se puede configurar como un dispositivo de computación incrustado.
Como se ilustra, el ordenador 100 incluye una unidad de procesamiento central 5 ("CPU"), una memoria del sistema 7, que incluye una memoria de acceso aleatorio 9 ("RAM") y una memoria de solo lectura ("ROM") 11, y un bus de sistema 12 que acopla la memoria a la CPU 5. La memoria del sistema 7 puede ser cualquier combinación de memoria no volátil y memoria volátil. Un sistema básico de entrada/salida que contiene las rutinas básicas que ayudan a transferir información entre elementos dentro del ordenador, tal como durante el inicio, se almacena en la ROM 11. El ordenador 100 puede incluir un dispositivo de almacenamiento masivo 14 para almacenar una el sistema operativo 16 que comprende (una vez obtenida) una imagen de inicialización primaria 26 y una o más imágenes del sistema operativo secundarias 34.
El sistema operativo 16 se inicia en etapas. Al arranque del dispositivo 100, se puede recuperar una imagen de inicialización primaria 26 del almacenamiento en el dispositivo 100 o se puede descargar desde una ubicación de red, tal como desde el servidor 34. Por ejemplo, la imagen de inicialización primaria 30 se puede obtener del servidor 34 mediante el uso del estándar PXE para descargar la imagen de inicialización primaria 30. La imagen de inicialización primaria incluye lo suficiente del sistema operativo 16 para soportar la red básica. Una vez que se obtiene la imagen de inicialización primaria, ya sea a través de la descarga o del almacenamiento en el dispositivo, la imagen de inicialización primaria 26 se inicia en el dispositivo 100 para iniciar la red del dispositivo 100.
Una vez que el cliente de red en el dispositivo 100 está activo, se suspende la actividad de inicialización para el dispositivo 100 y una o más imágenes del sistema operativo secundarias 32 se descargan en el dispositivo (34). Cada imagen del sistema operativo secundaria del sistema operativo 16 que se obtiene sobre la base de la última imagen del sistema operativo que se ha recibido. Estas imágenes del sistema operativo secundarias 17 se encadenan a la imagen de inicialización primaria 26 para crear un sistema operativo único/cohesivo 16. De acuerdo con una realización, las imágenes del sistema operativo (17 y 26) se almacenan como imágenes separadas en el dispositivo de almacenamiento masivo 14, pero aparecen en las aplicaciones en el dispositivo 100 como un sistema de archivo cohesivo único (ver la FIGURA 2 y la discusión relacionada). El sistema operativo 16 se puede configurar para continuar arrancando sucesivamente cada imagen del sistema operativo después de que se encadene con la imagen anterior. Alternativamente, cualquier combinación de imágenes del sistema operativo puede estar encadenada y luego la fase de inicialización continúa. Cada imagen del sistema operativo sucesiva se basa en la funcionalidad de la imagen del sistema operativo anterior. Mientras que otros dispositivos pueden arrancar un sistema operativo en etapas, no usan el mismo sistema operativo durante todo el proceso. En general, estos sistemas realizan la funcionalidad crítica en el BIOS o en un sistema operativo secundario para arrancar inicialmente el dispositivo y luego reemplazar esa funcionalidad con un sistema operativo de reemplazo.
El dispositivo de almacenamiento masivo 14 está conectado a la CPU 5 a través de un controlador de almacenamiento masivo (no mostrado) conectado al bus 12. El dispositivo de almacenamiento masivo 14 y sus medios legibles por ordenador asociados proporcionan almacenamiento no volátil para el ordenador 100. Aunque la descripción de los medios legibles por ordenador contenido en la presente se refiere a un dispositivo de almacenamiento masivo, tal como un disco duro, una unidad de DVD o una unidad de CD-ROM. Los medios legibles por ordenador pueden ser cualquier medio disponible al que pueda acceder el ordenador 100.
A modo de ejemplo, y no de forma limitativa, los medios legibles por ordenador pueden comprender medios de almacenamiento por ordenador y medios de comunicación. Los medios de almacenamiento por ordenador incluyen medios volátiles y no volátiles, extraíbles y no extraíbles implementados en cualquier método o tecnología para el almacenamiento de información, tal como instrucciones legibles por ordenador, estructuras de datos, módulos de programas u otros datos. Los medios de almacenamiento por ordenador incluyen, pero sin limitación, RAM, ROM,
EPROM, EEPROM, memoria flash u otra tecnología de memoria de estado sólido, CD-ROM, discos versátiles digitales ("DVD") u otro almacenamiento óptico, casetes magnéticos, cinta magnética, almacenamiento en disco magnético u otros dispositivos de almacenamiento magnético, o cualquier otro medio que se pueda usar para almacenar la información deseada y al que pueda acceder el ordenador 100.
De acuerdo con varias realizaciones, el equipo 100 puede operar en un entorno en red usando conexiones lógicas a ordenadores remotas a través de una red 18, tal como Internet. El ordenador 100 se puede conectar a la red 18 a través de una unidad de interfaz de red 20 conectada al bus 12. La unidad de interfaz de red 20 también se puede utilizar para conectarse a otros tipos de redes y sistemas de ordenador remotos. La conexión puede ser una conexión cableada y/o inalámbrica.
Como se mencionó brevemente más arriba, varios módulos de programa y archivos de datos se pueden almacenar en la memoria del ordenador 100, incluido un sistema operativo 16 adecuado para controlar la operación de un dispositivo de computación. El dispositivo de computación 100 puede ser un sistema incrustado que incluye un sistema operativo incrustado, así como otros datos, archivos y aplicaciones incrustados.
De acuerdo con una realización, toda o parte de la memoria puede ser memoria FLASH, o alguna otra memoria adecuada para sistemas incrustados. El dispositivo de almacenamiento masivo 14 y la RAM 9 también pueden almacenar uno o más módulos de programa.
La FIGURA 2 muestra un ejemplo de sistema de archivos que está configurado para soportar la inicialización de un sistema operativo en etapas discretas. Como se ilustra, el sistema de archivos 200 incluye la aplicación 202, solicitudes de sistema de archivos 204, sistema de archivos virtual 230 que comprende el controlador de inicialización 234 y el sistema de archivos subyacente 232 que comprende la imagen primaria 236 y la imagen secundaria (s) 238.
Cuando una aplicación 202 solicita que los datos se lean o escriban desde un volumen adjunto a través de una solicitud del sistema de archivos 204, la solicitud se pasa al sistema de archivos virtual 230 implementado por el controlador de inicialización 234.
El controlador de inicialización 234 permite que las imágenes del sistema operativo (imagen primaria 236 e imagen secundaria 238) se vean como un sistema de archivos cohesivo por cualquier aplicación, tal como la aplicación 202. Cada imagen del sistema operativo (imagen primaria 236 e imagen secundaria 238) que se almacenan de manera independiente, ya que los archivos separados se pueden cargar como una superposición y aparecer en el sistema como un conjunto único de archivos dentro del sistema de archivos virtual 230. Las imágenes del sistema operativo se pueden almacenar en el sistema de archivos subyacente 232 y/o en la RAM, en cuyo caso el controlador de inicialización 234 accede a los sistemas operativos directamente desde la memoria.
De acuerdo con una realización, cuando se carga una imagen del sistema operativo completo, el controlador de inicialización 234 carga cada una de las imágenes del sistema operativo que están presentes dentro de la RAM y/o el sistema de archivos subyacente y encadena las imágenes del sistema operativo. El encadenamiento de la imagen de inicialización primaria 236 con las imágenes del sistema operativo secundarias 238 permite que el sistema operativo inicialización desde múltiples archivos. De acuerdo con una realización, el controlador de inicialización 234 examina la información de configuración para identificar la imagen operativa apropiada desde la cual arrancará inicialmente. Si la información de configuración no está disponible, o no se encuentra, el controlador de inicialización 234 busca un archivo de inicialización en el nivel raíz del sistema de archivos subyacente 232. Como se mencionó anteriormente, la imagen primaria 236 está configurada para proporcionar un conjunto mínimo de funcionalidad de red de modo que la imagen secundaria 238 se puede obtener usando protocolos de red estándares.
La FIGURA 3 muestra una línea de tiempo por fases para inicializar un dispositivo en etapas discretas. Como se ilustra, la línea de tiempo se divide en una fase POST/DHCP 310, una fase PXE 320, una fase de descarga de imagen de inicialización primaria 330, una fase de descarga de imagen secundaria 340 y una fase de inicialización final 350. Cada fase del proceso está marcada por un evento específico junto con una descripción básica de las tareas y eventos identificados dentro de cada fase.
De acuerdo con una realización, después que se enciende el dispositivo, se ejecuta una auto-prueba de encendido (POST). De acuerdo con una realización, cuando se completa la POST, la tarjeta de interfaz de red (NIC) del dispositivo envía un mensaje de descubrimiento DHCP para obtener una dirección IP para el dispositivo. La solicitud DHCP incluye la información para solicitar información de inicialización PXE, así como para solicitar la ubicación de un servidor PXE.
Durante la fase PXE 320, el dispositivo solicita y recibe la información de inicialización de PXE y descarga la secuencia de inicialización de red y el cargador del sistema operativo, tal como el cargador OS. También se pueden obtener otros datos de configuración de inicialización e información. Por ejemplo, se puede obtener la ubicación de la imagen de inicialización primaria, ya sea para descargar la imagen de inicialización primaria de un servidor u obtenerla de un dispositivo de almacenamiento masivo local. Como se explicó anteriormente, la imagen de inicialización primaria se puede almacenar en el dispositivo. Cuando la imagen de inicialización primaria se almacena en el dispositivo, la fase PXE 320 y la fase de descarga de imagen de inicialización primaria 330 se
pueden omitir. Cuando el dispositivo ya no incluye la imagen de inicialización primaria, el dispositivo envía la solicitud PXE al servidor.
De acuerdo con una realización, TFTP se usa para descargar el programa de inicialización PXE (startrom), el cargador del sistema operativo (cargador OS), los datos de configuración de inicialización y otros archivos como se designa en la respuesta PXE. Una vez que se descargan estos componentes, el proceso pasa a la fase de descarga de la imagen de inicialización primaria 330 donde el dispositivo carga el cargador OS, que de acuerdo con una realización: crea un disco RAM y descarga una imagen de inicialización primaria mediante TFTP, y pone esta imagen en el disco RAM.
El cargador de OS comienza el proceso de inicialización y utiliza un protocolo de unidifusión (TFTP) para descargar la imagen de inicialización primaria. Una vez descargados, estos componentes del sistema operativo básicos, incluido un núcleo, un cliente de red, controladores, etc., se cargan en el dispositivo.
La imagen de inicialización primaria proporciona más funcionalidad antes cargar el sistema operativo completo. De acuerdo con una realización, los componentes de la imagen de inicialización primaria incluyen: gestión del disco RAM; cliente de multidifusión; solicitud de identidad del dispositivo; y solicitud de estado. Durante la fase de descarga de la imagen de inicialización primaria 330, se descarga la definición de la imagen restante del sistema operativo, se cambia el tamaño del disco RAM para aceptar la imagen secundaria, y se descargan los paquetes de identidad/estado del dispositivo (mediante un protocolo de unidifusión) por eficiencia).
De acuerdo con una realización, el cliente de multidifusión nativo luego se inicia y se envía una solicitud al servidor de multidifusión. Si el servidor de multidifusión no está "transmitiendo", comenzará a transmitir las imágenes secundarias apropiadas. Si ya está transmitiendo imágenes del sistema operativo secundario, pone en cola la imagen solicitada para este cliente. Luego, el dispositivo comienza a "escuchar" la transmisión de multidifusión, acepta los datos que se especifican en la definición de imagen y vuelve a ensamblar o procesar la imagen secundaria en el disco RAM. Cuando se completa el reensamblaje, se solicitan la identidad del dispositivo y la información de estado, y se reanuda el proceso de inicialización del dispositivo. Alternativamente, las imágenes del sistema operativo se pueden obtener usando el protocolo de unidifusión. Las imágenes del sistema operativo secundarias se descargan para mejorar la funcionalidad del sistema operativo al pasar de un sistema operativo de red liviano y genérico a un sistema operativo totalmente configurado, tal como el sistema operativo MICROSOFT WINDOWS ® de MICROSOFT CORPORATION de Redmond, Washington
En la fase de inicialización final 350, el proceso de inicialización continúa usando la misma base del sistema operativo que se usó en la etapa de inicialización sin requerir un reinicio del sistema.
Con referencia ahora a la FIGURA 4, se describirá un proceso ilustrativo para iniciar un sistema operativo en etapas discretas. Al leer la discusión de las rutinas presentadas en este documento, se debe apreciar que las operaciones lógicas de varias realizaciones se implementan (1) como una secuencia de actos implementados por ordenador o módulos de programa que se ejecutan en un sistema de computación y/o (2) como circuitos lógicos de la máquina interconectados o módulos de circuitos dentro del sistema de computación. La implementación es una cuestión de elección que depende de los requerimientos de rendimiento del sistema de computación. Por consiguiente, las operaciones lógicas ilustradas y que constituyen las realizaciones de las descriptas en la presente se denominan, de manera diversa, operaciones, dispositivos estructurales, actos o módulos. Estas operaciones, dispositivos estructurales, actos y módulos se pueden implementar en software, en firmware, en lógica digital para propósitos especiales y en cualquier combinación de los mismos.
La FIGURA 4 muestra un proceso 400 para iniciar un sistema operativo en etapas discretas. Después de una operación de inicio, el proceso se mueve a la operación 405 donde se obtiene la imagen de inicialización primaria. El bloque de decisión 410 determina si la imagen de inicialización primaria se almacena en el disco o si la imagen de inicialización primaria se almacena en una ubicación de red.
Cuando la imagen de inicialización primaria se almacena en un disco, o dentro de otra ubicación de memoria del dispositivo, el proceso pasa a la operación 420 donde la imagen de inicialización primaria se obtiene del dispositivo. Cuando la imagen de inicialización primaria se almacena en una ubicación de red, el proceso pasa a la operación 415 donde se obtiene la imagen de inicialización primaria de la ubicación de red. Como se discutió anteriormente, la imagen de inicialización primaria incluye suficientes capacidades de red para instanciar un cliente de red en el dispositivo. Una vez que se obtiene la imagen de inicialización primaria, el proceso de inicialización se inicia en la operación 425.
Durante el arranque inicial del dispositivo, el cliente de red se carga en la operación 430. Una vez que el cliente de red se carga, el proceso de inicialización para el dispositivo se pausa en la operación 435. El proceso puede pasar a la operación de autenticación 438 que proporciona una oportunidad para autenticar uno o más de: el cliente, un servidor y el usuario. La falla en la autenticación de uno de los anteriores, se puede anular el proceso de inicialización. Cuando se autentica el dispositivo, el proceso de inicialización continúa con la operación 440, de modo que se pueden obtener una o más imágenes del sistema operativo secundarias. Las imágenes secundarias proporcionan más funcionalidad al sistema operativo. El cliente de red puede usar protocolos seguros para
descargar las imágenes secundarias, así como proporcionar soporte multidifusión.
En la transición a la operación 445, la imagen del sistema operativo secundaria recientemente obtenida se encadena a la imagen anterior. En el caso de obtener la primera imagen secundaria del sistema operativo, se encadena a la imagen de inicialización primaria. El encadenamiento de las imágenes crea una imagen lógica de un sistema operativo único como se explicó anteriormente con respecto a la FIGURA 2.
Fluyendo al bloque de decisión 450, se realiza una determinación en cuanto si hay más imágenes del sistema operativo secundarias para obtener. El sistema operativo puede comprender cualquier número de imágenes del sistema operativo secundarias. Por ejemplo, un sistema operativo completo puede incluir dos imágenes del sistema operativo secundarias, mientras que otro sistema operativo completo puede incluir tres o más imágenes del sistema operativo secundarias.
Cuando ya no hay más imágenes del sistema operativo secundarias para cargar y encadenar los flujos del proceso para continuar con la operación 455 donde se continúa el proceso de inicio para agregar la funcionalidad de las imágenes del sistema operativo recién encadenadas. Si bien se ilustra el proceso continuo 455 después de obtener todas las imágenes del sistema operativo secundarias, el proceso de inicialización puede continuar alternativamente después de obtener cada imagen secundaria. El proceso luego pasa a una operación final y vuelve a procesar otras acciones.
La memoria descriptiva, los ejemplos y los datos anteriores proporcionan una descripción completa de la fabricación y el uso de la composición de la invención. Dado que muchas de las realizaciones de la invención se pueden realizar sin apartarse del alcance de la invención, la invención reside en las reivindicaciones que se adjuntan a continuación.
Claims (13)
1. Un procedimiento implementado por ordenador para inicializar un sistema operativo en etapas discretas en un dispositivo, que comprende:
obtener una imagen de inicialización primaria (405), en la que la imagen de inicialización primaria incluye al menos un cliente de red que está configurado para proporcionar una funcionalidad de red al sistema operativo; arrancar el dispositivo usando la imagen de inicialización primaria (425);
pausar la inicialización del dispositivo después de cargar el cliente de red;
obtener, usando el cliente de red, una imagen del sistema operativo secundaria (440) que se basa en la funcionalidad de la imagen de inicialización primaria, en el que la imagen del sistema operativo secundaria proporciona funcionalidad adicional al sistema operativo;
encadenar la imagen del sistema operativo secundaria a la imagen de inicialización primaria (445) para formar una imagen lógica de un sistema operativo completo; y continuar la inicialización del dispositivo después de la operación de encadenamiento.
2. El procedimiento de la reivindicación 1, en el que obtener la imagen de inicialización primaria comprende obtener la imagen de inicialización primaria tanto de un almacenamiento en el dispositivo como de una ubicación de red.
3. El procedimiento de la reivindicación 2, en el que obtener la imagen de inicialización primaria de la ubicación de red comprende usar un estándar entorno de ejecución previo a la inicialización de Intel, PXE.
4. El procedimiento de la reivindicación 1, que además comprende:
realizar una operación de autenticación después de pausar la inicialización del dispositivo.
5. El procedimiento de una cualquiera de las reivindicaciones 1 a 4, en el que la imagen de inicialización primaria y la imagen del sistema operativo secundaria se mantienen como archivos separados en el dispositivo en un sistema de archivos subyacente.
6. El procedimiento de una cualquiera de las reivindicaciones 1 a 5, en el que el uso del cliente de red para obtener la imagen del sistema operativo secundaria comprende un protocolo de multidifusión.
7. Un aparato que incluye un sistema operativo que se inicializa en etapas discretas, que comprende:
un procesador (5) y un medio legible por ordenador (14);
una unidad de interfaz de red (20); y
un entorno operativo almacenado en el medio legible por ordenador y que se ejecuta en el procesador y que se configura para obtener una imagen de inicialización primaria (26) que incluye un cliente de red que se configura para interactuar con la unidad de interfaz de red para proporcionar una funcionalidad de red al sistema operativo, dicha imagen de inicialización primaria que se usa para iniciar un proceso de inicialización para el aparato,
en el que el cliente de red se configura para descargar una imagen del sistema operativo secundaria (32) que se basa en la funcionalidad del sistema operativo primario, en el que la imagen del sistema operativo secundaria proporciona la funcionalidad adicional al sistema operativo, y en el que el proceso de inicialización se pausa después de cargar el cliente de red entre la obtención de la imagen de inicialización primaria y la descarga de la imagen del sistema operativo secundaria; en el que la imagen de inicialización primaria y la imagen del sistema operativo secundaria se encadenan para formar una imagen lógica de un sistema operativo completo único (16), y en el que el proceso de inicialización se reanuda después de dicho encadenamiento.
8. El aparato de la reivindicación 7, en el que el entorno operativo se configura para realizar al menos uno de: cargar la imagen de inicialización primaria del medio legible por ordenador y arrancar el dispositivo usando la imagen de inicialización primaria;
obtener la imagen de inicialización primaria de una ubicación de red usando la unidad de interfaz de red.
9. El aparato de la reivindicación 8, en el que la obtención de la imagen de inicialización primaria de la ubicación de red comprende el uso de un estándar Entorno de Ejecución Previo a la Inicialización de Intel, PXE, con la unidad de interfaz de red.
10. El aparato de una cualquiera de las reivindicaciones 7 a 9, que además comprende un controlador de inicialización que se configura para interactuar con la imagen de inicialización primaria y la imagen del sistema operativo secundaria; y
en el que la obtención de la imagen del sistema operativo secundaria de la red comprende el uso de un protocolo de multidifusión.
11. Un medio legible por ordenador que tiene instrucciones ejecutables por ordenador para iniciar un sistema operativo para un dispositivo en etapas discretas, comprendiendo las instrucciones:
obtener una imagen de inicialización primaria (405), en la que la imagen de inicialización primaria incluye un cliente de red que se configura para proporcionar al menos una funcionalidad de red al sistema operativo;
inicializar el dispositivo para cargar un cliente de red (425); iniciar el cliente de red (430);
pausar la inicialización del dispositivo (435) después de iniciar el cliente de red;
descargar, usando el cliente de red, una imagen del sistema operativo secundaria (440) que se basa en la funcionalidad de la imagen de inicialización primaria,
en el que la imagen del sistema operativo secundaria proporciona funcionalidad adicional al sistema operativo; encadenar la imagen de inicialización primaria con la imagen secundaria para formar una imagen lógica de un sistema operativo completo único (445); y
continuar la inicialización del dispositivo después de la operación de encadenamiento.
12. El medio legible por ordenador de la reivindicación 11, que además comprende obtener la imagen de inicialización primaria de uno de: un almacenamiento en el dispositivo y una ubicación de red.
13. El medio legible por ordenador de la reivindicación 11 o 12, en el que la imagen de inicialización primaria y la imagen del sistema operativo secundaria se mantienen como archivos separados en el dispositivo, pero aparecen en una aplicación como un sistema de archivo único; y
en el que la obtención de la imagen de inicialización primaria utiliza un protocolo unidifusión y obtener la imagen de inicialización secundaria utiliza un protocolo de multidifusión.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US11/418,761 US7673131B2 (en) | 2006-05-05 | 2006-05-05 | Booting an operating system in discrete stages |
| PCT/US2007/009330 WO2007130267A1 (en) | 2006-05-05 | 2007-04-17 | Booting an operating system in discrete stages |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2699712T3 true ES2699712T3 (es) | 2019-02-12 |
Family
ID=38662486
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES07755561T Active ES2699712T3 (es) | 2006-05-05 | 2007-04-17 | Inicialización de un sistema operativo en etapas discretas |
Country Status (9)
| Country | Link |
|---|---|
| US (1) | US7673131B2 (es) |
| EP (1) | EP2021940B1 (es) |
| JP (1) | JP5307706B2 (es) |
| KR (1) | KR101365904B1 (es) |
| CN (1) | CN101438266B (es) |
| BR (1) | BRPI0710288A2 (es) |
| ES (1) | ES2699712T3 (es) |
| RU (1) | RU2439678C2 (es) |
| WO (1) | WO2007130267A1 (es) |
Families Citing this family (48)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7624260B2 (en) * | 2006-05-04 | 2009-11-24 | Qnx Software Systems Gmbh & Co. Kg | System executing a fast boot wake-up |
| US20070266231A1 (en) * | 2006-05-15 | 2007-11-15 | Huey-Tyug Chua | Portable Electronic Device and Method for Loading Resource Data of the Portable Electronic Device |
| JP4366698B2 (ja) * | 2006-07-27 | 2009-11-18 | 日本電気株式会社 | 計算機、計算機システム、及びディスクイメージ配布方法 |
| US8312449B2 (en) * | 2006-10-31 | 2012-11-13 | International Business Machines Corporation | Viral installation of operating systems in a network |
| US7941599B2 (en) * | 2007-03-23 | 2011-05-10 | Kace Networks, Inc. | IT automation appliance imaging system and method |
| US8065510B2 (en) * | 2007-07-30 | 2011-11-22 | Hewlet-Packard Development Company, L.P. | System and methods of retrieving firmware between network locations |
| US9003173B2 (en) * | 2007-09-28 | 2015-04-07 | Microsoft Technology Licensing, Llc | Multi-OS (operating system) boot via mobile device |
| US8220041B2 (en) | 2007-12-13 | 2012-07-10 | Trend Micro Incorporated | Method and system for protecting a computer system during boot operation |
| JP4384243B1 (ja) * | 2008-06-30 | 2009-12-16 | 株式会社東芝 | 情報処理装置および起動方法 |
| US8041793B2 (en) * | 2008-09-24 | 2011-10-18 | Dell Products L.P. | Boot image discovery and delivery system |
| WO2010045262A1 (en) | 2008-10-14 | 2010-04-22 | Wanova Technologies, Ltd. | Storage-network de-duplication |
| GB0818918D0 (en) * | 2008-10-15 | 2008-11-19 | Icera Inc | Boot algorithm |
| CN101827163B (zh) * | 2009-03-04 | 2013-07-03 | 深圳富泰宏精密工业有限公司 | 手机资源数据动态加载系统及方法 |
| US8112505B1 (en) | 2009-10-20 | 2012-02-07 | Wanova Technologies, Ltd. | On-demand block-level file system streaming to remote desktops |
| US10394570B2 (en) | 2010-02-26 | 2019-08-27 | Hp Printing Korea Co., Ltd. | Method of generating boot image for fast booting and image forming apparatus for performing the method, and method of performing fast booting and image forming apparatus for performing the method |
| KR101636870B1 (ko) * | 2010-02-26 | 2016-07-06 | 삼성전자주식회사 | 최소 부트 이미지의 생성 방법 및 장치 |
| US8452952B2 (en) * | 2010-10-20 | 2013-05-28 | Wyse Technology Inc. | Methods and apparatus for building system images and split booting |
| GB2503384A (en) * | 2011-04-01 | 2013-12-25 | Hewlett Packard Development Co | Booting a computing device to have a predefined functionality |
| US9063756B2 (en) | 2011-12-29 | 2015-06-23 | Vmware, Inc. | Device dependent rules for synchronizing desktop images and managing hardware dependencies |
| CA2773095C (en) * | 2012-03-27 | 2014-12-02 | Yin Sheng Zhang | Computer with flexible operating system |
| TWI592808B (zh) * | 2012-08-17 | 2017-07-21 | High-speed automated cluster system deployment using virtual disks | |
| KR101959359B1 (ko) | 2012-11-06 | 2019-03-18 | 에이치피프린팅코리아 유한회사 | 빠른 부팅을 위한 부트 이미지를 업데이트하는 방법 및 이를 수행하는 화상형성장치 |
| KR101990868B1 (ko) * | 2013-02-05 | 2019-06-19 | 주식회사 알티캐스트 | 방송 서비스 보안 모듈 다운로드 제어 방법 및 장치 |
| US10656800B2 (en) | 2013-03-29 | 2020-05-19 | Microsoft Technology Licensing, Llc | Visual configuration and activation |
| US10452222B2 (en) | 2013-05-29 | 2019-10-22 | Microsoft Technology Licensing, Llc | Coordination of system readiness tasks |
| WO2014201350A1 (en) * | 2013-06-14 | 2014-12-18 | Huawei Technologies Co., Ltd. | Bootstrapping from a remote disk image via a network |
| US9813485B2 (en) * | 2013-06-14 | 2017-11-07 | 1E Limited | Communication of virtual machine data |
| US9141373B2 (en) * | 2013-07-31 | 2015-09-22 | Arista Networks, Inc. | System and method for accelerated software upgrades |
| US9189345B1 (en) * | 2013-09-25 | 2015-11-17 | Emc Corporation | Method to perform instant restore of physical machines |
| KR102116096B1 (ko) * | 2013-12-20 | 2020-05-27 | 한화테크윈 주식회사 | 다중시스템 및 이의 부팅 방법 |
| FR3019336B1 (fr) * | 2014-03-25 | 2016-03-25 | Bull Sas | Procede et dispositif de controle du changement de systeme d'exploitation dans des nœuds de service d'un calculateur haute performance |
| US9921819B2 (en) | 2014-12-29 | 2018-03-20 | Airwatch Llc | Persistent mobile device enrollment |
| US10102008B2 (en) * | 2015-09-02 | 2018-10-16 | Dell Products L.P. | Managed boot process system |
| CN108139916B (zh) * | 2015-10-06 | 2021-04-30 | 赛灵思公司 | 可编程逻辑设备的多阶段引导映像加载和配置 |
| US9864605B2 (en) | 2015-11-03 | 2018-01-09 | Xilinx, Inc. | Multistage boot image loading by configuration of a bus interface |
| CN110192191B (zh) * | 2017-03-21 | 2023-06-20 | 惠普发展公司,有限责任合伙企业 | 操作系统取回 |
| US10445106B2 (en) | 2017-03-22 | 2019-10-15 | Vmware, Inc. | Persistent enrollment of a computing device using a BIOS |
| US10620965B2 (en) | 2017-03-22 | 2020-04-14 | Vmware, Inc. | Internet recovery of a windows configuration |
| US10635819B2 (en) * | 2017-03-22 | 2020-04-28 | Vmware, Inc. | Persistent enrollment of a computing device based on a temporary user |
| US10409619B2 (en) | 2017-03-22 | 2019-09-10 | Vmware, Inc. | Persistent enrollment of a computing device using vendor autodsicovery |
| US10740109B2 (en) * | 2017-03-22 | 2020-08-11 | Vmware, Inc. | Configuring a computing device using managed operating system images |
| US10838739B2 (en) | 2018-04-19 | 2020-11-17 | Circle Media Labs Inc. | Network-connected computing devices and methods for executing operating programs in RAM memory |
| US10838736B2 (en) * | 2018-07-26 | 2020-11-17 | Vmware, Inc. | Bare metal device management |
| US10841160B2 (en) | 2018-11-08 | 2020-11-17 | Arista Networks, Inc. | System and method for processing messages during a reboot of a network device |
| US11765024B2 (en) * | 2020-04-24 | 2023-09-19 | Hewlett Packard Enterprise Development Lp | Automatic provisioning of a computing device with operating system and network processing functions |
| US20250245018A1 (en) * | 2024-01-31 | 2025-07-31 | Dell Products L.P. | Multi-Processing Unit Type Adaptive Memory Diagnostic Acceleration |
| US20250252185A1 (en) * | 2024-02-01 | 2025-08-07 | Dell Products L.P. | Processor Environment Context Aware Information Handling System Operating Mode Management |
| US20260030031A1 (en) * | 2024-07-25 | 2026-01-29 | Dell Products L.P. | Chip Set Central Processing Unit Cross Reference Code Aligned Basic Input/Output System for Seamless Boot |
Family Cites Families (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5367688A (en) * | 1987-09-04 | 1994-11-22 | Digital Equipment Corporation | Boot system for distributed digital data processing system |
| US6678712B1 (en) * | 1996-01-19 | 2004-01-13 | International Business Machines Corporation | Method and system for executing a program under one of a plurality of mutually exclusive operating environments |
| US6128734A (en) * | 1997-01-17 | 2000-10-03 | Advanced Micro Devices, Inc. | Installing operating systems changes on a computer system |
| GB2334354B (en) * | 1998-02-13 | 2003-04-16 | Ibm | Booting a computer system from a network |
| US6421777B1 (en) * | 1999-04-26 | 2002-07-16 | International Business Machines Corporation | Method and apparatus for managing boot images in a distributed data processing system |
| RU2258252C2 (ru) * | 2000-07-25 | 2005-08-10 | Макровижн Корпорейшн | Система и способ проверки подлинности динамически подключаемых исполняемых образов |
| US6687820B2 (en) * | 2000-12-07 | 2004-02-03 | International Business Machines Corporation | System includes a selection manager for remotely managing the selection of an operating system for a target computer |
| US6810478B1 (en) * | 2000-12-12 | 2004-10-26 | International Business Machines Corporation | System for remote booting of muntliple operating systems using chained bootstrap mechanism in a network |
| US6961941B1 (en) * | 2001-06-08 | 2005-11-01 | Vmware, Inc. | Computer configuration for resource management in systems including a virtual machine |
| US6941518B2 (en) * | 2001-06-29 | 2005-09-06 | International Business Machines Corporation | Method and system for booting of a target device in a network environment based on a provided administrator topology GUI |
| EP1274009A3 (en) * | 2001-07-03 | 2003-12-03 | Hewlett-Packard Company | System and method to enable a legacy BIOS system to boot from a disk that includes EFI GPT partitions |
| JP2003216431A (ja) * | 2002-01-18 | 2003-07-31 | Cec:Kk | Icカードのオペレーティングシステム更新システムおよび当該システムに使用するicカード |
| US7299354B2 (en) * | 2003-09-30 | 2007-11-20 | Intel Corporation | Method to authenticate clients and hosts to provide secure network boot |
| US8230095B2 (en) * | 2004-05-07 | 2012-07-24 | Wyse Technology, Inc. | System and method for integrated on-demand delivery of operating system and applications |
| JP2006053615A (ja) * | 2004-08-09 | 2006-02-23 | Ricoh Co Ltd | プリンタシステム、及びプリンタ装置 |
-
2006
- 2006-05-05 US US11/418,761 patent/US7673131B2/en not_active Expired - Fee Related
-
2007
- 2007-04-17 BR BRPI0710288-7A patent/BRPI0710288A2/pt not_active IP Right Cessation
- 2007-04-17 CN CN2007800161139A patent/CN101438266B/zh not_active Expired - Fee Related
- 2007-04-17 EP EP07755561.3A patent/EP2021940B1/en not_active Not-in-force
- 2007-04-17 KR KR1020087026854A patent/KR101365904B1/ko not_active Expired - Fee Related
- 2007-04-17 JP JP2009509586A patent/JP5307706B2/ja not_active Expired - Fee Related
- 2007-04-17 ES ES07755561T patent/ES2699712T3/es active Active
- 2007-04-17 RU RU2008143215/08A patent/RU2439678C2/ru not_active IP Right Cessation
- 2007-04-17 WO PCT/US2007/009330 patent/WO2007130267A1/en not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| WO2007130267A1 (en) | 2007-11-15 |
| JP2009536399A (ja) | 2009-10-08 |
| KR101365904B1 (ko) | 2014-02-21 |
| RU2008143215A (ru) | 2010-05-10 |
| EP2021940A1 (en) | 2009-02-11 |
| US7673131B2 (en) | 2010-03-02 |
| CN101438266B (zh) | 2012-10-10 |
| JP5307706B2 (ja) | 2013-10-02 |
| EP2021940B1 (en) | 2018-09-05 |
| BRPI0710288A2 (pt) | 2011-08-09 |
| EP2021940A4 (en) | 2010-09-01 |
| KR20090007575A (ko) | 2009-01-19 |
| RU2439678C2 (ru) | 2012-01-10 |
| CN101438266A (zh) | 2009-05-20 |
| US20070260868A1 (en) | 2007-11-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2699712T3 (es) | Inicialización de un sistema operativo en etapas discretas | |
| US7360072B1 (en) | iSCSI system OS boot configuration modification | |
| US8041793B2 (en) | Boot image discovery and delivery system | |
| CN110495136B (zh) | 裸金属服务器的硬件属性发现方法和系统 | |
| US6857069B1 (en) | Modified operating system boot sequence for iSCSI device support | |
| US20140365755A1 (en) | Firmware authentication | |
| US20050193189A1 (en) | Device and method for booting an operating system for a computer from a passive directly attached network device | |
| US7668945B2 (en) | Network booting using a platform management coprocessor | |
| US9003000B2 (en) | System and method for operating system installation on a diskless computing platform | |
| US9507604B2 (en) | Boot method and boot system | |
| US10185575B2 (en) | Computing device for operating a machine session with persistent read cache and non-persistent write cache and related methods | |
| US20180165455A1 (en) | Secure execution environment on a server | |
| CN101091163B (zh) | 系统固件的可管理扩展方法、装置和系统 | |
| US20090172379A1 (en) | System and method to enable parallelization of early platform initialization | |
| US11194588B2 (en) | Information handling systems and method to provide secure shared memory access at OS runtime | |
| CN107567629B (zh) | 在可信执行环境容器中的动态固件模块加载器 | |
| US7127602B1 (en) | iSCSI computer boot system and method | |
| JP2006039888A (ja) | ホスティング環境を安全に構築する方法及びシステム | |
| US10853086B2 (en) | Information handling systems and related methods for establishing trust between boot firmware and applications based on user physical presence verification | |
| US8909746B2 (en) | System and method for operating system installation on a diskless computing platform | |
| CN117742800A (zh) | 启动项启动顺序的调整方法、装置、存储介质及电子设备 | |
| WO2016195624A1 (en) | Transferring an image file over a network | |
| US7899090B2 (en) | Remote installation performance over management controllers in monolithic and modular systems | |
| US20080040458A1 (en) | Network file system using a subsocket partitioned operating system platform | |
| JP2009230433A (ja) | ネットワークブート装置、プログラム及び方法 |