テレワーク奮闘記 24日目 仮想化ってなんだ?
テレワーク24日目となる今日は先週に引き続き仮想化の本を読んだ。先週の反省を活かし、今日はしっかりと内容と用語を調べて理解してから先に進む方式で勉強した。
で、そのまとめた内容をいかに書き残しておこうと思う。まさにnoteって感じ。
勉強内容を書く前に今日の昼ごはんを載せておく。今日は市販のそばと素揚げした野菜だ。
レンコンとかぼちゃを素揚げして塩をかけただけのシンプルな料理だがなかなかおいしかった。レンコンが堅あげポテトのようなハードな食感になりイイ感じ。油の処理がめんどくさいのでそこだけなんとかなれば今後も作りたい。
さて、ここから仮想化のことを書いていく。d
まず仮想化とは物理的に存在するメモリなどを論理的なものとしてみなすという言葉だ。これが多分一番おカタイ書き方だろう。
良く分からなかったので調べてみると、パソコンなどに実際に差し込める(物理的な)メモリなどをそれっぽく見せることを仮想化という。ここまで書いてみたけどやっぱり仮想が良く分からないのでもっと調べてみた。
仮想は仮想〇〇という感じで使うことが多く、これが分かれば仮想化が分かる。例えば仮想メモリを例にしてみよう。この場合、意味としては「メモリっぽく見せたもの」となる。仮想メモリを説明する前に登場人物を二つ紹介しよう。
メモリとハードディスクである。どちらもパソコンに付けられる実際に存在するもので、形もこんな感じである。そして仮想メモリは下の写真のような感じである。
写真の通り仮想メモリはハードディスクの一部をメモリっぽく見せている。実際にはハードディスクの一部なのでメモリではない。だが、パソコンから見てメモリに見える(仮想化している)のでメモリとして使うことができる。
こうすると、例えば物理的なメモリの容量が足りなかったとしても使えるといったようなメリットを受けられる。これが仮想メモリである。
つまり仮想化とは「実際は違うものなのだけど、それっぽく見せることで様々なメリットを受けられるようにする」技術であるといえる。メモリじゃないけどメモリとして使うといいよねとかそんな感じである。
これでようやくイメージの掴みづらかった仮想化が少しわかった。
参考資料は以下。参考資料としてはちょっと弱いが、触りを理解する上では十分だろう。
さて、私的には仮想化がある程度わかったので、その先へ進むことにした。
仮想化自体はよく聞く言葉ではあるけれど、「何を仮想化するとどんなメリットがあるのか」という内容が書いてあった。興味深かったのでこれについてまとめてみようと思う。
パソコンの中身は大雑把に分けて三つ。ハードウェア、OS、アプリケーションだ。先にこれらの軽い説明をしよう。
ハードウェアが物理的にボンと存在することでいろんなデータが保存できる。ハードウェアにOSを入れることでパソコンを起動することができる。そしてアプリケーションを入れることでエクセルやその他のアプリをパソコンで使うことができる。
そして、これらのうちどれを仮想化するかによって得られるサービスが異なる。これについて書いていく。
まず、ハードウェアを仮想化する。つまり、「色々データを入れられる部分」を仮想化する。図にするとこんな感じ。
データを保存するハードウェアを仮想化することで、ハードウェアを複数作成することができる。つまり、一つのパソコンで複数の仮想的なマシンを同時に動かすことができるようになる。
上の画像では仮想マシンという言葉が使われている。マシンとはコンピュータのことで、ざっくり言えばパソコンである。
先ほどの仮想メモリと同じように仮想マシンを作り上げているのはハードディスクの一部なので、実際に存在するマシン、パソコンではない。
しかし、自分の持っているパソコンから見ると仮想マシンはハードウェア、OS、アプリケーションが載せられている「マシンっぽいものに見える」ので、マシンとして扱えるのだ。
仮想マシンを作ることができるアプリの例として「バーチャルボックス」などがある。これを使うとMacのOSを持っているパソコンの中に仮想マシンを作り、WindowsやLinux系列のOSが入ったマシンを作ることができる。
次にOSの仮想化は以下のようになる
OSの仮想化はコンテナといわれ、あるエリア内で共有されたOSという扱いになる。コンテナはOSとアプリケーションが入った箱のようなモノだと思ってほしい。
各マシンが自分の使いたいアプリケーションをコンテナに対してインストールさせる。すると、コンテナは各マシンが必要としているアプリケーションとOSをまとめた箱を用意する。あとはコンテナから自分の欲しかった箱(図上のA専用コンテナなど)をハードウェア上にインストールすれば完成だ。
メリットはCPUやメモリの負荷が軽くなる、パフォーマンス向上などがあるらしい。これはパソコン上にOSを入れる必要が無くなった分色々と処理が軽くなるのが理由だろう。
デメリットはそのエリア内で異なるOSを使えないこと。Windowsに設定したらMacは使えないということだ。
ちなみにコンテナを使う技術にはDockerなどがあるようだ。
最後にアプリケーションの仮想化。アプリケーションは本来OSにインストールする形で使用されるため、OSとの結びつきが非常に強い。この結びつきを仮想化によって切り離すことによって、別バージョンの同じアプリケーションを一つのパソコンで使ったりできるようだ。
書き方は少し変えているものの、これに関しては文献からほぼ持ってきているので自分でも良く分かっていないところが多い。明日以降少し調べてみようと思う。
今日の業務は以上となる。ここからはおまけだ。
おまけ
私は過去にちょくちょく時計の記事を書かせていただいている。そして私の記事の中で読まれているベスト3もすべて時計の記事だ。時計が好きなのでこういった結果はとてもうれしい。そんなわけで今日は時計の話をしようと思う。
今回は時計の車検ともいえる「オーバーホール」について。いわゆる時計のメンテナンス作業だ。時計の中で高級な部類である機械式時計では避けては通れないものでもある。でもクオーツ式の時計を持っている人も知っておいたほうがいいことだ。
まず、なぜオーバーホールをする必要があるのかについて。時計の中にはたくさんの部品が入っており、またパーツには潤滑油というパーツの動きをスムーズにする油が入っていたりする。
これらが古くなったりするとパーツが摩耗して時計の寿命が縮むリスクがあるので、定期的にメンテナンスが必要になるのだ。このメンテナンスがオーバーホールである。
オーバーホールでは時計を分解してパーツを洗ったり、潤滑油を交換したりする作業を行う。これによって時計のパーツを新品に近い状態に仕上げ、時計を永く使っていくことができるようになる。
詳しい説明は上記サイトなどにも載っている。見てもらうとわかるのだが、時計の中には本当にたくさんのパーツが入っており、それらを分解して洗って元に戻すのはすごく大変そうだ。このため、オーバーホールに必要な代金は結構かかる。
時計にもよるが、機械式であれば確実に数万円はする。確実に言えるのは時計の中身がめんどくさいものほど費用がかさむ。具体的に言うと時計に色々と仕掛けがある(カレンダーやストップウォッチ機能などの)やつは時計の部品が多くなるのでその分だけ高額になるのだ。
ここまでは機械式時計の話だが、クオーツ式の時計でもオーバーホールについて知っておいたほうがいい。なぜかというと、クオーツ式の時計は何年かすると修理に使用するパーツが消滅するからである。
具体的には電子回路だ。クオーツ式の時計は中に電子回路が入っていて、もし故障や不良が起こった場合電子回路の交換をすることもあるだろう。しかし、この電子回路はずっと作り続けられているわけではない。時代の移り変わりとともに新しい回路ができたりするために、古い電子回路は廃盤になる。
このため、ずっと使っていたクオーツ時計が故障で全く動かなくなったときに修理に出してもそもそも回路がないから直せない、なんてこともあるようだ。
回路の問題を抜きにしても、中に入っている潤滑油の劣化などの問題はクオーツ時計にもある。このため本当に長く使いたいクオーツ時計であるならオーバーホールが必要になるのだ。
下記のサイトではクオーツ時計のオーバーホールは10年くらいしたらよいと書いてある。そのほかにもクオーツ時計のオーバーホールについて色々と書いてあるので参考にすると良いだろう。
というわけでオーバーホールの話をさせてもらった。機械式時計はロマンがあるのだが、もともとの値段が高いうえにオーバーホールで定期的にメンテナンスが必要になるために高額な趣味であると言わざるを得ない。
しかし、機械式時計は大切にすれば一生モノといわれるようにとても価値あるアイテムとして輝いてくれるのもまた事実だ。こういった側面も含めて時計を大切に使いたいならやはり機械式時計一択だろう。
最後に私の記事の中で読まれているベスト3を載せておく。全部時計の話題だが、よかったら暇つぶしにどうぞ。
前日はコチラ
次の日はコチラ
美味い飯、面白そうなアイテム、紅茶、コーヒー、緑茶、ゲーム、そして何より記事のネタ!に使わせていただこうかなと思ってます。