ES2332939T3 - Procedimiento y sistema para preservar datos volcados en caso de caida del sistema operativo. - Google Patents

Procedimiento y sistema para preservar datos volcados en caso de caida del sistema operativo. Download PDF

Info

Publication number
ES2332939T3
ES2332939T3 ES06701071T ES06701071T ES2332939T3 ES 2332939 T3 ES2332939 T3 ES 2332939T3 ES 06701071 T ES06701071 T ES 06701071T ES 06701071 T ES06701071 T ES 06701071T ES 2332939 T3 ES2332939 T3 ES 2332939T3
Authority
ES
Spain
Prior art keywords
core
operating
primary
data
dump
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
ES06701071T
Other languages
English (en)
Inventor
Venkatesh Babu
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.)
Nokia Solutions and Networks Oy
Original Assignee
Nokia Solutions and Networks Oy
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
Priority to US34247 priority Critical
Priority to US11/034,247 priority patent/US7484127B2/en
Application filed by Nokia Solutions and Networks Oy filed Critical Nokia Solutions and Networks Oy
Application granted granted Critical
Publication of ES2332939T3 publication Critical patent/ES2332939T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0742Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in a mobile device, e.g. mobile phones, handheld devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0778Dumping, i.e. gathering error/state information after a fault for later diagnosis

Abstract

Procedimiento para preservar datos de volcado de caída en una situación en la que se cae el sistema operativo, procedimiento que comprende: cargar y arrancar (20) un núcleo de sistema operativo primario; y usar el núcleo de sistema operativo primario para cargar y arrancar (22) un núcleo de sistema operativo secundario, en el que tanto el núcleo de sistema operativo primario como el secundario se cargan y arrancan antes de que se produzca una caída, en el que, en caso de caída: preparar (24) dicho núcleo de sistema operativo secundario para saltar de vuelta a dicho núcleo primario; saltar (25) de vuelta a dicho núcleo de sistema operativo primario; y usar dicho núcleo de sistema operativo primario para almacenar (28) dichos datos de volcado de caída.

Description

Procedimiento y sistema para preservar datos volcados en caso de caída del sistema operativo.

Campo de la invención

La invención se refiere a sistemas de información y computación que se ejecutan en un sistema operativo. En particular, la invención se refiere a preservar información de volcado de caída en sistemas sin disco.

Antecedentes de la invención

A medida que los dispositivos electrónicos se han vuelto más complejos, la mayoría de ellos se han equipado con un sistema operativo. El sistema operativo se carga en la memoria del dispositivo cuando se enciende el dispositivo. Debido a la complejidad de las tareas que es necesario procesar con tales dispositivos, también los sistemas operativos se han convertido en elementos de software complejos. Normalmente se sabe que los elementos de software complejos no funcionan perfectamente puesto que tienen defectos que normalmente se derivan de errores de programación. Cuando un elemento de software normal se cae debido a un defecto, normalmente se inicia una herramienta de depuración y se comprueba el motivo de la caída. Sin embargo, puede que esto no sea posible en caso de caída del sistema operativo. Si el sistema operativo se cae, la única solución para continuar usándolo puede ser volver a arrancarlo. Durante el rearranque toda la información de caída se perderá. Por tanto, la depuración no es posible.

Este problema se ha resuelto almacenando el contenido de la memoria RAM. En ordenadores normales, el contenido de RAM puede almacenarse en una partición intercambiable en un disco. Tras una caída, el ordenador se vuelve a arrancar, pero la unidad intercambiable no se vacía. Así, el contenido de la memoria durante la caída puede analizarse y depurarse. Naturalmente, esta solución no funciona en un sistema sin disco puesto que no puede usarse una partición intercambiable.

Una solución podría ser enviar la información de caída a través de una conexión de red a otro dispositivo de computación que tenga disco o a otros medios de almacenamiento para almacenar la información. Sin embargo, la comunicación a través de una conexión de red requiere el funcionamiento adecuado de un controlador del dispositivo de red y una pila de protocolos. Este podría no ser el caso si el sistema se cae durante la secuencia de arranque. Además, esta solución no puede aplicarse si el dispositivo no tiene ninguna conexión de red o la conexión de red no es adecuada para transferir datos de este tipo o no hay ningún dispositivo que pueda recibir la informa-
ción.

También es posible preservar la información durante la secuencia de arranque. Si se notifica una caída, el cargador de arranque solicita al BIOS que preserve el contenido de la RAM durante el arranque. Cuando el sistema operativo arranca de nuevo, los datos preservados se envían a un sistema remoto que tiene un disco u otros medios para almacenar la información preservada. El inconveniente de la solución es que el procedimiento requiere soporte del BIOS. Sin embargo, no todos los sistemas tienen un BIOS que soporte este tipo de comportamiento. Por tanto, este procedimiento no puede aplicarse en todos los sistemas.

El procedimiento de la técnica anterior más sofisticado usa núcleos primario y secundario. Durante el arranque, el núcleo primario del sistema operativo carga el núcleo secundario en alguna ubicación predefinida de la memoria. Al producirse una caída, el núcleo primario salta al núcleo secundario que envía la información de caída a un sistema remoto, que tiene un disco u otro medio de almacenamiento. Sin embargo, si el núcleo primario se cae durante la secuencia de arranque, es posible que el núcleo secundario no se haya cargado todavía. Por tanto, el procedimiento no puede aplicarse en casos en los que el núcleo primario se cae antes de cargar el núcleo secundario.

El documento EP 1 199 636 describe un sistema informático con un sistema operativo primario, un sistema operativo de emergencia y una copia buena conocida del sistema operativo primario. En el caso de que se detecte un fallo en el sistema operativo primario, se arranca el sistema operativo de emergencia. El sistema operativo de emergencia reconstruye el sistema operativo primario utilizando la copia buena conocida del sistema operativo primario.

Por tanto, existe una necesidad de un mecanismo para preservar la información de caída de modo que no sea necesario un soporte de BIOS y que debe funcionar de manera fiable en todos los casos de problemas con el sistema operativo en un sistema sin disco. Además, la solución no debe depender excesivamente del sistema operativo caído para preservar el contenido de RAM.

Sumario de la invención

La invención da a conocer un sistema y un procedimiento para preservar datos de volcado de caída en un dispositivo sin disco. La invención usa arranque en dos fases para arrancar un núcleo primario y uno secundario. El núcleo secundario es un núcleo de sistema operativo normal que se usa para ejecutar programas de aplicación. El núcleo primario es una versión reducida del núcleo secundario. El objetivo del núcleo primario es cargar el núcleo secundario y entonces actuar como un sistema de copia de seguridad al que el núcleo secundario puede saltar en caso de
caída.

El salto de vuelta al núcleo primario se implementa poniendo el procesador en el modo no protegido. Puesto que el modo no protegido no soporta memoria virtual, el código tiene que estar en espacio de dirección virtual de modo que su dirección física sea exactamente la misma que su dirección virtual. Así, el código puede ejecutarse aunque la memoria virtual no esté disponible en el modo no protegido. Tras el salto, el núcleo primario comprueba si el núcleo secundario se ha caído. Si el núcleo secundario se ha caído, el núcleo primario preserva los datos de volcado de caída. La preservación puede hacerse, por ejemplo, almacenando los datos en una memoria no volátil o enviándolos a través de una red a un sistema remoto. Tras preservar los datos de volcado de caída, el núcleo primario puede arrancar el sistema adecuadamente reinicializando el procesador, la memoria y otros componentes que podrían tener información atrasada que podría afectar a la estabilidad del sistema.

El beneficio de la invención es que es independiente y no requiere asistencia alguna por parte del hardware. Además, el procedimiento y el sistema según la invención no dependen ni de hardware ni de software. Por tanto, la invención es adecuada para cualquier componente de hardware en el que almacenar datos de volcado de caída sea beneficioso. La solución es fiable y preserva los datos de volcado de caída en todos los problemas de sistema opera-
tivo.

Estos objetivos se resuelven de manera ventajosa básicamente aplicando las características establecidas en las reivindicaciones independientes. Las reivindicaciones dependientes proporcionan mejoras adicionales.

\vskip1.000000\baselineskip
Breve descripción de los dibujos

Los dibujos adjuntos, que se incluyen para proporcionar una comprensión adicional de la invención y constituyen una parte de esta memoria descriptiva, ilustran realizaciones de la invención y junto con la descripción ayudan a explicar los principios de la invención. En los dibujos:

la figura 1 es un diagrama de bloques de una realización a modo de ejemplo de la presente invención,

la figura 2 es un diagrama de flujo de una realización a modo de ejemplo de la presente invención, y

la figura 3 es un diagrama de estructura de memoria de una implementación a modo de ejemplo.

\vskip1.000000\baselineskip
Descripción detallada de la invención

A continuación se hará referencia en detalle a las realizaciones de la presente invención, de las que se ilustran ejemplos en los dibujos adjuntos.

En la figura 1 se da a conocer un diagrama de bloques de una realización a modo de ejemplo. La invención se aplica en un entorno que incluye un dispositivo que se usa y que comprende datos que es necesario preservar tras una caída. En la figura 1 se presentan dos dispositivos 13 y 19. En el siguiente ejemplo, el dispositivo 13 es el dispositivo que requiere preservar los datos de volcado de caída y el dispositivo 19 es un dispositivo que está conectado a una red de comunicación y que puede comunicarse con el dispositivo 13. En el ejemplo, el dispositivo 19 es similar al dispositivo 13 aunque esto no es obligatorio.

El dispositivo 13 comprende una CPU 10, una memoria 11 no volátil, medios 12 de comunicación de datos y una memoria 14. De manera similar, el dispositivo 19 comprende una CPU 15, una memoria 16 no volátil, medios 17 de comunicación de datos y una memoria 18. Las memorias 11 y 16 no volátiles son opcionales. Sin embargo, si están presentes, podrían ser, por ejemplo, una memoria 11 flash y un disco 16 duro. También es posible disponer un disco duro en el dispositivo 13, pero la invención va dirigida en particular a preservar datos de volcado de caída en un sistema sin disco. Los dispositivos 13 y 19 están conectados con una conexión de red. La conexión puede ser cualquier conexión de red adecuada. Por ejemplo, si los dispositivos 13 y 19 son componentes de red de comunicación móvil celular, la red sería una red de comunicación móvil. En el siguiente ejemplo, el estado de la memoria 14 se preservará en caso de caída.

En la figura 2 se da a conocer un diagrama de flujo de un procedimiento según la invención. En el procedimiento se usan un núcleo primario y uno secundario. El procedimiento se inicia arrancando un núcleo primario, etapa 20. El núcleo primario prepara el arranque de un núcleo secundario, etapa 21, y lo arranca, etapa 22. Normalmente, esto se hace usando un cargador de arranque de múltiples fases que arranca ambos núcleos. El núcleo secundario se pone a disposición para las aplicaciones y el núcleo primario normalmente es una versión reducida del núcleo secundario. Después de la secuencia de arranque, el sistema operativo es completamente funcional y puede usarse normalmente y el usuario no notará ninguna diferencia hasta que se produzca una situación de caída.

En primer lugar, se detecta una situación de caída, etapa 23. Después de una situación de caída, el núcleo secundario prepara un salto al núcleo primario, etapa 24. Preparar el salto comprende, por ejemplo, apagar los controladores que pueden apagarse. Además, la preparación comprende una etapa importante de poner el procesador desde el modo protegido al modo no protegido. La preparación comprende además un código que configura tablas de segmentación, página e interrupción y vacía las memorias caché e intermedia internas. Puesto que el modo no protegido no soporta memoria virtual, el código tiene que estar en espacio de dirección virtual de modo que su dirección física sea exactamente la misma que su dirección virtual. Así, el código puede ejecutarse aunque la memoria virtual no esté disponible en el modo no protegido. Además, el núcleo secundario almacena información de volcado de caída en una ubicación, que puede leerse posteriormente. Tales ubicaciones son, por ejemplo, registros de procesador, una memoria no volátil, u otra similar. Si la información contiene muchos datos, puede almacenarse en la memoria RAM y el núcleo secundario pasa sólo un puntero a la ubicación de memoria. El salto real se implementa normalmente a través de un cargador de arranque. El núcleo secundario se dispone para ejecutar un salto tras realizar el procedimiento de preparación, etapa 25.

El núcleo primario inicia el arranque del sistema, etapa 26. Durante el arranque, el procedimiento del núcleo primario determina si se ha producido previamente una situación de caída, etapa 27. Si se ha producido una situación de caída, el núcleo primario inicia la preservación del estado del núcleo secundario. Por ejemplo, si el núcleo secundario ha almacenado datos de soporte de volcado de caída (como dirección de carga de núcleo, nombre de núcleo, hora de caída, mapa de bits de páginas de núcleo, etc.) en una ubicación de memoria, el núcleo primario extrae el puntero a la ubicación de memoria y a continuación recupera la información de soporte de volcado de caída. A continuación, el contenido de RAM del núcleo de secundario y datos de soporte de volcado de caída se preservan enviándolos a un sistema remoto, etapa 28. Si el dispositivo comprende un disco u otros medios de almacenamiento, la información puede almacenarse en los mismos. Tras preservar los datos, el dispositivo puede arrancarse normalmente reinicializando el procesador, la memoria y otros dispositivos que podrían afectar al funcionamiento del sistema operativo. En esta fase, el sistema está listo para volver a arrancharse etapa 29.

En la figura 3 se da a conocer un diagrama de estructura de memoria de una implementación a modo de ejemplo. La figura ilustra cómo se disponen los núcleos primario y secundario en la memoria. Las direcciones de memoria X e Y reales dependen del entorno operativo y pueden elegirse ajustando el entorno operativo, por ejemplo, eligiendo el sistema operativo o cantidad de memoria.

Según un procedimiento dado a conocer en la figura 2 se proporciona el siguiente marco de implementación a modo de ejemplo. El marco de implementación se diseña para funcionar en entorno compatible con PC basado en Intel y comprende diez etapas. Asimismo una implementación similar según el procedimiento dado a conocer en la figura 2 puede modificarse para otros entornos.

1. En un núcleo primario, preservar el puntero a la Tabla de Descriptores de Interrupción (IDT) de BIOS.

2. Cuando el núcleo secundario se cae, crear una estructura de datos de soporte de volcado de caída, que describe el estado del núcleo caído como dirección física de la base de núcleo y su tamaño, mapa de bits de las páginas de núcleo, etc.

3. Preservar los datos de soporte de volcado de caída en FLASH compacta. Requiere sólo unos cuantos kilobytes de espacio.

4. Manipular las tablas de página del núcleo caído para obtener una página mapeada PA == VA y reubicar la función de segmento de texto exit_to_bootloader() en esta página y transferir el control a la misma.

Nota: Crear espacio de dirección PA == VA

i. Definir de manera estática una página de memoria alineada en el límite de página. Cualquier parte de código puede almacenarse en esta página.

ii. En el tiempo de ejecución, determinar la dirección física (PA) de esa página

iii. Extraer el componente de directorio de página de la dirección física (bit 31 - 20)

1

\vskip1.000000\baselineskip

iv. Extraer el componente de tabla de página de la dirección física (bit 12 - 21)

2

\vskip1.000000\baselineskip

v. Obviamente, el desplazamiento de página será 0x0. Hay que asegurarse de esto.

\newpage

vi. Extraer entrada de directorio de página y entrada de tabla de página de esa dirección física (PA) y preservar esos valores

3

vii. Escribir nueva entrada de tabla de directorio de página

4

Asignar una nueva página para la tabla de página cuya dirección física es PAT

5

Configurar los permisos e indicadores de tabla de página en los 12 bits más bajos.

6

Configurar los permisos e indicadores de página en los 12 bits más bajos.

viii. Ahora realizar un salto largo a PA y vaciar la TLB.

ix. Ahora tenemos espacio de dirección PA == VA.

5. La función exit_to_bootloader() deshabilita todas las interrupciones, la aplicación de vigilancia, el modo de paginación y el modo protegido. A continuación vacía la TLB, caché de instrucción, etc. Devuelve los cambios anteriores a la copia RAM del núcleo caído de la tabla de página sin volver a cargar esos cambios en la unidad de gestión de memoria del procesador. Crea simples tablas GDT, LDT tal como hace el BIOS antes de saltar al cargador de arranque y carga la IDT de BIOS y a continuación salta a la dirección 0:7C00 en modo real del procesador.

6. La dirección 0:7C00 contiene la primera fase del cargador de arranque denominado Registro de Arranque Maestro (MBR), y que carga la segunda fase del cargador de arranque y a continuación el núcleo primario.

7. Durante la fase inicial de arranque, el núcleo primario advierte que el núcleo secundario anterior se ha caído. Si es así, no alterará la zona de memoria física del núcleo secundario caído anterior.

8. Una vez se ha arrancado por completo, el cliente de volcado de nivel usuario interpreta la RAM de núcleo secundario caído usando la estructura de datos de soporte de volcado de caída y transfiere el contenido de la RAM al sistema remoto a través de la interfaz de red.

9. Tras completar la transferencia de volcado, la tarjeta se reinicializa y se vuelve a arrancar limpiamente.

10. El proceso de servidor en el sistema remoto preserva el contenido de RAM del núcleo secundario en el disco duro local. Debe observarse que esta implementación supone que el núcleo primario o secundario no altera el espacio de dirección de BIOS por debajo de una zona de 1 MB. Por tanto, cuando el control se transfiere desde el núcleo secundario al cargador de arranque, puede acceder a los mismos recursos de BIOS.

En una solución alternativa, es posible asignar dos páginas libres para almacenar la tabla de directorio de página y la tabla de página y llenarla con contenido original y a continuación modificar las páginas libres y después actualizar el registro CR3. Aunque puede usarse el volcado de las tablas de página originales de imagen.

Es obvio para un experto en la técnica que con el avance de la tecnología, la idea básica de la invención puede implementarse de diversas maneras. La invención y sus realizaciones, por tanto, no se limitan a los ejemplos descritos anteriormente; sino que pueden variarse dentro del alcance de las reivindicaciones.

Claims (26)

1. Procedimiento para preservar datos de volcado de caída en una situación en la que se cae el sistema operativo, procedimiento que comprende:
cargar y arrancar (20) un núcleo de sistema operativo primario; y
usar el núcleo de sistema operativo primario para cargar y arrancar (22) un núcleo de sistema operativo secundario, en el que tanto el núcleo de sistema operativo primario como el secundario se cargan y arrancan antes de que se produzca una caída,
en el que, en caso de caída:
preparar (24) dicho núcleo de sistema operativo secundario para saltar de vuelta a dicho núcleo primario;
saltar (25) de vuelta a dicho núcleo de sistema operativo primario; y
usar dicho núcleo de sistema operativo primario para almacenar (28) dichos datos de volcado de caída.
\vskip1.000000\baselineskip
2. Procedimiento según la reivindicación 1, que comprende además volver a arrancar (29) el sistema después de que el núcleo de sistema operativo primario haya almacenado los datos de volcado de caída.
3. Procedimiento según la reivindicación 1 o la reivindicación 2, en el que dicho núcleo de sistema operativo primario es una versión reducida de dicho núcleo de sistema operativo secundario.
4. Procedimiento según cualquier reivindicación anterior, en el que dicho salto (25) de vuelta a dicho núcleo de sistema operativo primario se realiza a través de un cargador de arranque.
5. Procedimiento según cualquier reivindicación anterior, en el que dicho núcleo de sistema operativo primario está configurado para determinar si el núcleo de sistema operativo secundario se ha caído.
6. Procedimiento según cualquier reivindicación anterior, en el que dicha preparación de dicho núcleo de sistema operativo secundario para saltar de vuelta a dicho núcleo de sistema operativo primario comprende además:
cambiar el procesador de modo protegido a modo no protegido;
configurar tablas de segmentación, página e interrupción; y
vaciar las memorias caché e intermedias internas.
\vskip1.000000\baselineskip
7. Procedimiento según cualquier reivindicación 6, en el que dicho cambio a modo no protegido comprende disponer el código de programa en memoria virtual y memoria física exactamente en la misma dirección para permitir dicho cambio.
8. Procedimiento según cualquier reivindicación anterior, que comprende además almacenar datos de soporte de volcado de caída en una memoria no volátil.
9. Procedimiento según cualquier reivindicación anterior, en el que almacenar datos de volcado de caída comprende transferir dichos datos de volcado de caída a un sistema remoto.
10. Programa informático implementado en un medio legible por ordenador, dicho programa informático para preservar datos de volcado de caída en una situación en la que el sistema operativo se cae, en el que el programa informático realiza las siguientes etapas cuando se ejecuta en un dispositivo de procesamiento de datos:
cargar y arrancar (20) un núcleo de sistema operativo primario; y
usar el núcleo de sistema operativo primario para cargar y arrancar un núcleo de sistema operativo secundario, en el que tanto el núcleo de sistema operativo primario como el secundario se cargan y arrancan antes de que se produzca una caída,
en el que, en caso de caída:
preparar (24) dicho núcleo de sistema operativo secundario para saltar de vuelta a dicho núcleo de sistema operativo primario;
\global\parskip0.950000\baselineskip
saltar (25) de vuelta a dicho núcleo de sistema operativo primario; y
usar dicho núcleo de sistema operativo primario para almacenar el contenido de RAM del núcleo de sistema operativo secundario y datos de soporte de volcado de caída.
\vskip1.000000\baselineskip
11. Programa informático según la reivindicación 10, en el que dicho núcleo de sistema operativo primario es una versión reducida de dicho núcleo de sistema operativo secundario.
12. Programa informático según la reivindicación 10 o la reivindicación 11, en el que dicho salto de vuelta a dicho núcleo de sistema operativo primario se realiza a través de un cargador de arranque.
13. Programa informático según una cualquiera de las reivindicaciones 10 a 12, en el que dicho núcleo de sistema operativo primario está configurado para determinar si el núcleo de sistema operativo secundario se ha caído.
14. Programa informático según una cualquiera de las reivindicaciones 10 a 13, en el que dicha preparación para saltar de vuelta a dicho núcleo de sistema operativo primario comprende además:
cambiar el procesador de modo protegido a modo no protegido;
configurar tablas de segmentación, página e interrupción; y
vaciar las memorias caché e intermedias internas.
\vskip1.000000\baselineskip
15. Programa informático según la reivindicación 14, en el que dicho cambio a modo no protegido comprende disponer el código de programa en memoria virtual y memoria física exactamente en la misma dirección para permitir dicho cambio.
16. Programa informático según una cualquiera de las reivindicaciones 10 a 15, que comprende además almacenar datos de soporte de volcado de caída en una memoria no volátil.
17. Programa informático según una cualquiera de las reivindicaciones 10 a 16, en el que almacenar datos de volcado de caída comprende transferir dichos datos de volcado de caída a un sistema remoto.
18. Dispositivo (13) configurado para preservar datos de volcado de caída en una situación en la que se cae el sistema operativo, en el que el dispositivo comprende:
una memoria (14) para almacenar datos y código de programa;
un procesador (10) para ejecutar dicho código de programa;
un núcleo de sistema operativo primario que se carga en dicha memoria; y
un núcleo de sistema operativo secundario que se carga en dicha memoria y está adaptado para arrancarse por dicho núcleo primario, en el que tanto el núcleo de sistema operativo primario como el secundario están configurados para cargarse y arrancarse antes de que se produzca una caída, y en el que, en caso de caída, el dispositivo está configurado para saltar desde dicho núcleo de sistema operativo secundario a dicho núcleo de sistema operativo primario para el almacenamiento de dichos datos de volcado de caída por dicho núcleo de sistema operativo primario.
\vskip1.000000\baselineskip
19. Dispositivo según la reivindicación 18, en el que dicho núcleo de sistema operativo primario es una versión reducida de dicho núcleo de sistema operativo secundario.
20. Dispositivo según la reivindicación 18 o la reivindicación 19, en el que dicho dispositivo comprende además un cargador de arranque para saltar de vuelta a dicho núcleo de sistema operativo primario.
21. Dispositivo según una cualquiera de las reivindicaciones 18 a 20, en el que dicho núcleo de sistema operativo primario está configurado para determinar si el núcleo de sistema operativo secundario se ha caído.
22. Dispositivo según una cualquiera de las reivindicaciones 18 a 21, en el que dicho procesador comprende modos protegido y no protegido.
23. Dispositivo según una cualquiera de las reivindicaciones 18 a 22, en el que dicho dispositivo comprende además una memoria (11) no volátil para almacenar datos de volcado de caída.
24. Dispositivo según una cualquiera de las reivindicaciones 18 a 23, en el que dicho dispositivo comprende además una conexión a un sistema (19) remoto para almacenar datos de volcado de caída transfiriendo dichos datos de volcado de caída a dicho sistema remoto.
\global\parskip1.000000\baselineskip
25. Sistema configurado para preservar datos de volcado de caída en una situación en la que se cae el sistema operativo en un dispositivo, en el que el sistema comprende al menos:
un primer dispositivo (13);
un segundo dispositivo (19); y
una conexión de red entre dichos dispositivos,
en el que el primer dispositivo es un dispositivo según una cualquiera de las reivindicaciones 18 a 24.
\vskip1.000000\baselineskip
26. Sistema según la reivindicación 25, en el que dicho segundo dispositivo (19) está configurado para recibir los datos de volcado de caída enviados por el primer dispositivo (13).
ES06701071T 2005-01-13 2006-01-11 Procedimiento y sistema para preservar datos volcados en caso de caida del sistema operativo. Active ES2332939T3 (es)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US34247 1993-03-22
US11/034,247 US7484127B2 (en) 2005-01-13 2005-01-13 Method and system for preserving crash dump in a diskless system

Publications (1)

Publication Number Publication Date
ES2332939T3 true ES2332939T3 (es) 2010-02-15

Family

ID=36654673

Family Applications (1)

Application Number Title Priority Date Filing Date
ES06701071T Active ES2332939T3 (es) 2005-01-13 2006-01-11 Procedimiento y sistema para preservar datos volcados en caso de caida del sistema operativo.

Country Status (6)

Country Link
US (1) US7484127B2 (es)
EP (1) EP1854006B1 (es)
AT (1) AT441891T (es)
DE (1) DE602006008897D1 (es)
ES (1) ES2332939T3 (es)
WO (1) WO2006075048A1 (es)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070118138A (ko) * 2005-03-29 2007-12-13 후지쯔 가부시끼가이샤 처리 장치 및 기억 매체
KR100750132B1 (ko) 2005-09-27 2007-08-21 삼성전자주식회사 부팅, 소프트웨어 자동 업데이트 및 에러 복원 방법과 그시스템, 그 방법을 기록한 컴퓨터 판독 가능한 기록매체
US7594143B2 (en) * 2006-10-31 2009-09-22 Hewlett-Packard Development Company, L.P. Analysis engine for analyzing a computer system condition
US7823006B2 (en) * 2007-05-29 2010-10-26 Microsoft Corporation Analyzing problem signatures
WO2009004674A1 (ja) * 2007-06-29 2009-01-08 Fujitsu Limited 記憶装置、ディスク装置、書込み判定方法、制御装置
JP5255348B2 (ja) * 2007-07-16 2013-08-07 ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. クラッシュダンプ用のメモリアロケーション
US7818616B2 (en) * 2007-07-25 2010-10-19 Cisco Technology, Inc. Warm reboot enabled kernel dumper
KR101658485B1 (ko) * 2009-06-18 2016-09-22 삼성전자주식회사 휴대용 단말기에서 디버깅을 위한 부팅 방법 및 장치
JP5359601B2 (ja) * 2009-06-25 2013-12-04 富士通株式会社 ダンプ出力制御装置、ダンプ出力制御プログラム、ダンプ出力制御方法
EP2360591A1 (en) 2010-02-16 2011-08-24 Nxp B.V. Volatile memory content capturing method and processing system
US8671405B2 (en) 2010-03-31 2014-03-11 Microsoft Corporation Virtual machine crash file generation techniques
JP5609242B2 (ja) * 2010-04-28 2014-10-22 富士通株式会社 情報処理装置及びメモリダンプ採取方法
US8504869B2 (en) * 2010-07-16 2013-08-06 Commvault Systems, Inc. Kernel swapping systems and methods for recovering a network device
JP5655533B2 (ja) * 2010-12-07 2015-01-21 富士通株式会社 情報処理装置の制御方法、情報処理装置、及び情報処理装置の制御プログラム
JP5842683B2 (ja) * 2012-03-12 2016-01-13 富士通株式会社 情報処理装置、メモリダンププログラム及びメモリダンプ方法
US9348533B2 (en) 2013-03-14 2016-05-24 Microsoft Technology Licensing, Llc Memory image capture via memory write from a running system
GB2520712A (en) * 2013-11-28 2015-06-03 Ibm Data dump method for a memory in a data processing system
WO2015116057A1 (en) 2014-01-29 2015-08-06 Hewlett-Packard Development Company, L.P. Dumping resources
US20160019117A1 (en) 2014-07-16 2016-01-21 Commvault Systems, Inc. Creating customized bootable image for client computing device from backup copy
JP2016170463A (ja) * 2015-03-11 2016-09-23 富士通株式会社 情報処理装置、カーネルダンプ方法、カーネルダンププログラム
US10009438B2 (en) 2015-05-20 2018-06-26 Sandisk Technologies Llc Transaction log acceleration

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5761739A (en) * 1993-06-08 1998-06-02 International Business Machines Corporation Methods and systems for creating a storage dump within a coupling facility of a multisystem enviroment
US5793943A (en) * 1996-07-29 1998-08-11 Micron Electronics, Inc. System for a primary BIOS ROM recovery in a dual BIOS ROM computer system
US5978912A (en) * 1997-03-20 1999-11-02 Phoenix Technologies Limited Network enhanced BIOS enabling remote management of a computer without a functioning operating system
US6901493B1 (en) * 1998-02-24 2005-05-31 Adaptec, Inc. Method for protecting data of a computer system
US6195695B1 (en) * 1998-10-27 2001-02-27 International Business Machines Corporation Data processing system and method for recovering from system crashes
US6948099B1 (en) * 1999-07-30 2005-09-20 Intel Corporation Re-loading operating systems
JP2001101033A (ja) * 1999-09-27 2001-04-13 Hitachi Ltd オペレーティングシステム及びアプリケーションプログラムの障害監視方法
US6591376B1 (en) * 2000-03-02 2003-07-08 Hewlett-Packard Development Company, L.P. Method and system for failsafe recovery and upgrade of an embedded operating system
GB2367656A (en) * 2000-10-06 2002-04-10 Hewlett Packard Co Self-repairing operating system for computer entities
US7000229B2 (en) * 2002-07-24 2006-02-14 Sun Microsystems, Inc. Method and system for live operating environment upgrades
US6915420B2 (en) * 2003-01-06 2005-07-05 John Alan Hensley Method for creating and protecting a back-up operating system within existing storage that is not hidden during operation
US6959262B2 (en) * 2003-02-27 2005-10-25 Hewlett-Packard Development Company, L.P. Diagnostic monitor for use with an operating system and methods therefor
US7168002B2 (en) * 2003-04-25 2007-01-23 International Business Machines Corporation Preservation of error data on a diskless platform
US7219257B1 (en) * 2003-06-27 2007-05-15 Adaptec, Inc. Method for boot recovery
US7370234B2 (en) * 2004-10-14 2008-05-06 International Business Machines Corporation Method for system recovery
JP4528144B2 (ja) * 2005-01-26 2010-08-18 富士通株式会社 メモリダンププログラムのブート方法、機構及びプログラム

Also Published As

Publication number Publication date
EP1854006A1 (en) 2007-11-14
US7484127B2 (en) 2009-01-27
AT441891T (de) 2009-09-15
US20060156057A1 (en) 2006-07-13
EP1854006B1 (en) 2009-09-02
WO2006075048A1 (en) 2006-07-20
DE602006008897D1 (de) 2009-10-15

Similar Documents

Publication Publication Date Title
US10621052B1 (en) System and method for hybrid kernel and user-space checkpointing using a character device
US8407439B2 (en) Managing memory systems containing components with asymmetric characteristics
US8135914B2 (en) Managing cache data and metadata
US8244970B2 (en) Cache write integrity logging
JP5234473B2 (ja) ターボブートシステム及び方法
US8352721B1 (en) Initiating an operating system boot from firmware
US6205548B1 (en) Methods and apparatus for updating a nonvolatile memory
US7165137B2 (en) System and method for booting from a non-volatile application and file storage device
US7340566B2 (en) System and method for initializing a memory device from block oriented NAND flash
US9910602B2 (en) Device and memory system for storing and recovering page table data upon power loss
US7898862B2 (en) Memory card, semiconductor device, and method of controlling memory card
DE60008929T2 (de) Schnellstart eines mikroprozessorbasierten systems
JP3372964B2 (ja) コンピュータシステム
EP1544739B1 (en) Method and apparatus for custom software image updates to non-volatile storage in a failsafe manner
US6370614B1 (en) I/O cache with user configurable preload
US7818616B2 (en) Warm reboot enabled kernel dumper
JP5608139B2 (ja) Handling errors during device boot-up from non-volatile memory
JP4205560B2 (ja) ディスクレスネットワークブータブルコンピュータにおける不揮発性メモリキャッシュを用いた信頼性の改善
US5359713A (en) Method and apparatus for enhancing synchronous I/O in a computer system with a non-volatile memory and using an acceleration device driver in a computer operating system
US7246200B1 (en) Provisioning and snapshotting using copy on read/write and transient virtual machine technology
US6807630B2 (en) Method for fast reinitialization wherein a saved system image of an operating system is transferred into a primary memory from a secondary memory
US6463509B1 (en) Preloading data in a cache memory according to user-specified preload criteria
JP5911504B2 (ja) ストリーミング技術に基づくソフトウェア・イメージのアップグレード
US5822581A (en) Method for CMOS configuration information storage and retrieval in flash
US6725178B2 (en) Use of hidden partitions in a storage device for storing BIOS extension files