PROCEDIMIENTO Y MECANISMOS PARA UNA GESTIÓN PROACTIVA DE LA MEMORIA.
Un sistema en un entorno informático que comprende:
un mecanismo (402) de seguimiento que hace seguimiento de la utilización de páginas de memoria y registra los datos de contexto,
correspondiendo los datos de contexto a un estado del sistema (110) de ordenador en asociación con la utilización de una página, para una pluralidad de páginas; un mecanismo (426) de priorización que asocia una puntuación con cada página de la que se hace seguimiento en base a los datos de contexto proporcionados por dicho mecanismo (402) de seguimiento para esa página; y
un reequilibrador (424) que determina qué paginas están en memoria (202) en base a la puntuación asociada con cada página de la que se hace seguimiento sustituyendo al menos algunas de las páginas en memoria que son de valor relativamente menor con al menos algunas páginas provenientes de un dispositivo secundario (204) de almacenamiento que son de valor relativamente mayor, en el que el valor de una página está determinado por su puntuación.
Tipo: Patente Europea. Resumen de patente/invención. Número de Solicitud: E03022573.
G06F12/10FISICA. › G06CALCULO; CONTEO. › G06F PROCESAMIENTO ELECTRICO DE DATOS DIGITALES (sistemas de computadores basados en modelos de cálculo específicos G06N). › G06F 12/00 Acceso, direccionamiento o asignación en sistemas o arquitecturas de memoria (entrada digital a partir de, o salida digital hacia soportes de registro, p. ej. hacia unidades de almacenamiento de disco G06F 3/06). › Traducción de direcciones.
G06F12/12G06F 12/00 […] › Control de remplazamiento.
G06F3/06G06F […] › G06F 3/00 Disposiciones de entrada para la transferencia de datos destinados a ser procesados en una forma utilizable por el computador; Disposiciones de salida para la transferencia de datos desde la unidad de procesamiento a la unidad de salida, p. ej. disposiciones de interfaz. › Entrada digital a partir de, o salida digital hacia soportes de registro.
G06F9/46G06F […] › G06F 9/00 Disposiciones para el control por programa, p. ej. unidades de control (control por programa para dispositivos periféricos G06F 13/10). › Disposiciones para la multiprogramación.
Clasificación antigua:
G06F12/10G06F 12/00 […] › Traducción de direcciones.
G06F12/12G06F 12/00 […] › Control de remplazamiento.
G06F3/06G06F 3/00 […] › Entrada digital a partir de, o salida digital hacia soportes de registro.
G06F9/46G06F 9/00 […] › Disposiciones para la multiprogramación.
Países PCT: Austria, Bélgica, Suiza, Alemania, Dinamarca, España, Francia, Reino Unido, Grecia, Italia, Liechtensein, Luxemburgo, Países Bajos, Suecia, Mónaco, Portugal, Irlanda, Eslovenia, Finlandia, Rumania, Chipre, Lituania, Letonia, Ex República Yugoslava de Macedonia, Albania.
Procedimientos y mecanismos para una gestión proactiva de la memoria La presente invención reivindica prioridad con respecto a la solicitud de patente provisional estadounidense con nº de serie 60/416.115, presentada el 4 de octubre de 2002. La invención versa en general acerca de la gestión de la memoria de ordenador. E03022573 10-11-2011 Los sistemas contemporáneos de ordenadores están equipados con cantidades significativas de memoria de acceso aleatorio, o RAM, en la actualidad en el orden de 256 megabytes a un par de gigabytes. Sin embargo, los mecanismos y los procedimientos actuales de gestión de la memoria fueron diseñados hace muchos años, cuando la RAM era un recurso informático relativamente escaso. Para proporcionar grandes cantidades de memoria virtual a los procesos de los programas, tales mecanismos de gestión de la memoria se valían de técnicas como la paginación bajo petición, esencialmente transfiriendo páginas de datos de la RAM a una unidad de disco cuando otro proceso requería cierta cantidad de RAM y, si esos datos transferidos eran requeridos de nuevo alguna vez por su proceso correspondiente, volviendo a leer los datos del disco introduciéndolos en la RAM. Con tal gestión convencional de la memoria, las páginas necesarias están a menudo ausentes de la memoria, aunque la cantidad total de código y datos a la que se hace referencia en los patrones típicos de utilización es muy constante en el tiempo y es pequeña con respecto a los tamaños de las memorias actuales. Esto es fundamentalmente resultado de dos factores: concretamente, a que el sistema experimente transiciones que puedan obligar a que las páginas necesarias salgan de la memoria y/o a cambiar rápidamente el conjunto de páginas que se necesitan, y la erosión, en la que las páginas que no están en uso activo resulten sobrescritas con otros datos. Ejemplos de tales transiciones incluyen el arranque partiendo de un estado de alimentación desconectada, el cambio de un usuario a otro, la reanudación partiendo de un modo en espera o en hibernación, el uso de una aplicación que consuma mucha memoria (por ejemplo, jugar un juego) y volver luego a un uso típico del sistema, y volver al ordenador después de una demora prolongada. Ni que decir tiene, además de una operación normal rápida, los clientes desean muchísimo un arranque rápido del sistema y de los programas tras tales transiciones. Sin embargo, con la actual gestión de la memoria, ello no es posible en la actualidad. Por ejemplo, las pruebas han demostrado que tras una reanudación después de una hibernación, el lanzamiento de una aplicación puede llevar entre nueve y once segundos, aunque en ese momento haya grandes cantidades de memoria sin usar. Esto se debe a que la mayor parte del tiempo de lanzamiento se consume en transferencias de disco, con la CPU bloqueada, esperando que se lean del disco el código y las páginas de datos necesarios, lo que, como consecuencia de la paginación bajo petición, se lleva a cabo en esencia página a página. En resumidas cuentas, después de tales transiciones, a menudo, el conjunto de páginas de mayor utilidad no está en la memoria, lo que lleva a la paginación bajo petición, lo que proporciona una experiencia deficiente de usuario debido a los tiempos lentos de transferencia de entrada/salida (E/S). Aunque algunas transiciones implican el desalojo deliberado de páginas de la memoria y otras dan como resultado una demanda repentina de memoria, otras distintas dan como resultado páginas que quedan inactivas y que se intercambian al disco. Más en particular, las páginas que están en conjuntos de trabajo pueden ser eliminadas y colocadas en una memoria asociada de páginas que no están en uso, denominada en el presente documento conjunto de páginas en espera (por ejemplo, una lista en espera en un sistema basado en Windows®), junto con las páginas de los ficheros que están cerrados. Para reducir el número de lecturas y escrituras a disco, la gestión de memoria hace seguimiento de qué páginas de la memoria del conjunto de páginas en espera tuvieron el menor número de acceso recientemente y, cuando se necesita memoria, selecciona esas páginas para transferirlas a disco, esencialmente un tipo de cola en la que la primera en entrar es la primera en salir (FIFO). Aunque esta técnica funciona hasta cierto punto en la reducción de transferencias al disco, dado que da como resultado que las páginas usadas más recientemente por los procesos sean las que permanecen en memoria, las aplicaciones modernas tienen requisitos grandes de código y datos. En consecuencia, a corto plazo, generalmente las páginas pueden ser recuperadas de este conjunto de páginas en espera; sin embargo, a largo plazo, con la gestión convencional de la memoria, la simple gestión de colas FIFO del conjunto de páginas en espera da como resultado una erosión en la que posibles páginas valiosas (pero no usadas recientemente) son sobrescritas con páginas menos valiosas (pero usadas más recientemente). En consecuencia, es necesario un número significativo de transferencias de E/S al disco y desde el mismo. Incluso en sistemas potentes, estas transferencias de E/S actúan como un cuello de botella por el que el sistema infrautiliza las grandes cantidades de memoria disponible, dejando inactiva la CPU durante lapsos prolongados de tiempo. En suma, los programas contemporáneos requieren grandes cantidades de memoria de acceso aleatorio y capacidades de proceso rápido, ofrecidas por los dispositivos informáticos contemporáneos. Sin embargo, la tecnología actual de gestión de la memoria no empareja adecuadamente estos recursos, porque la actual gestión de la memoria fue desarrollada en una época en que la memoria era escasa y, así, fue diseñada con la visión general de que era inevitable una utilización sustancial del disco que, no obstante, no resultaba tan gravosa, porque las aplicaciones eran pequeñas y la multitarea era infrecuente. Por ello, la gestión convencional de la memoria no 2 intenta limitar el uso del disco más allá de mantener en memoria las páginas a las que se ha accedido más recientemente. En la informática contemporánea, esto da como resultado una cantidad significativa de uso del disco, proporcionando con ello un cuello de botella que perjudica tanto el rendimiento real como el percibido. El documento US 2002/087797 A1 se ocupa de la introducción en memoria asociada de ficheros que se originan en un servidor remoto. El servidor de la memoria asociada ejecuta una lista de un historial de peticiones y calcula valores de popularidad asociados con cada uno de una pluralidad de ficheros introducidos y no introducidos en la memoria asociada usando un módulo de cálculo de la popularidad. Un módulo de análisis de lo introducido en la memoria asociada compara los valores de popularidad del contenido introducido en la memoria asociada con los valores de popularidad del contenido no introducido en la memoria asociada y determina qué ficheros serán sustituidos por ficheros no introducidos en la memoria asociada. El documento US-B1-6 378 043 aborda la generación de una lista ordenada de memorias intermedias en base a diversas características de acceso, como la frecuencia de acceso, la reciencia del acceso y la tenencia. Además, se disminuye la considerable carga general que se requiere para reordenar la lista usando un intervalo de acceso libre al comienzo de la lista. Si una memoria intermedia está dentro de dicho intervalo de acceso libre, se actualiza su lista de historial de accesos, pero el orden de las memorias intermedias en el intervalo de acceso libre queda inalterado. Cuando se añaden nuevos datos a una memoria intermedia, esta memoria intermedia es puesta entonces en un punto de inserción de la lista de memorias intermedias. Cuando se accede la próxima vez a la memoria intermedia insertada, se pone entonces al comienzo de la lista. Cuando otras memorias intermedias se mueven después al comienzo de la lista, dicha memoria intermedia es empujada hacia abajo en la lista hasta que alcanza del final del intervalo de acceso libre, lugar en el que se usa la lista del historial de accesos para calcular un valor de beneficio que dicta el lugar de la memoria intermedia en la lista. El objeto de la presente invención es minimizar el número de errores de paginación. Este objeto se resuelve por medio de la invención según se declara en las reivindicaciones independientes. Puede derivarse realizaciones preferentes de dicha invención a partir de las reivindicaciones dependientes. E03022573 10-11-2011 En breve, la presente invención va dirigida hacia una arquitectura mejorada de gestión de la memoria que comprende sistemas, procedimientos y mecanismos que proporcionan un sistema de gestión de la memoria proactivo, resiliente y de calibrado automático. El sistema de gestión... [Seguir leyendo]
Reivindicaciones:
1. Un sistema en un entorno informático que comprende: un mecanismo (402) de seguimiento que hace seguimiento de la utilización de páginas de memoria y registra los datos de contexto, correspondiendo los datos de contexto a un estado del sistema (110) de ordenador en asociación con la utilización de una página, para una pluralidad de páginas; un mecanismo (426) de priorización que asocia una puntuación con cada página de la que se hace seguimiento en base a los datos de contexto proporcionados por dicho mecanismo (402) de seguimiento para esa página; y un reequilibrador (424) que determina qué paginas están en memoria (202) en base a la puntuación asociada con cada página de la que se hace seguimiento sustituyendo al menos algunas de las páginas en memoria que son de valor relativamente menor con al menos algunas páginas provenientes de un dispositivo secundario (204) de almacenamiento que son de valor relativamente mayor, en el que el valor de una página está determinado por su puntuación. 2. El sistema de la reivindicación 1 en el que el reequilibrador (424) transfiere una página seleccionada, sacándola de la memoria (202), a otro dispositivo de almacenamiento en base a la puntuación de la página seleccionada. 3. El sistema de la reivindicación 1 en el que el otro dispositivo de almacenamiento comprende memoria (302) no volátil de acceso aleatorio. 4. El sistema de la reivindicación 1 en el que el otro dispositivo de almacenamiento comprende un disco (204). 5. El sistema de la reivindicación 1 en el que el reequilibrador (424) busca de antemano una página seleccionada y la introduce en la memoria (202) a partir de otro dispositivo de almacenamiento en base a la puntuación de la página seleccionada. 6. El sistema de la reivindicación 1 que, además, comprende un mecanismo de registro conectado al mecanismo (402) de seguimiento, estando configurado el mecanismo de registro para disponer la salida del mecanismo (402) de seguimiento a un registro formateado. 7. El sistema de la reivindicación 1 en el que el registro formateado incluye una cabecera y una tabla de entradas. 8. El sistema de la reivindicación 7 en el que la cabecera incluye información de contexto asociada con la utilización de páginas de memoria. 9. El sistema de la reivindicación 7 en el que la cabecera incluye información de estado de memoria asociada con la utilización de páginas de memoria. 10. El sistema de la reivindicación 7 en el que la cabecera incluye información de tiempo asociada con la utilización de páginas de memoria. 11. El sistema de la reivindicación 7 en el que cada entrada incluye datos de fuente y de desplazamiento para un fichero o un espacio de direcciones de proceso. 12. El sistema de la reivindicación 7 en el que cada entrada incluye además datos indicativos de la página que fue leída del disco (204). 13. El sistema de la reivindicación 6 que, además, comprende un integrador (412) que integra en los datos integrados el registro formateado con datos obtenidos previamente. 14. El sistema de la reivindicación 13 en el que el integrador (412) conserva los datos integrados en una base de datos de información de páginas. 15. El sistema de la reivindicación 14 que, además, comprende un servicio de extracción que desarrolla al menos un plan de escenario en base a los datos integrados en la base de datos de información de páginas. 16. El sistema de la reivindicación 15 en el que el mecanismo (426) de priorización accede a un plan de escenario para asociar la puntuación con cada página de la que se hace seguimiento. 17. El sistema de la reivindicación 1 en el que el mecanismo (402) de seguimiento registra la frecuencia de los datos de utilización de páginas para cada página de la pluralidad de páginas. 18. El sistema de la reivindicación 1 en el que el mecanismo (402) de seguimiento registra los datos basados en tiempo correspondientes a un momento de la última utilización de una página. E03022573 10-11-2011 19. El sistema de la reivindicación 1 en el que el mecanismo (426) de priorización clasifica las páginas entre sí en base a sus puntuaciones respectivas y el reequilibrador (424) busca de antemano páginas a la memoria (202) en un orden de búsqueda previa en base a la clasificación. 20. El sistema de la reivindicación 1 que, además, comprende un conjunto de páginas en espera en memoria (202), en el que el reequilibrador (424) lee páginas seleccionada del otro almacenamiento introduciéndolas en el conjunto de páginas en espera. 21. El sistema de la reivindicación 20 en el que el conjunto de páginas en espera comprende una pluralidad de subconjuntos y en el que el reequilibrador (424) mueve de forma lógica una página de un subconjunto del conjunto de páginas en espera a otro subconjunto en base a los datos de utilización detectados para la página. 22. El sistema de la reivindicación 21 en el que mover de forma lógica una página de un subconjunto del conjunto de páginas en espera a otro subconjunto comprende mover la página entre un subconjunto basado en el momento de la última utilización y un subconjunto basado en la frecuencia. 23. El sistema de la reivindicación 1 que, además, comprende un observador (430) que genera eventos relacionados con la memoria. 24. El sistema de la reivindicación 23 que, además, comprende un mecanismo de actualización que recibe eventos del observador (430) y activa el reequilibrador (424). 25. El sistema de la reivindicación 24 en el que uno de los eventos comprende al menos uno entre el conjunto que comprende: un evento de conmutación de tareas, un evento correspondiente a la creación de una ventana, un evento correspondiente al proporcionamiento de un diálogo, un evento correspondiente a un cambio de foco de ventana, un evento de entrada de usuario, un evento correspondiente al lanzamiento de un programa, un evento correspondiente a la terminación de un programa, un evento correspondiente a un arranque del sistema, un evento de inicio de sesión, un evento correspondiente al apagado del sistema, un evento correspondiente a la entrada en modo de espera, un evento correspondiente a una reanudación tras un modo en espera, un evento correspondiente a la entrada en un modo de hibernación, un evento correspondiente a una reanudación tras un modo de hibernación, un evento correspondiente a que un usuario diferente opere el sistema, un evento correspondiente al inicio de una reproducción multimedia, un evento correspondiente a la terminación del contenido multimedia que se estaba reproduciendo, un evento correspondiente a un cronocorrimiento del vídeo, un evento correspondiente a una conexión remota al sistema y un evento correspondiente a un contexto especificado por programa. 26. El sistema de la reivindicación 23 que, además, comprende un mecanismo de actualización que recibe eventos del observador (430) y proporciona datos de estado al mecanismo (402) de seguimiento. 27. El sistema de la reivindicación 26 en el que los datos de estado incluyen solicitudes relativas a ficheros. 28. El sistema de la reivindicación 26 en el que los datos de estado incluyen datos relativos a la utilización de la memoria por parte de un proceso. 29. El sistema de la reivindicación 23 que, además, comprende un mecanismo planificador (440) de E/S conectado al reequilibrador (424) para transferir páginas entre la memoria (202) y un almacenamiento secundario. 30. El sistema de la reivindicación 29 en el que el mecanismo planificador (440) de E/S transfiere las páginas en una operación en segundo plano. 31. El sistema de la reivindicación 30 en el que el mecanismo planificador (440) de E/S observa patrones de E/S para determinar un momento de transferencia que probablemente no interfiera en la transferencia de E/S de primer plano. 32. El sistema de la reivindicación 30 en el que el mecanismo planificador (440) de E/S determina un momento de transferencia que probablemente no cause una búsqueda que ralentice una transferencia de E/S en primer plano. 33. El sistema de la reivindicación 30 en el que el planificador (440) de E/S genera un paquete falso para evitar una inversión de prioridades. 34. El sistema de la reivindicación 30 en el que el planificador (440) de E/S evalúa la utilización actual del procesador y la utilización actual del disco para determinar un estado de cálculo inactivo. 35. El sistema de la reivindicación 1 en el que el planificador (440) de E/S transfiere las páginas en una operación de primer plano. 31 E03022573 10-11-2011 36. Un procedimiento implementado por ordenador que comprende: hacer un seguimiento de la utilización de páginas de memoria y registrar los datos de contexto, correspondiendo los datos de contexto a un estado de un sistema (110) de ordenador en asociación con la utilización de una página, para una pluralidad de páginas; asociar una puntuación con cada página de la que se hace seguimiento en base a los datos de contexto para esa página; identificar páginas en una memoria (202) y páginas mantenidas en un dispositivo secundario (204) de almacenamiento en base datos de valor de las páginas asociadas con cada página identificada, determinándose por las puntuaciones los datos de valor de las páginas; y poblar la memoria con al menos algunas páginas provenientes del dispositivo secundario de memoria, comprendiendo la sustitución de al menos algunas de las páginas en memoria que son de valor relativamente menor con al menos algunas páginas provenientes del dispositivo secundario de almacenamiento que son de valor relativamente mayor. 37. El procedimiento de la reivindicación 36 en el que la identificación de los valores de identificación para las páginas en una memoria (202) y los valores para las páginas mantenidas en un dispositivo secundario de almacenamiento comprende la identificación de páginas con valor bajo y páginas con valor alto. 38. El procedimiento de la reivindicación 36 que, además, comprime al menos algunas de las páginas en memoria (202) que tienen valores relativamente bajos para proporcionar espacio para al menos algunas páginas provenientes del dispositivo secundario de almacenamiento que tienen valores relativamente altos antes de que se reciba una demanda de al menos algunas de las páginas que tienen valores más altos. 39. El procedimiento de la reivindicación 36 que, además, comprende la determinación de los datos de valor de las páginas. 40. El procedimiento de la reivindicación 39 en el que la determinación de los datos de valor de las páginas comprende leer de un fichero al menos parte de los datos de valor de las páginas. 41. El procedimiento de la reivindicación 40 en el que el fichero comprende datos de entrenamiento obtenidos de la medición de la utilización de páginas en otro sistema (110) de ordenador. 42. El procedimiento de la reivindicación 39 en el que la determinación de los datos de valor de las páginas comprende hacer un seguimiento de la utilización de las páginas para determinar al menos parte de los datos de valor de las páginas. 43. El procedimiento de la reivindicación 42 en el que el seguimiento de la utilización de las páginas comprende hacer un seguimiento de los patrones de acceso. 44. El procedimiento de la reivindicación 42 en el que el seguimiento de la utilización de las páginas comprende hacer un seguimiento de la frecuencia de acceso. 45. El procedimiento de la reivindicación 42 en el que el seguimiento de la utilización de las páginas comprende registrar los datos de tiempo correspondientes a la última utilización de las páginas. 46. El procedimiento de la reivindicación 42 en el que el seguimiento de la utilización de las páginas comprende el recuento de la utilización de las páginas en un periodo de tiempo. 47. El procedimiento de la reivindicación 42 en el que el seguimiento de la utilización de las páginas comprende el mantenimiento de los datos correspondientes al momento de creación de una página. 48. El procedimiento de la reivindicación 42 que, además, comprende guardar, en un almacenamiento persistente, datos correspondientes a la utilización de las páginas de las que se hace seguimiento para al menos algunas de las páginas. 49. El procedimiento de la reivindicación 42 en el que el seguimiento de la utilización de las páginas comprende la evaluación de la información de acceso a las páginas. 50. El procedimiento de la reivindicación 49 en el que la evaluación de la información de acceso a las páginas comprende la lectura de bits de acceso de entrada de la tabla de páginas. 51. El procedimiento de la reivindicación 49 en el que la evaluación de la información de acceso a las páginas comprende evaluar cuándo se pone a cero la información de acceso a las páginas. 32 E03022573 10-11-2011 52. El procedimiento de la reivindicación 49 en el que la evaluación de la información de acceso a las páginas comprende la determinación de una tasa de puesta a cero de la información de acceso a las páginas. 53. El procedimiento de la reivindicación 52 que, además, comprende el registro de la tasa. 54. El procedimiento de la reivindicación 49 en el que la evaluación de la información de acceso a las páginas comprende la determinación de una tasa a la que se accede a una página. 55. El procedimiento de la reivindicación 54 que, además, comprende el registro de la tasa. 56. El procedimiento de la reivindicación 49 en el que la evaluación de la información de acceso a las páginas comprende la detección de errores de paginación. 57. El procedimiento de la reivindicación 42 en el que el seguimiento de la utilización de las páginas comprende la detección de solicitudes de lectura y escritura en fichero. 58. El procedimiento de la reivindicación 42 en el que el seguimiento de la utilización de las páginas comprende al menos uno de: leer la información del conjunto de trabajo del proceso, grabar los datos cuando las páginas son transferidas sacándolas de la memoria (202) y grabar los datos cuando las páginas son eliminadas de los conjuntos de trabajo. 59. El procedimiento de la reivindicación 42 en el que el seguimiento de la utilización de las páginas comprende la grabación de datos en respuesta a un evento o un contexto. 60. El procedimiento de la reivindicación 59 en el que se graban datos en respuesta a al menos uno de: una tarea conmutada, una ventana creada, una acción detectada, un cambio en el que la ventana tiene el foco, un evento de entrada de usuario, un evento del sistema (110) de ordenador relacionado con la hibernación, un evento de entrada de usuario, un evento del sistema (110) de ordenador relacionado con un estado de espera, un evento de entrada de usuario, un evento del sistema (110) de ordenador relacionado con un arranque del sistema, un lanzamiento de programa, una terminación de programa, un cambio en un usuario del sistema, un inicio de sesión y un evento de conexión a la red, un evento relacionado con la reproducción multimedia. 61. El procedimiento de la reivindicación 60 en el que los datos se registran en respuesta a un contexto especificado por un programa. 62. El procedimiento de la reivindicación 39 en el que la determinación de los datos de valor de las páginas incluye la determinación de un coste de una transferencia de E/S para al menos una página. 63. El procedimiento de la reivindicación 39 en el que la determinación de los datos de valor de las páginas incluye el cálculo del valor de prioridad para una página seleccionada en base a una pluralidad de factores de utilización de la página. 64. El procedimiento de la reivindicación 63 en el que el cálculo del valor de prioridad en base a una pluralidad de factores de utilización de la página comprende la ponderación de un factor de utilización de la página con respecto a otro factor. 65. El procedimiento de la reivindicación 39 en el que la determinación de los datos de valor de las páginas incluye la combinación matemática de los datos de frecuencia de utilización de la página con la información de la última utilización de la página para la página seleccionada. 66. El procedimiento de la reivindicación 39 en el que la identificación de páginas en una memoria (202) comprende la selección de un subconjunto de páginas disponibles para el sistema (110) de ordenador. 67. El procedimiento de la reivindicación 66 en el que el subconjunto de páginas comprende páginas correspondientes a un fichero particular. 68. El procedimiento de la reivindicación 67 en el que el subconjunto de páginas comprende páginas correspondientes a una sección particular en la memoria (202). 69. El procedimiento de la reivindicación 67 en el que el subconjunto de páginas comprende páginas correspondientes a una sección particular en un almacenamiento. 70. El procedimiento de la reivindicación 36 que, además, comprende el agrupamiento de páginas seleccionadas formando un grupo de páginas y el mantenimiento de los datos de valor de las páginas en asociación con el grupo. 33 E03022573 10-11-2011 71. El procedimiento de la reivindicación 70 en el que el agrupamiento de páginas seleccionadas comprende el agrupamiento de páginas en base, al menos, a uno del conjunto que comprende: sus momentos de último acceso, los patrones de utilización, la frecuencia de utilización, una ubicación virtual, un momento de utilización, una ubicación física, las veces que las páginas fueron eliminadas de la memoria (202), la eficiencia de la transferencia de E/S, qué procesos utilizan las páginas, la información de la vida útil de los procesos, la información de errores, al menos un evento, un proceso específico de usuario y los datos de contexto. 72. El procedimiento de la reivindicación 70 en el que el momento de utilización comprende información del día de la semana. 73. El procedimiento de la reivindicación 70 en el que el momento de utilización comprende información del momento del día. 74. El procedimiento de la reivindicación 73 que, además, comprende la recepción de datos de contexto de un programa de aplicación. 75. El procedimiento de la reivindicación 73 que, además, comprende el registro de los datos de contexto en asociación con la utilización de una página. 76. El procedimiento de la reivindicación 75 en el que la grabación de los datos de contexto comprende la grabación de, al menos, uno del conjunto que comprende: información del estado de la potencia, información del estado del disco (204) e información de eventos. 77. El procedimiento de la reivindicación 75 en el que la grabación de los datos de contexto comprende la grabación de la información de evento de un evento relacionado con la memoria. 78. El procedimiento de la reivindicación 36 que, además, comprende la clasificación de las páginas identificadas en base a sus respectivos datos de valor de las páginas y en el que poblar la memoria (202) comprende cargar páginas en la memoria (202) en un orden basado en la clasificación. 79. El procedimiento de la reivindicación 36 en el que poblar la memoria (202) comprende la carga de páginas seleccionadas provenientes del almacenamiento secundario a un conjunto de páginas en espera en la memoria (202). 80. El procedimiento de la reivindicación 79 en el que el conjunto de páginas en espera comprende una pluralidad de subconjuntos y comprende, además, mover de manera lógica una página de un subconjunto del conjunto de páginas en espera a otro subconjunto en base a datos de utilización detectados para la página. 81. El procedimiento de la reivindicación 80 en el que mover de manera lógica una página comprende mover la página de un subconjunto basado en la frecuencia a un subconjunto basado en un momento de última utilización. 82. El procedimiento de la reivindicación 80 en el que mover de manera lógica la página comprende mover la página de un subconjunto basado en un momento de última utilización a un subconjunto basado en la frecuencia. 83. El procedimiento de la reivindicación 36 que, además, comprende guardar en un almacenamiento persistente los datos de valor de las páginas asociados con al menos algunas de las páginas. 84. El procedimiento de la reivindicación 36 en el que poblar la memoria (202) comprende cargar las páginas en la memoria (202) en una operación en segundo plano. 85. El procedimiento de la reivindicación 84 en el que la carga de la página en la memoria (202) en una operación en segundo plano comprende la obtención de datos de prioridad inactiva. 86. El procedimiento de la reivindicación 84 en el que la carga de la página en la memoria (202) en una operación en segundo plano comprende la observación de patrones de E/S para determinar un momento de transferencia. 87. El procedimiento de la reivindicación 86 en el que el momento de transferencia se determina en base a una probabilidad de que la transferencia no se solape con una transferencia de E/S en primer plano. 88. El procedimiento de la reivindicación 86 en el que el momento de transferencia se determina en base a una probabilidad de que la transferencia no provoque una búsqueda que ralentice una transferencia de E/S en primer plano. 34 E03022573 10-11-2011 89. El procedimiento de la reivindicación 84 en el que la carga de la página seleccionada en la memoria (202) en una operación en segundo plano comprende la evaluación de la utilización actual del procesador y la utilización actual del disco. 90. El procedimiento de la reivindicación 36 en el que poblar la memoria (202) comprende la carga de las páginas en memoria (202) en una operación en primer plano. 91. Un medio legible por ordenador que tiene en el mismo instrucciones ejecutables por ordenador que, cuando se ejecutan en un ordenador, llevan a cabo el procedimiento de una de las reivindicaciones 36 a 90. 92. El sistema de la reivindicación 1 en el que el mecanismo de seguimiento comprende un medio de entrenamiento para determinar páginas que es probable que se necesiten. 93. El sistema de la reivindicación 92 en el que el medio de entrenamiento para determinar páginas que es probable que se necesiten incluye un medio para simular la utilización de las páginas. 94. El sistema de la reivindicación 92 en el que el medio de entrenamiento para determinar páginas que es probable que se necesiten incluye un medio para el análisis de código. 95. El sistema de la reivindicación 92 en el que el medio de entrenamiento para determinar páginas que es probable que se necesiten incluye un medio para la ejecución de programas en un sistema (110) de ordenador de entrenamiento y el uso de los valores en otro sistema (110) de ordenador. 96. El sistema de la reivindicación 1 que, además, comprende un medio para la construcción de un repositorio persistente de información que incluye las puntuaciones, y un medio para almacenar el repositorio persistente en un fichero. 97. El sistema de la reivindicación 1 en el que el reequilibrador (424) comprende un medio para cargar la memoria (202) que está libre. 98. El sistema de la reivindicación 1 que, además, comprende un medio para la identificación de páginas de bajo valor en la memoria (202), en el que el reequilibrador (424) comprende medios para sustituir al menos algunas de las páginas de bajo valor. E03022573 10-11-2011 36 E03022573 10-11-2011 37 E03022573 10-11-2011 38 E03022573 10-11-2011 39 E03022573 10-11-2011 E03022573 10-11-2011 41 E03022573 10-11-2011
Patentes similares o relacionadas:
Método de planificación de ordenador virtual, del 24 de Junio de 2020, de HITACHI, LTD.: Un método de planificación para un ordenador virtual en un sistema informático en el que están instalados un OS anfitrión y un ordenador virtual, donde
un […]
Aparatos y procedimientos de ampliación de servicios de aplicaciones, del 12 de Febrero de 2020, de QUALCOMM INCORPORATED: Un procedimiento para ampliar servicios de un dispositivo de usuario, que comprende:
identificar una primera aplicación residente en el dispositivo […]
Función de interrupción de seguimiento de advertencias, del 25 de Diciembre de 2019, de INTERNATIONAL BUSINESS MACHINES CORPORATION: Un sistema informático para facilitar el procesamiento en un entorno informático, comprendiendo dicho sistema informático:
una memoria; y
un procesador […]
Aumento de protocolo de coherencia para indicar estado de transacción, del 4 de Diciembre de 2019, de INTERNATIONAL BUSINESS MACHINES CORPORATION: Un método implementado por ordenador para implementar un protocolo de coherencia, comprendiendo el método:
enviar , por un procesador (112a) solicitante, […]
Módulo de interfaz, del 14 de Agosto de 2019, de AMADEUS S.A.S.: Un programa informático que comprende un módulo de interfaz para interactuar entre un módulo de comunicaciones y una pluralidad de instancias de módulos […]
Virtualización del espacio de configuración, del 15 de Mayo de 2019, de Microsoft Technology Licensing, LLC: Un procedimiento para gestionar las comunicaciones entre una máquina virtual y un dispositivo de I/O mediante una capa de virtualización, […]
Servidor de pasarela con micronúcleo, del 15 de Mayo de 2019, de Cassidian Cybersecurity SAS: Servidor de pasarela , caracterizado por que comprende:
• un primer subsistema , con un nivel de medios , un nivel de comunicación y un […]
Gestor de procesos mejorado, del 9 de Mayo de 2019, de Bull S.A.S: Gestor de procesos informáticos, que comprende:
- una memoria de datos de proceso , y
- una unidad de procesamiento de proceso , capaz de ejecutar […]
Utilizamos cookies para mejorar nuestros servicios y mostrarle publicidad relevante. Si continua navegando, consideramos que acepta su uso. Puede obtener más información aquí. .