ES2699712T3 - Inicialización de un sistema operativo en etapas discretas - Google Patents

Inicialización de un sistema operativo en etapas discretas Download PDF

Info

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
Application number
ES07755561T
Other languages
English (en)
Inventor
Patrick B Azzarello
Anil A Ingle
Richard A Pletcher
Saad Syed
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Application granted granted Critical
Publication of ES2699712T3 publication Critical patent/ES2699712T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/22Microcontrol or microprogram arrangements
    • G06F9/24Loading 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)

REIVINDICACIONES
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.
ES07755561T 2006-05-05 2007-04-17 Inicialización de un sistema operativo en etapas discretas Active ES2699712T3 (es)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 プリンタシステム、及びプリンタ装置

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) ネットワークブート装置、プログラム及び方法