Как я могу скопировать ОЗУ работающего приложения, сохранить его и позже перезагрузить в ОЗУ? - PullRequest
5 голосов
/ 01 апреля 2020

Я неплохо играю в модном Minecraft. Одним из недостатков этого является то, что все моды собираются много времени, когда я запускаю Minecraft. Это может занять около 15 минут или около того, что, на мой взгляд, слишком много времени. Когда на компьютере запущены приложения, все, что он делает, основано на входах и данных в оперативной памяти. Я совершенно уверен, что если кто-то скопирует ОЗУ своего компьютера в определенный момент времени и вернет эти данные в ОЗУ в другое время, компьютер вернется в свое прежнее состояние. Хотя все может сломаться, если данные в ОЗУ на самом деле не согласуются с данными на жестком диске (например, если бы в загруженной ОЗУ был открыт проводник windows, в котором отображались файлы и папки, которые на самом деле могут отсутствовать на жестком диске. ).

Я думаю, что возможно скопировать данные ОЗУ приложения (в моем случае несколько ГБ ОЗУ после того, как все скомпилируется и загрузится). Я также думаю, что, если он будет вставлен обратно в ОЗУ позднее, приложение будет выглядеть уже загруженным, не дожидаясь компиляции кода. Как бы я go об этом? Я думаю, что это похоже на загрузку состояния сохранения в эмуляторах.

1 Ответ

1 голос
/ 20 апреля 2020

Я вполне уверен, что если кто-то скопирует ОЗУ своего компьютера в определенный момент времени и вернет эти данные в ОЗУ в другое время, компьютер вернется в свое прежнее состояние.

Это очень проницательно с вашей стороны; и это именно то, что происходит, когда компьютер «спит» [1]. Вы также правы в том, что, если состояние ОЗУ total не сохранено и не восстановлено, или если компьютеру разрешено работать между хранилищем и восстановлением, очень вероятно, что могут произойти странные вещи.

Можно сохранить / восстановить состояние ОЗУ для одного приложения, но это будет сложная операция, и даже после более чем 25-летней карьеры в ИТ я не слышал о приложении, которое может это делать.

... За исключением комментария Фила Брубейкера, в котором упоминаются виртуальные машины. Если вы запускаете Minecraft на виртуальной машине, работающей на вашей физической машине, вы можете поступить так, как сказал Фил: сохранять и восстанавливать рабочее состояние виртуальной машины в любой момент, скажем, в конце сеанса Minecraft. «Снимки» (опять же, как упоминает Фил) - вот как это делается.

(приложения виртуальной машины могут предлагать функцию «приостановки», и хотя в некоторых деталях это может отличаться от функции «снимка» приложения виртуальной машины). эффект тот же, и это похоже на спящий режим для физической машины: рабочее состояние (т. е. содержимое ОЗУ и некоторые сведения о том, что процессор делает в данный момент) сохраняется на диск и может быть восстановлено позже, чтобы вернуть виртуальную машину точно туда, где она была в тот момент, когда она была снята / отредактирована / приостановлена.)

Поэтому я бы порекомендовал поиск в Интернете по запросу «приложения виртуальной машины для [введите здесь свою операционную систему» ]». VMWare и VirtualBox будут хитами; будут другие, в зависимости от вашей операционной системы и тому подобное.

[1] Обратите внимание, что «спящий» отличается: в спящем режиме отключаются только некоторые компоненты, такие как жесткий диск, который обычно всегда вращение, независимо от того, действительно ли это чтение / запись данных Так что сон - это частичное отключение для экономии энергии. Спящий режим - это длительный режим с очень низким энергопотреблением.

...