Dlaczego ktoś miałby chcieć uruchomić UserMode Linux (UML)

18

Linux README stwierdza, że:

Linux również został przeniesiony do siebie. Możesz teraz uruchomić jądro jako aplikację przestrzeni użytkownika - nazywa się to UserMode Linux (UML).

Dlaczego ktoś miałby to zrobić?

JohnAllen
źródło
Może jeśli spróbujesz samodzielnie, stanie się jasne, to proste! unix.stackexchange.com/questions/73203/…
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

Odpowiedzi:

18

UML jest bardzo szybki w rozwoju i znacznie łatwiejszy do debugowania. Jeśli na przykład używasz KVM, musisz skonfigurować środowisko, które uruchamia się z sieci lub kopiuje nowe jądra na maszynie wirtualnej. Dzięki UML po prostu uruchamiasz nowe jądro.

W pewnym momencie testowałem jakiś kod sieciowy w jądrze. Oznacza to, że bardzo często dochodzi do paniki jądra lub innych problemów. Debugowanie tego za pomocą UML jest bardzo łatwe.

Ponadto UML działa w miejscach, w których nie ma wirtualizacji wspomaganej sprzętowo, więc był używany jeszcze bardziej, zanim KVM stał się powszechny.

V13
źródło
IIRC linode.com używał UML do wirtualizacji.
Paul Cager
2
@PaulCager Tak, zrobili to, od 2003 roku do przejścia na Xen w 2008 roku.
Matt Nordhoff
11

Ich strona internetowa ma kilka powodów

Oto niektóre z rzeczy, do których używany jest UML:

  • Hosting serwerów wirtualnych
  • Rozwój jądra
  • Eksperymentowanie z nowymi jądrami i dystrybucjami
  • Edukacja
  • Piaskownica
Patrick
źródło
Byłoby fajnie zobaczyć porównanie z innymi metodami wirtualizacji. Oto samouczek krok po kroku, jak to zrobić GDB: stackoverflow.com/questions/4943857/...
Ciro Santilli 21 改造 中心 法轮功 六四 事件
4

UML był także podstawą oryginalnej wersji FAUmachine , która jest maszyną wirtualną, która umożliwia wstrzykiwanie błędów sprzętowych do działającego jądra.

Jörg W Mittag
źródło
Brzmi interesująco, ale podany adres URL jest zepsuty.
isuldor
1

Niektóre metody konteneryzacji, takie jak Docker, nie zezwalają na użycie, np. FUSE bez uruchamiania uprzywilejowanego kontenera, przełamując niektóre granice bezpieczeństwa, jakie mogą zaoferować kontenery. Trzymanie czegoś takiego jak UML między aplikacją a platformą kontenerową może zapewnić dostęp do większej liczby funkcji jądra bez narażania bezpieczeństwa hosta.

Michael Mol
źródło