10
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

仮想環境の違い まとめ

Last updated at Posted at 2023-03-09

※2024/08/18 追記

仮想環境ってそもそも何?

ロボット開発やプログラミングにはよくUbuntuが使われます.その理由は,使い勝手の良さとか色々あるらしい.しかし,UbuntuはLinux OS上でしか動作しない!

では,UbuntuをWindowsユーザが利用したいときはPCを2台持ちするしかないのか?Windows一台でどうにかするための方法が仮想環境です.

仮想環境には以下の3種類あり,それぞれに利点と欠点があります.私はそれを知らずに適当に選んだ結果,途中で使えないことが判明して再構築...3種類全てを経験してしまいました.

  • VirtualBox
  • WSL
  • Docker

ここでは,その反省を踏まえ,私の独断と偏見に基づき各環境の違いを説明していきます.「やりたいことはあるけど,どの環境を使えばいいのかな...?」と悩んでいる人の記念すべき第一歩の助けとなれば幸いです.

Virtual Box

使用しているPCに仮想環境を構築して、他のOSをインストールすることができる仮想化ソフト.たとえばWindows環境でMacやLinuxなど複数のOSを切り替えて使用することが可能となる.

メリット
  • 一度インストールすれば, 好きなOSを好きなだけ入れることができる
デメリット
  • 仮想環境作成時にCPUとメモリ量を割り当てるので,たくさんの仮想環境を作れば作るほど,PCの動作が重くなる.
  • 仮想環境が一つでも,使っていくうちに使用メモリがいっぱいになったりして,仮想環境の動作が重くなることがある.

WSL(Windows Subststem for Linux)

Microsoftが提供するWindows上でLinuxを利用できる機能.LinuxからのシステムコールをWindows APIに変換して使う.

メリット
  • 普段のPCとメモリやCPUは共用なので,仮想環境でも普段のPCでも,そのPCの性能を最大限使える(動作が軽い)
デメリット
  • Microsoft StoreからOSをインストールするので,そこにない種類のOSやバージョンだと使えない.
  • CUIメインなので,GUI対応にするのがちょっと面倒くさい >>> wslgの出現により結構楽になった!
  • (sshするための)Wifi接続・(センサなどとの)USB接続が少し面倒くさい

Docker

Virtual boxとWSLとは異なるシステム構成から成るシステム(難しいことは割愛).Chromeなどのウェブアプリケーションを使って起動することで,CUIもGUIも簡単に利用できる.WSLとコラボするやり方もある.

メリット
  • 他二つとはシステムの構成が異なるので,その分動作が軽い
  • コンテナと呼ばれるデータに環境情報を保存するので,それさえあれば簡単に色々な人と同じ環境を共有できる
デメリット
  • ウェブアプリケーションを使うことが多い,オフラインでは使えない
  • GUIにするのが難しいらしい.普通はCUI専用.目的のOSのGUIバージョンがネット上にあればGUIでも使える(あるいは自分で作る)
  • (sshするための)Wifi接続・(センサなどとの)USB接続ができない >>> その後,特定のUSBカメラは読み込めるようになったが,まだ限定的

まとめ

どれにも一長一短あるが,実際にロボットを動かしたい!のなら,VirtualBox>>WSL.
Dockerはセンサ接続やssh接続が出来ないので,シミュレーションやコーディング,プログラミング勉強など,実機を動かさないときに使うべき!(初期設定地獄が避けられるので,初心者には非常におすすめ)

一覧記事

ロボット開発のために色々やったこと一覧

10
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?