PROCEDIMIENTO Y SISTEMA PARA PRESERVAR DATOS VOLCADOS EN CASO DE CAIDA DEL SISTEMA OPERATIVO.
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
Tipo: Resumen de patente/invención. Número de Solicitud: W06000015FI.
Solicitante: NOKIA SIEMENS NETWORKS OY.
Nacionalidad solicitante: Finlandia.
Dirección: KARAPORTTI 3,02610 ESPOO.
Inventor/es: BABU,VENKATESH.
Fecha de Publicación: .
Fecha Concesión Europea: 2 de Septiembre de 2009.
Clasificación PCT:
- G06F11/14 FISICA. › G06 CALCULO; CONTEO. › G06F PROCESAMIENTO ELECTRICO DE DATOS DIGITALES (sistemas de computadores basados en modelos de cálculo específicos G06N). › G06F 11/00 Detección de errores; Corrección de errores; Monitorización (detección, corrección o monitorización de errores en el almacenamiento de información basado en el movimiento relativo entre el soporte de registro y el transductor G11B 20/18; monitorización, es decir, supervisión del progreso del registro o reproducción G11B 27/36; en memorias estáticas G11C 29/00). › Detección o corrección de errores en los datos por redundancia en las operaciones, p. ej. mediante la utilización de diversas secuencias de operaciones que conduzcan al mismo resultado (G06F 11/16 tiene prioridad).
Fragmento de la descripción:
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.
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.
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...
Reivindicaciones:
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.
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.
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;
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.
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.
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.
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.
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.
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).
Patentes similares o relacionadas:
Procedimiento de parada de emergencia y sistema de seguridad asociado, del 20 de Mayo de 2020, de CLEARSY: Procedimiento de parada de emergencia de un elemento de seguridad de un conjunto de seguridad , comprendiendo el conjunto de seguridad […]
Procedimiento y aparato para la eliminación y la adición de CPU en caliente durante el funcionamiento, del 25 de Marzo de 2020, de HUAWEI TECHNOLOGIES CO., LTD.: Un procedimiento de eliminación de unidades centrales de procesamiento CPU en caliente, donde el procedimiento se puede aplicar a un único servidor con una primera […]
Sistemas críticos de seguridad ferroviaria con redundancia de tareas y capacidad de comunicaciones asimétricas, del 22 de Enero de 2020, de Siemens Mobility, Inc: Sistema de control para un sistema de aplicación crítico de seguridad ferroviaria, que comprende: al menos un controlador, que comprende un procesador […]
Método, aparato, y sistema para determinar y ejecutar en una red inalámbrica una política de distribución de datos, del 8 de Enero de 2020, de HUAWEI TECHNOLOGIES CO., LTD.: Un método de procesamiento de datos de comunicación, que comprende: adquirir , por un aparato de procesamiento, una política de distribución de datos desde […]
Procedimiento, sistema, terminal y servidor de gestión de dispositivos para instalar componentes de software, del 27 de Noviembre de 2019, de HUAWEI TECHNOLOGIES CO., LTD.: Un procedimiento para instalar componentes de software, que comprende: recibir , mediante un terminal, un paquete de componentes de software suministrado directamente […]
Reconfiguración parcial de componentes de aceleración, del 24 de Julio de 2019, de Microsoft Technology Licensing, LLC: Un método para reconfigurar parcialmente un componente de aceleración de hardware programado con un rol y una interfaz de red, […]
Seguimiento de cambios usando redundancia en tiempo lógico, del 4 de Junio de 2019, de Microsoft Technology Licensing, LLC: Un método para mantener el seguimiento de cambios entre porciones unitarias de un sistema de almacenaje, comprendiendo el método: […]
Procedimiento para verificar un estado de funcionamiento seguro de un ordenador, del 21 de Mayo de 2019, de Siemens Mobility GmbH: Procedimiento para verificar un estado de funcionamiento seguro de un ordenador para controlar un sistema crítico para la seguridad, particularmente un sistema de […]