2013-11-07 3 views
1

Как насчет запуска приложения linux на платформе Windows без какой-либо виртуализации ОС. Допустим, у нас есть программное обеспечение linux, установленное на машине Windows, которая может успешно работать в окнах с указанным ниже подходом:Запуск приложения Linux на окнах

Нормальное приложение Windows запускается в Windows, создавая виртуальное адресное пространство на любой операционной системе. Программный загрузчик загружает требуемые библиотеки для приложения с физического диска в адресное пространство виртуальной памяти. Все библиотеки, связанные с приложением, загружаются по мере необходимости с помощью API файловой системы.

Теперь позволяет идти по-другому, вместо создания виртуального адресного пространства в локальной системе мы можем создать адресное пространство процесса на другой машине, которая способна запускать приложение. В нашем случае создайте адресное пространство для приложения linux на удаленной машине linux вместо локальной машины Windows. Весь доступ к файловой системе может быть захвачен на удаленном компьютере и перенесен на локальную машину Windows. Таким образом, приложение linux, расположенное на локальных машинах Windows , создает адресное пространство процесса на удаленной машине Linux, доступ к файловой системе на локальной машине Windows. Вся связанная с файловой системой apis может быть удалена и перенаправлена ​​на локальный компьютер. Пользовательский интерфейс Linux может быть захвачен на машине Linux и отправлен для отображения на локальной машине Windows.

Таким образом, различные платформы могут быть запущены и на другой платформе, без необходимости виртуализации ОС. Как вы оцениваете этот подход и насколько это возможно. Есть ли большая ошибка в этом подходе, который делает этот подход невыполнимым.

+0

Как это отличается по функциональности, чем с использованием системы удаленного рабочего стола? –

+0

В удаленном рабочем столе невозможно одновременно запускать разные приложения платформы на локальном компьютере ... Возможно, такой подход может помочь в этой ситуации ... – vicky

+0

Будет ли это похоже на то, что было coLinux? – davemackey

ответ

0

Это небольшое слово - API, которое вы использовали там, означает перевод всего набора системных вызовов операционной системы в другой. Звонки, которые вступают в создание соединения сокета или каталога для блокировки файлов и т. Д., ВСЕ изменения. Вы обсуждали здесь только память, у графического интерфейса есть свои собственные вызовы, а также драйверы и сети.

К концу 6 лет будет называться эта небольшая миллионная строка кода, которую вы написали бы для достижения всего этого, когда она будет упакована и в комплекте; сюрприз, сюрприз - гипервизор.

Смежные вопросы