(не)ламерский вопрос :-)
От: Tsvijba  
Дата: 22.06.02 20:09
Оценка:
В общем, any ideas как сохранить процесс в файл а потом снова запустить его? Что-то типа hibernation но только для одного процесса? Надо по моему брать "снимок" его адресного пространства и значения регистров. Но потом при повторном запуске адресация должна меняться или нет? В общем если кто-нибудь с чем-нибудь похожим возился то хелпните плз.
Re: (не)ламерский вопрос :-)
От: VladD2 Российская Империя www.nemerle.org
Дата: 22.06.02 20:14
Оценка:
Здравствуйте Tsvijba, Вы писали:

T>В общем, any ideas как сохранить процесс в файл а потом снова запустить его? Что-то типа hibernation но только для одного процесса? Надо по моему брать "снимок" его адресного пространства и значения регистров. Но потом при повторном запуске адресация должна меняться или нет? В общем если кто-нибудь с чем-нибудь похожим возился то хелпните плз.


Сохранять нужно весь контекс, всех потоков. К сожалению скорее всего для виндовс приложений это почти невозможно, так как кроме памяти есть и другие ресурсы, востановить которые полностью очень не просто. Если прооцесс твой, т.е. у тебя есть исходники, то достаточно будет серилизовать все важные объекты. Это на порядки прще...
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: (не)ламерский вопрос :-)
От: Afx  
Дата: 24.06.02 06:29
Оценка:
Здравствуйте Tsvijba, Вы писали:

T>В общем, any ideas как сохранить процесс в файл а потом снова запустить его? Что-то типа hibernation но только для одного процесса? Надо по моему брать "снимок" его адресного пространства и значения регистров. Но потом при повторном запуске адресация должна меняться или нет? В общем если кто-нибудь с чем-нибудь похожим возился то хелпните плз.


Простого копиравиня адресного пространства и регистров недостаточно. Есть ведь, к примеру, объекты которые принадлежат ядру.
По моему, просто невозможно на уровне пользователя восстановить все состояния объектов ядра вручную.
Возможно я и не прав — поправьте.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.