LoginSignup
0
0

More than 5 years have passed since last update.

virtualなものをまとめてみた

Posted at

virtualな用語

最近よくvirtualを見ることが多く、よく考えてみたらCS用語の中によくvirtualがprefixでつくことが多いので、まとめてみた。
どれもそれぞれのトピックの中で抽象化を表していて、上位のひとつのインタフェースで下位の異なる実装を使っていて、one-to-manyの関係を表しているのでなかなか面白い。
ハードウェアのレイヤーからソフトウェアのレイヤーの順で知っているものをまとめてみた。

virtual machine

ハードウェアを抽象化している。特定のアーキテクチャを異なるハードウェアやソフトウェアの上で再現する
one: 特定のアーキテクチャやOSのインターフェイス
many: 色々なハードウェアやソフトウェアの実装

virtual private server

OSレベルの抽象化。一貫性のあるOSへのサービスを変更可能なハードウェアの組み合わせで実現している。
one: 一貫したOSのサービス
many: 変更可能なハードウェアの組み合わせ上でのOSサービス

virtual private network

ネットワークを抽象化している。プライベートネットワークのプロトコルをより一般的なインターネットプロトコル上で実装する。
one: プライベートネットワークのプロトコル
many: インターネットのプロトコル

virtual IP

IPアドレスを抽象化している。IPがネットワークカードとは一対一ではない。
one: IPアドレス
many: IPプールの中のアドレス

virtual file system

IOを抽象化している。具体的にどのファイルシステムの実装を使うかを決める
one: read, writeなどのIOインタフェース
many: ext2, 3, FATなどのファイルシステムの実装

virtual memory

メモリ番地の抽象化。メモリアクセスするときに、具体的にどのRAMのアドレスにアクセスするかを決める。
one: リニアアドレス
many: RAMの物理アドレス

virtual function / table

実装の抽象化。関数を呼び出すときに、具体的にどの実装を呼び出すかを決める。
one: 関数のインタフェース
many: 関数の実装

virtual agent

agent(人間?)を抽象化している。テキストや音声でSiriやAlexaなどのagentを操作する。
one: テキストや音声のインタラクション
many: Siri, AlexaなどのいろんなバーチャルAgentの実装

virtual currency

通貨のトランザクションを抽象化している。お金のやりとりを色んな形で実装する
one: お金のやりとりのtransaction
many: 物理ベースな台帳で実現するか、暗号ハッシュベースのブロックチェーンで実現するか

virtual reality

reality(現実?)を抽象化している。現実とのやり取りを抽象化している。
one: 現実とのやりとり(視覚、聴覚などを通じて)
many: いろんなバーチャル世界の実装

0
0
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
0
0