СПОСОБЫ И УСТРОЙСТВА ДЛЯ УПРЕЖДАЮЩЕГО УПРАВЛЕНИЯ ПАМЯТЬЮ

1. Реализуемый компьютером способ, включающий
идентификацию страниц в памяти и страниц, поддерживаемых во вспомогательном запоминающем устройстве на основе данных значимости страниц, связанных с каждой идентифицируемой страницей, и
заполнение памяти по меньшей мере некоторыми страницами из вспомогательного запоминающего устройства, включающее замену по меньшей мере некоторых из страниц в памяти, имеющих относительно низкую значимость, по меньшей мере некоторыми страницами из вспомогательного запоминающего устройства, имеющими относительно более высокую значимость, до получения запроса по меньшей мере некоторых из страниц, имеющих более высокую значимость.
2. Способ по п.1, в котором идентификация значимости страниц включает установление значения на основе текущего контекста.
3. Способ по п.1, в котором идентификация значимости страниц в памяти и значимости страниц во вспомогательном запоминающем устройстве включает идентификацию страниц низкой значимости и страниц высокой значимости.
4. Способ по п.1, дополнительно содержащий сжатие по меньшей мере некоторых страниц в памяти, имеющих относительно низкую значимость, для обеспечения пространства по меньшей мере для некоторых страниц из вспомогательного запоминающего устройства, имеющих относительно более высокую значимость, до получения запроса по меньшей мере некоторых из страниц, имеющих более высокую значимость.
5. Способ по п.1, дополнительно содержащий определение данных значимости страницы.
6. Способ по п.5, в котором определение данных значимости страницы включает считывание из файла по меньшей мере части данных значимости страницы.
7. Способ по п.6, в котором файл содержит тестовые данные, полученные из измерения использования страниц другой компьютерной системы.
8. Способ по п.5, в котором определение данных значимости страницы включает отслеживание использования страниц для определения по меньшей мере части данных значимости страницы.
9. Способ по п.8, в котором отслеживание использования страниц включает отслеживание конфигураций обращения.
10. Способ по п.8, в котором отслеживание использования страниц включает отслеживание частоты обращения.
11. Способ по п.8, в котором отслеживание использования страниц включает запись данных времени, соответствующих последнему использованию страницы.
12. Способ по п.8, в котором отслеживание использования страниц включает отсчет использования страниц за период времени.
13. Способ по п.8, в котором отслеживание использования страниц включает поддержание данных, соответствующих времени создания страницы.
14. Способ по п.8 дополнительно содержит сохранение в постоянном запоминающем устройстве данных, соответствующих отслеживаемому использованию страниц по меньшей мере для некоторых из страниц.
15. Способ по п.8, в котором отслеживание использования страниц включает оценку информации обращения к страницам.
16. Способ по п.15, в котором оценка информации обращения к страницам включает считывание битов обращения к табличной записи страницы.
17. Способ по п.15, в котором оценка информации обращения к страницам включает оценку того, когда сбрасывается информация обращения к странице.
18. Способ по п.15, в котором оценка информации обращения к странице включает определение частоты сброса информации обращения к странице.
19. Способ по п.18, дополнительно содержащий регистрацию упомянутой частоты сброса.
20. Способ по п.15, в котором оценка информации обращения к странице включает определение частоты обращения к странице.
21. Способ по п.20, дополнительно содержащий регистрацию упомянутой частоты обращения.
22. Способ по п.15, в котором оценка информации обращения к странице включает определение сбоев страницы.
23. Способ по п.8, в котором отслеживание использования страниц включает обнаружение запросов считывания и записи файлов.
24. Способ по п.8, в котором отслеживание использования страниц включает по меньшей мере одно из следующего: считывание информации рабочего набора процесса, запись данных, когда страницы выгружаются из памяти, и запись данных, когда страницы вырезаются из рабочих наборов.
25. Способ по п.8, в котором отслеживание использования страниц включает запись данных в ответ на событие или контекст.
26. Способ по п.25, в котором данные записывают в ответ на по меньшей мере одно из следующего: переключение задачи, созданное окно, обнаруженное действие, изменение активного состояния окна, событие пользовательского ввода, событие, связанное с режимом пониженного энергопотребления компьютерной системы, событие, связанное с резервным состоянием компьютерной системы, событие, связанное с начальной загрузкой компьютерной системы, запуск программы, отключение программы, изменение пользователя системы, регистрацию, событие сетевого соединения, медийное событие.
27. Способ по п.26, в котором данные записывают в ответ на контекст, определенный программой.
28. Способ по п.5, в котором определение данных значимости страниц включает определение стоимости переноса ввода/вывода по меньшей мере для одной страницы.
29. Способ по п.5, в котором определение данных значимости страниц включает вычисление значения приоритета для выбранной страницы на основе множества факторов использования страниц.
30. Способ по п.29, в котором вычисление значения приоритета для выбранной страницы на основе множества факторов использования страниц включает взвешивание одного фактора использования страницы относительно другого фактора.
31. Способ по п.5, в котором определение данных значимости страниц включает объединение математическим способом данных частоты использования страницы с информацией о времени последнего использования страницы для выбранной страницы.
32. Способ по п.5, в котором идентификация страниц в памяти включает выбор поднабора страниц, доступных для компьютерной системы.
33. Способ по п.32, в котором поднабор страниц включает страницы, соответствующие конкретному файлу.
34. Способ по п.33, в котором поднабор страниц включает страницы, соответствующие конкретному разделу в памяти.
35. Способ по п.33, в котором поднабор страниц включает страницы, соответствующие конкретному разделу в запоминающем устройстве.
36. Способ по п.1, дополнительно содержащий группирование выбранных страниц вместе в группу страниц и поддержание значения во взаимосвязи с группой.
37. Способ по п.36, в котором группирование выбранных страниц вместе включает группирование страниц на основе времен последнего обращения к ним.
38. Способ по п.36, в котором группирование выбранных страниц вместе включает группирование страниц на основе конфигураций использования.
39. Способ по п.36, в котором группирование выбранных страниц вместе включает группирование страниц на основе частотности использования.
40. Способ по п.36, в котором группирование выбранных страниц вместе включает группирование страниц на основе виртуального местоположения.
41. Способ по п.36, в котором группирование выбранных страниц вместе включает группирование страниц на основе времени использования.
42. Способ по п.36, в котором время использования включает информацию о дне недели.
43. Способ по п.36, в котором время использования включает информацию о времени дня.
44. Способ по п.36, в котором группирование выбранных страниц вместе включает группирование страниц на основе физического местоположения.
45. Способ по п.36, в котором группирование выбранных страниц вместе включает группирование страниц на основе времени, когда страницы были вырезаны из памяти.
46. Способ по п.36, в котором группирование выбранных страниц вместе включает группирование страниц на основе эффективности переноса ввода/вывода.
47. Способ по п.36, в котором группирование выбранных страниц вместе включает группирование страниц на основе того, какие процессы используют страницы.
48. Способ по п.36, в котором группирование выбранных страниц вместе включает группирование страниц на основе информации о времени существования процесса.
49. Способ по п.36, в котором группирование выбранных страниц вместе включает группирование страниц на основе информации об ошибке.
50. Способ по п.36, в котором группирование выбранных страниц вместе включает группирование страниц на основе по меньшей мере одного события.
51. Способ по п.36, в котором группирование выбранных страниц вместе включает группирование страниц на основе конкретных пользовательских процессов.
52. Способ по п.36, в котором группирование выбранных страниц вместе включает группирование страниц на основе контекстных данных.
53. Способ по п.52, в котором контекстные данные получены от прикладной программы.
54. Способ по п.52, дополнительно содержащий запись контекстных данных во взаимосвязи с использованием страницы.
55. Способ по п.54, в котором запись контекстных данных включает запись информации о состоянии питания.
56. Способ по п.54, в котором запись контекстных данных включает запись информации о состоянии диска.
57. Способ по п.54, в котором запись контекстных данных включает запись информации о событии.
58. Способ по п.57, в котором запись информации о событии включает регистрацию события, связанного с памятью.
59. Способ по п.1, дополнительно содержащий ранжирование идентифицированных страниц на основе соответствующих данных значимости страниц, причем заполнение памяти включает загрузку страниц в память в порядке, основанном на ранжировании.
60. Способ по п.1, в котором заполнение памяти включает загрузку выбранных страниц из вспомогательного запоминающего устройства в резервный набор страниц в памяти.
61. Способ по п.60, в котором резервный набор страниц включает в себя множество поднаборов, причем способ дополнительно содержит логическое перемещение страницы из одного поднабора резервного набора страниц в другой поднабор на основе данных использования, полученных для страницы.
62. Способ по п.61, в котором логическое перемещение страницы включает перемещение страницы из поднабора, основанного на частотности использования, в поднабор, основанный на времени последнего использования.
63. Способ по п.61, в котором логическое перемещение включает перемещение страницы из поднабора, основанного на времени последнего использования, в поднабор, основанный на частотности использования.
64. Способ по п.1, дополнительно содержащий сохранение данных значимости страниц, связанных по меньшей мере с некоторыми из страниц, в постоянном запоминающем устройстве.
65. Способ по п.1, в котором заполнение памяти включает загрузку страниц в память в фоновой операции.
66. Способ по п.65, в котором загрузка страницы в память в фоновой операции включает получение фиктивных приоритетных данных.
67. Способ по п.65, в котором загрузка страниц в память в фоновой операции включает наблюдение конфигураций ввода/вывода для определения времени переноса.
68. Способ по п.67, в котором время переноса определяется на основе вероятности того, что этот перенос не будет перекрываться с приоритетным переносом ввода/вывода.
69. Способ по п.67, в котором время переноса определяется на основе вероятности того, что этот перенос не будет обуславливать поиск, замедляющий приоритетный перенос ввода/вывода.
70. Способ по п.65, в котором загрузка выбранной страницы в память в фоновой операции включает оценку текущего использования процессора и текущего использования диска.
71. Способ по п.1, в котором заполнение памяти включает загрузку страниц в память в приоритетной операции.
72. Считываемый компьютером носитель, содержащий исполняемые компьютером инструкции для выполнения способа по п.1.