В общем, any ideas как сохранить процесс в файл а потом снова запустить его? Что-то типа hibernation но только для одного процесса? Надо по моему брать "снимок" его адресного пространства и значения регистров. Но потом при повторном запуске адресация должна меняться или нет? В общем если кто-нибудь с чем-нибудь похожим возился то хелпните плз.
Здравствуйте Tsvijba, Вы писали:
T>В общем, any ideas как сохранить процесс в файл а потом снова запустить его? Что-то типа hibernation но только для одного процесса? Надо по моему брать "снимок" его адресного пространства и значения регистров. Но потом при повторном запуске адресация должна меняться или нет? В общем если кто-нибудь с чем-нибудь похожим возился то хелпните плз.
Сохранять нужно весь контекс, всех потоков. К сожалению скорее всего для виндовс приложений это почти невозможно, так как кроме памяти есть и другие ресурсы, востановить которые полностью очень не просто. Если прооцесс твой, т.е. у тебя есть исходники, то достаточно будет серилизовать все важные объекты. Это на порядки прще...
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте Tsvijba, Вы писали:
T>В общем, any ideas как сохранить процесс в файл а потом снова запустить его? Что-то типа hibernation но только для одного процесса? Надо по моему брать "снимок" его адресного пространства и значения регистров. Но потом при повторном запуске адресация должна меняться или нет? В общем если кто-нибудь с чем-нибудь похожим возился то хелпните плз.
Простого копиравиня адресного пространства и регистров недостаточно. Есть ведь, к примеру, объекты которые принадлежат ядру.
По моему, просто невозможно на уровне пользователя восстановить все состояния объектов ядра вручную.
Возможно я и не прав — поправьте.