ЗАХВАТ И ЗАГРУЗКА СОСТОЯНИЙ ОПЕРАЦИОННОЙ СИСТЕМЫ

1. Реализованный с помощью компьютера процесс захвата и загрузки состояний операционной системы, в котором:
используют компьютер для выполнения следующих этапов процесса, на которых:
сохраняют состояния памяти операционной системы компьютера, которые желают загрузить в будущем (200);
предотвращают изменения в постоянном хранилище, связанном с компьютером, во время компьютерного сеанса (202);
сохраняют изменения, которые были бы произведены в постоянном хранилище во время компьютерного сеанса, если бы они не были предотвращены, в отдельном файле сеанса (204), и используют данные, сохраненные в файле сеанса и в постоянном хранилище, во время компьютерного сеанса; и
всякий раз, когда желают возвратить операционную систему компьютера к своему состоянию, когда были сохранены состояния памяти операционной системы, загружают сохраненные состояния в память операционной системы вместо текущих состояний памяти операционной системы (208).
2. Реализованный с помощью компьютера процесс захвата и загрузки состояний операционной системы, в котором:
используют компьютер для выполнения следующих этапов процесса, на которых;
сохраняют состояния памяти операционной системы компьютера, пока они существуют в момент времени, заданный пользователем компьютера, причем упомянутые состояния назначаются в качестве базовых состояний памяти операционной системы (300);
предотвращают изменения в постоянном хранилище, связанном с компьютером, во время компьютерного сеанса (302);
захватывают изменения, которые были бы произведены в постоянном хранилище во время компьютерного сеанса, если бы они не были предотвращены (304), и используют захваченные изменения, а также другие данные из постоянного хранилища, во время компьютерного сеанса; и
всякий раз, когда компьютерный сеанс завершается,
сохраняют файл состояний сеанса, представляющий состояния памяти операционной системы компьютера, существующие в момент времени, когда компьютерный сеанс завершен (308), и связывают файл состояния сеанса с пользователем и завершаемым компьютерным сеансом,
сохраняют захваченные изменения в отдельном файле компьютерного сеанса (310) и связывают файл компьютерного сеанса с пользователем и завершаемым компьютерным сеансом,
прерывают захват изменений, которые были бы произведены в постоянном хранилище во время компьютерного сеанса (312), и
возвращают операционную систему компьютера к ее состоянию, когда были сохранены базовые состояния памяти операционной системы, причем упомянутый возврат содержит этап, на котором загружают сохраненные базовые состояния в память операционной системы вместо текущих состояний памяти операционной системы (314).
3. Процесс по п.2, дополнительно содержащий этапы процесса, на которых:
всякий раз, когда желают возвратить компьютер к его состоянию, когда был завершен упомянутый компьютерный сеанс, и начать текущий компьютерный сеанс,
осуществляют доступ и загружают сохраненный файл состояния сеанса, соответствующий компьютерному сеансу, в память операционной системы компьютера вместо текущих состояний памяти операционной системы,
осуществляют доступ к файлу компьютерного сеанса, соответствующему компьютерному сеансу,
повторно инициируют захват изменений, которые были бы произведены в постоянном хранилище во время компьютерного сеанса, и сохраняют захваченные изменения в файле компьютерного сеанса, и
используют захваченные изменения, а также другие данные из постоянного хранилища, во время текущего компьютерного сеанса.
4. Процесс по п.3, дополнительно содержащий этапы процесса, на которых:
всякий раз, когда завершается текущий компьютерный сеанс,
сохраняют файл состояния сеанса, представляющий состояния памяти операционной системы компьютера, существующие в момент времени, когда завершен текущий компьютерный сеанс, и связывают файл состояния сеанса с пользователем и текущим завершаемым компьютерным сеансом,
формируют и сохраняют новый файл компьютерного сеанса, который обновляет последний ранее сохраненный файл сеанса посредством добавления предотвращенных изменений постоянного хранилища, захваченных во время текущего компьютерного сеанса, и связывают новый файл компьютерного сеанса с пользователем и текущим завершаемым компьютерным сеансом,
прерывают захват изменений, которые были бы произведены в постоянном хранилище во время текущего компьютерного сеанса, и
возвращают операционную систему компьютера к ее состоянию, когда были сохранены базовые состояния памяти операционной системы, причем упомянутый возврат содержит этап, на котором загружают сохраненные базовые состояния в память операционной системы вместо текущих состояний памяти операционной системы.
5. Процесс по п.4, в котором файлы состояния сеанса и файлы компьютерного сеанса, связанные с несколькими компьютерными сеансами, являются доступными для компьютера, причем этапы процесса осуществления доступа и загрузки сохраненного файла состояния сеанса, соответствующего компьютерному сеансу, в память операционной системы компьютера вместо текущих состояний памяти операционной системы и осуществления доступа к файлу компьютерного сеанса, соответствующему компьютерному сеансу, содержат этапы, на которых:
предоставляют список доступных файлов состояний сеанса и файлы компьютерного сеанса пользователю, который начинает текущий компьютерный сеанс;
вводят пользовательский выбор файла состояния сеанса и файл компьютерного сеанса из предоставленного списка, который соответствует предыдущему компьютерному сеансу, который пользователь хочет повторно открыть в качестве текущего сеанса; и
используют выбранный пользователем файл состояния сеанса и файл компьютерного сеанса для возврата компьютера к своему состоянию, когда был завершен предыдущий компьютерный сеанс, и начала текущего компьютерного сеанса.
6. Процесс по п.5, в котором этапы процесса сохранения файлов состояния сеанса и файлов компьютерного сеанса содержат этап, на котором сохраняют файлы в энергонезависимой памяти, доступной для компьютера.
7. Процесс по п.4, в котором этап процесса возврата операционной системы компьютера к ее состоянию, когда были сохранены базовые состояния памяти операционной системы, дополнительно содержит этапы, на которых:
делают сохраненный файл состояния сеанса и файл компьютерного сеанса, соответствующие последнему завершенному компьютерному сеансу, доступными пользователю для загрузки; и
удаляют сохраненный файл состояния сеанса и файл компьютерного сеанса, соответствующие последнему завершенному компьютерному сеансу, из памяти, доступной для компьютера.
8. Процесс по п.7, в котором этапы процесса доступа к файлу состояния сеанса и файлу компьютерного сеанса содержит этапы, на которых:
запрашивают пользовательский ввод файла состояния сеанса и файла компьютерного сеанса; и
вводят файл состояния сеанса и файл компьютерного сеанса, когда они приняты от пользователя.
9. Процесс по п.8, в котором этапы процесса сохранения файла состояния сеанса и сохранения файла компьютерного сеанса содержат этап, на котором связывают файлы с информацией проверки допустимости, которая содержит указатель базовой версии, идентифицирующий версию базовых состояний памяти операционной системы, из которых были получены файлы.
10. Процесс по п.9, в котором этапы процесса доступа к файлу состояния сеанса и файлу компьютерного сеанса дополнительно содержат этапы, на которых:
определяют, были ли файл состояния сеанса и файл компьютерного сеанса получены из базовых состояний памяти операционной системы, используемой компьютером, на основании информации проверки допустимости, связанной с файлами;
осуществляют доступ к файлу состояния сеанса и файлу компьютерного сеанса всякий раз, когда определено, что файл состояния сеанса и файл компьютерного сеанса были получены из базовых состояний памяти операционной системы, используемой компьютером; и
сообщают пользователю, что к файлу состояния сеанса и файлу компьютерного сеанса нельзя получить доступ, всякий раз, когда определено, что файл состояния сеанса и файл компьютерного сеанса не были получены из базовых состояний памяти операционной системы, используемой компьютером.
11. Процесс по п.4, в котором этап процесса сохранения файла состояния сеанса содержит этапы, на которых:
идентифицируют различия между базовыми состояниями памяти операционной системы и состояниями памяти операционной системы, существующими в момент времени, когда завершен последний проведенный компьютерный сеанс; и
сохраняют идентифицированные различия как файл разности состояний сеанса.
12. Процесс по п.11, в котором этап процесса доступа к сохраненному файлу состояния сеанса, соответствующему компьютерному сеансу, содержит этапы, на которых:
формируют и сохраняют восстановленный файл состояния сеанса посредством применения различий в файле различий состояний сеанса к базовым состояниям памяти операционной системы; и
назначают восстановленный файл состояния сеанса в качестве сохраненного файла состояния сеанса, к которому должен быть осуществлен доступ.
13. Реализованный с помощью компьютера процесс захвата и загрузки состояний операционной системы, в котором:
используют компьютер для выполнения следующих этапов процесса, на которых:
(a) сохраняют состояния памяти операционной системы компьютера, существующие в момент времени, заданный пользователем компьютера, причем упомянутые состояния сохраняются в файле базовых состояний (500);
(b) предотвращают изменения в постоянном хранилище, связанном с компьютером, во время компьютерного сеанса (502);
(c) захватывают изменения, которые были бы произведены в постоянном хранилище во время компьютерного сеанса, если бы они не были предотвращены (504);
(d) используют захваченные изменения, а также другие данные из постоянного хранилища во время текущего компьютерного сеанса,
(e) всякий раз, когда компьютерный сеанс завершается,
сохраняют файл состояния сеанса, представляющий состояния памяти операционной системы компьютера, существующие в момент времени, когда компьютерный сеанс завершается (506),
прерывают захват изменений, которые были бы произведены в постоянном хранилище во время текущего компьютерного сеанса и сохраняют захваченные изменения (508), и
возвращают операционную систему компьютера к ее состоянию, когда были сохранены базовые состояния памяти операционной системы, причем упомянутый возврат содержит этап, на котором загружают сохраненные базовые состояния в память операционной системы вместо текущих состояний памяти операционной системы (510);
(f) осуществляют доступ и загружают предписанную часть состояний из сохраненного файла состояния сеанса в память операционной системы компьютера вместо соответствующих текущих состояний памяти операционной системы компьютера (512);
(g) повторно инициируют захвата изменений, которые были бы произведены в постоянном хранилище (514);
(h) используют захваченные изменения, а также другие данные из постоянного хранилища и сохраненные изменения во время текущей итерации отладки для отладки операционной системы компьютера (516);
(i) определяют, была ли отлажена операционная система компьютера (518);
(j) всякий раз, когда определено, что операционная система компьютера не была отлажена,
завершают текущую итерацию отладки (520),
прерывают захват изменений, которые были бы произведены в постоянном хранилище во время текущей итерации отладки, и сохраняют захваченные изменения (522),
возвращают операционную систему компьютера к ее состоянию, когда были сохранены базовые состояния памяти операционной системы, причем упомянутый возврат содержит этап, на котором загружают сохраненные состояния из файла базовых состояний в память операционной системы вместо текущих состояний памяти операционной системы (524),
осуществляют доступ и загружают увеличенную часть состояний из сохраненного файла состояния сеанса, соответствующего последней завершенной итерации отладки, в память операционной системы компьютера вместо соответствующих текущих состояний памяти операционной системы компьютера, причем увеличенная часть состояний из сохраненного файла состояния сеанса содержит состояния из сохраненного файла состояния сеанса, загруженного на последний завершенной итерации отладки плюс предписанную дополнительную часть состояний из сохраненного файла состояния сеанса (526), и
(k) повторяют этапы от (g) до (j) до тех пор, пока операционная системы компьютера не будет отлажена.
14. Процесс по п.13, в котором компьютерный сеанс автоматически завершается операционной системой компьютера вследствие ошибки, причем файл состояния сеанса представляет собой файл выгрузки сбоя.
15. Процесс по п.13, в котором компьютерный сеанс завершается пользователем с целью отладки операционной системы компьютера.