перенести живой процесс с одной машины на другую

Я собираюсь работать над проектом, в котором один живой процесс должен мигрировать с одного компьютера с Ubuntu на другой компьютер (в однородной среде), так что обо всем, что я должен знать до этого. Все будет реализовано с нуля, так какой язык программирования мне следует использовать?

0
задан 25 June 2014 в 14:28

1 ответ

Ответ, который Вы ищете, достоин всей специализированной исследовательской группы..., требования для этого - просто слишком многие. AskUbuntu может быть неправильным местом.

Вещи принять во внимание включали бы: память процесса, состояния потока, память, сохраненная видеокартой, открывает дескрипторы файлов, сокет ядра (Интернет/UNIX) состояния, другие каналы IPC, состояния ядра любых открытых файлов устройств, карт распределения памяти, среды, вся память пространства ядра в случае, если процесс был посреди sys-вызова (такой, ожидая действия для случая), свойства памяти процесса (такой как нет - выполняют биты), и многие, Многие другие (возможно, вдвое больше, чем, что я уже перечислил).

, Так как большинство из них требует патчей драйвера ядра и драйвера устройства, языки, в которых Вы нуждаетесь, были бы C и ASM.

проект А, пытающийся сделать, это называют LinuxPMI, можно хотеть изучить его.

Альтернативные способы переместить процесс:

  • Приостанавливают к диску и используют внешнюю систему, чтобы скопировать раздел подкачки и весь диск к другой системе
  • Хост процесс в виртуальной машине, и позволить ее корневой файловой системе быть объединением (т.е. UnionFS или AuFS) основного образа системы только для чтения и пустого изображения, которое будет заполнено любыми изменениями, которые вносит система; тогда приостановите виртуальную машину и копию по меньшему изображению
  • Реализация (с нуля) вся виртуальная машина единственного процесса, которая реализует полную i686 систему команд и обеспечивает обертки и рычаги для каждой системы, и вызову библиотеки было нужно
1
ответ дан 25 June 2014 в 14:28

Другие вопросы по тегам:

Похожие вопросы: