Ru-Board.club
← Вернуться в раздел «Другие ОС»

» Виртуальная система для разработки

Автор: Gourmet
Дата сообщения: 14.07.2014 17:45
Есть ли виртуальная система, которая поддерживает одновременную работу 2-х ОС в нативном коде (не в программном эмуляторе) на многоядерном процессоре? Предположим, у компьютера есть 8 ГБ ОЗУ, 4-х ядерный процессор с поддержкой виртуализации (например AMD A8). И надо одновременно загрузить Windows (пока XP) и Linux. Каждая работает в своей области ОЗУ и использует по 2 ядра процессора. И чтобы была возможность связать их в виртуальную локальную сеть. Цель - кроссплатформенная разработка приложения, которое работает в обеих ОС. Разработка ресурсоемкая, компиляция с помощью GNU CC, а он не быстрый. Объемы большие, поэтому тормоза в программном эмуляторе крайне не желательны. Одновременно обе ОС на экране не нужны, нужна возможность переключения быстрого монитора, клавиатуры, мыши и других ресурсов между двумя ОС - на экране всегда будет только одна.

Существует такое?
Автор: s800
Дата сообщения: 15.07.2014 02:40
Gourmet

Цитата:
Цель - кроссплатформенная разработка приложения, которое работает в обеих ОС.


Цитата:
Существует такое?

чем Oracle VM VirtualBox не устраивает
http://ru.wikipedia.org/wiki/VirtualBox
Автор: Gourmet
Дата сообщения: 15.07.2014 12:42

Цитата:
чем Oracle VM VirtualBox не устраивает


а у него точно аппаратная виртуализация? вот я на работе тут давно использую Oracle VM с двумя версиями веников - XP и 7, никак не могу сказать, что гостевая ОС работает на "реальной" машине, тормозит по-виртуальному, хотя процессор 4-х ядерный (правда, возможно он старый, и еще аппаратную виртуализацию не поддерживает)

точно можно быть уверенным, что, например, VirtualBox в хостовой ОС Windows XP на процессоре AMD A8 6600 или 6500, с ОЗУ 8 ГБ, будет гонять аппаратно виртуализированный Linux Kubuntu из последних, или RedHat, и при этом в XP будет оставаться 4 ГБ, и у Linux будет тоже 4 ГБ, причем честных?

с кем можно посовещаться по этому поводу, кто такое делал? может есть тонкости, на которые надо заранее обратить внимание?
Автор: SlavaB
Дата сообщения: 15.07.2014 14:48
Gourmet
Аппаратная реализация подразумевает наличие соответствующего железа.
Все десктопное железо ориентировано на работу с одной ОС.
Управление разделением ресурсов на нем всегда программное.
Погуглите серверы IBM с LPAR - это примерно то, что Вы хотите.
Только цена вряд ли обрадует...
Автор: FuzzyLogic
Дата сообщения: 15.07.2014 20:20
SlavaB
Да вполне справляется обыкновенное железо. По крайней мере c задачей что у Gourmet. Ничего там особенного нет.

Gourmet

Цитата:
точно можно быть уверенным...

Точно. Уже сто лет как пользуюсь Vbox/VMware, процессор/память все работает на ура, overhead практически нулевой. С I/O чуть хуже, но имхо тоже вполне сносно.
Автор: Gourmet
Дата сообщения: 15.07.2014 21:01
FuzzyLogic

спс, но я всё-таки еще уточню - если на машине 8 ГБ физической памяти (XP без хаков видит только 32), на самом деле в VBox каждая система получит по 4 ГБ физической памяти? подкачку в Windows я отключаю, использую только физическую память

мне немного не ясно, как будет распределяться загрузка ядер, если Windows является хостовой ОС - каким образом VBox отбирает два ядра у хостовой ОС? то есть, должно быть так - полная загрузка процессора в одной из ОС никак не должна влияет на ресурс процессора в другой, он должен загружаться совершенно независимо
Автор: FuzzyLogic
Дата сообщения: 16.07.2014 10:26

Цитата:
если на машине 8 ГБ физической памяти (XP без хаков видит только 32), на самом деле в VBox каждая система получит по 4 ГБ физической памяти?

Если 32-битная XP, то нет, VBox будет видеть то что видит OS. Хотя ныне вообще не вижу смысла держать 32-битные ОС.


Цитата:
каким образом VBox отбирает два ядра у хостовой ОС

Никак не отбирает, она просто ограничена кол-вом ядер указанных для VM. Вы в принципе можете указав приоритеты и аффинность хостовой Vbox практически отобрать ядра у хостовой оси, но имхо смысла в этом нет, при простое VM ядра используемые ей можно вполне использовать для других целей.

Для более полного разделения ядер вам нужно две виртуалки и желательно гипервизор bare-metal (т.е. который работает без ОС). Но имхо в данном моменте это перебор, это не продакшн система, не система реального времени +/- 2% производительности в тот или иной момент абсолютно не критичны.
Автор: Gourmet
Дата сообщения: 16.07.2014 12:31

Цитата:
Хотя ныне вообще не вижу смысла держать 32-битные ОС.


не обсуждается... одна из ОС должна быть строго XP, её поддержка и отладка в ней - одно из требований при разработке


Цитата:
Для более полного разделения ядер вам нужно две виртуалки и желательно гипервизор bare-metal (т.е. который работает без ОС).


вот я об этом и спрашивал изначально, хотя на самом деле, мне хотелось бы иметь хостовой ОС именно XP, поскольку кроме отладки, при редактировании фотографий в LightRoom желательно иметь 4 ядра - то есть VirtualBox просто закрыть, и весь процессор у XP


Цитата:
не продакшн система, не система реального времени +/- 2% производительности в тот или иной момент абсолютно не критичны


загрузка при компиляции значительная, задействуются все ядра, поэтому хочется, чтобы для компиляции использовались в гостевой ОС только 2, а 2 в хостовой оставались свободными и наоборот, а также приложение во время отладки может нагрузить процессор почти на 100%, это очень неприятно, но если в хостовой ОС ядра будут свободны, это позволит легко прекратить безобразие

а что насчет варианта, если хостовой ОС будет Linux? есть для неё виртуалки, в которые можно установить XP, причем уже присутствующую на носителе компьютера, и чтобы XP там заиграла в аппаратной виртуализации, на 2-х ядрах и с половиной физической памяти?

ЗЫ: на самом деле, речь о выборе всей конфигурации для разработки и отладки - либо брать 2 компьютера, один 4-х ядерный, который можно и просто как домашний использовать, и в нем фотографии в Лайтруме править, и кино с него крутить, второй чисто для разработки в Linux - но тогда начнется геморрой с переключениями, причем оба компьютера должны быть с двухголовым видео (софт на 2 монитора), USB мышь и клавиатура, причем программируемые... в общем, и гораздо дороже получается, и геморройнее управление, хочется всё на одной машине чтобы происходило
Автор: SlavaB
Дата сообщения: 16.07.2014 15:45
Gourmet
Как вариант - два системных блока, один монитор, одна клавиатура и мышь + KVM-переключатель.
Опционально - NAS, хотя хватит и расшаренных дисков.
Все полностью независимо, никакой виртуализации и издержек.
И видеокарты любые, одноголовые.
Переключение клавиатуры, мыши и монитора - одной кнопкой, мгновенно.
Автор: Gourmet
Дата сообщения: 16.07.2014 16:49

Цитата:
Как вариант - два системных блока, один монитор, одна клавиатура и мышь + KVM-переключатель.
Опционально - NAS, хотя хватит и расшаренных дисков.


Я же говорю - это все понятно, только получается гораздо дороже. Мониторов два, оба DVI, оба 1920х1200, переключать надо оба. И потребляемая мощность больше, шум заметно сильнее. Система делается для работы дома, плодить огород нет никакого желания.
Автор: FuzzyLogic
Дата сообщения: 17.07.2014 00:07

Цитата:
не обсуждается... одна из ОС должна быть строго XP, её поддержка и отладка в ней - одно из требований при разработке

Ну дык не обязательно ей быть хостом


Цитата:
вот я об этом и спрашивал изначально, хотя на самом деле, мне хотелось бы иметь хостовой ОС именно XP

Ну тада может и обязательно


Цитата:
загрузка при компиляции значительная, задействуются все ядра, поэтому хочется, чтобы для компиляции использовались в гостевой ОС только 2

Ну выставьте в компиляторе ограничение в 2 ядра.


Цитата:
а что насчет варианта, если хостовой ОС будет Linux? есть для неё виртуалки, в которые можно установить XP, причем уже присутствующую на носителе компьютера

Тот же самый софт, он обычно работает в обе стороны.


Цитата:
на 2-х ядрах и с половиной физической памяти

Тоже самое, забрать у ОС ядра (так чтобы она их не видела) не получится. Выставьте правильно приоритеты и аффинность (поставьте VBoxу приоритет выше среднего и ограничьте аффинность двумя конкретными ядрами), тоже самое сделайте компилятору в Windows и будет по сути то что вы хотите.

Единственная проблема это с XP 32-bit и 8G памяти, тут вариантов как-то не очень ибо все эти расширения для памяти это всё равно костыли. Имхо проще всего взять нормальную x64 ось как хост и под ней поднять две виртуалки, с конфигом таким какой нужен для разработки. У меня таких 7 штук (правда и памяти 64G), причём я скриптом на хосте могу их все запустить, положить на них на все тестовый проект, скомпилировать, прогнать тесты, забрать результаты обратно на хост и уложить всех спать.
Автор: Gourmet
Дата сообщения: 17.07.2014 13:57

Цитата:
тот же самый софт, он обычно работает в обе стороны.


Тогда я так сформулирую вопрос: Есть компьютер, на котором установлены и настроены Linux и Windows XP, изначально грузятся раздельно с GRUB. Хватит ли возможностей VBox for Linux для того, чтобы аппаратно виртуализировать уже установленную XP? Или лучше VMWare?
Автор: FuzzyLogic
Дата сообщения: 17.07.2014 20:16
Gourmet
Если XP установлена на раздел отдельный от Linux, то да. Вам нужен raw доступ к диску (если обе ос установлены на один раздел, то такой доступ вы не получите ибо раздел уже будет использоваться хостовой ос).

https://www.virtualbox.org/wiki/Migrate_Windows
О переносе железной XP на VM. Также можете попользовать vmware converter, который импортирует физические машины в виртуальные. Потом эту vm можно подсунуть как vmware так и vbox. Имхо workstation/virtualbox предоставляют аналогичные функциии, но vbox бесплатен.

Страницы: 1

Предыдущая тема: Проблема с установкой ХакОС на Lenovo ThinkPad L520


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.