OSレベルの仮想化

OSレベルの仮想化（）とは、オペレーティングシステム（OS）の枠組みで、コンテナ（LXC、Solaris containers、Docker、Podman）、zones（Solaris containers）、virtual private servers（OpenVZ）、パーティション、仮想環境（VEs）、仮想カーネル（DragonFly BSD）、jails（FreeBSD jailまたはchroot jail）と呼ばれる、複数の分離したユーザー空間インスタンスをカーネルによって割り当てる。このようなインスタンスはその中で実行されているプログラムからの視点では実際のコンピュータのように見えることがある。通常のOS上で動作するコンピュータプログラムは、そのコンピュータのすべての資源（接続されているデバイス、ファイルやフォルダ、ネットワーク共有、CPU性能、定量化できるハードウェア能力）を見ることができる。しかし、コンテナ内で動作するプログラムは、コンテナの内部とコンテナに割り当てられたデバイスしか見ることができない。

Unix系OSではこの機能は現在実行中のプロセスとその子プロセスの見かけ上のルートフォルダを変更する、標準的なchrootメカニズムの高度な実装と見なすことができる。カーネルはしばしばアイソレーションメカニズムに加えて、あるコンテナの活動が他のコンテナに与える影響を制限するための資源管理機能を提供する。Linuxコンテナは、Linuxカーネルが提供する仮想化、アイソレーション、資源管理のメカニズム、特にと cgroupsをベースにしている。

コンテナという用語は、OSレベルの仮想化システムを指すのが一般的だが、マイクロソフトのHyper-Vコンテナのように、ホストOSとさまざまなレベルで協調して動作する完全な仮想マシン環境を指すのにも多義的に使用されることがある。

 実装 
 機構 オペレーティング·システム ライセンス 以降またはその間に活発に開発された 特徴ファイル システムの分離書き込み時にコピーディスク クォータI/O レート制限メモリ制限CPU クォータネットワーク分離ネストされた仮想化パーティションのチェックポイントとライブ マイグレーションルート権限の分離chroot ほとんどのUNIX系OS オペレーティング システムによって異なる 1982          DockerLinux, FreeBSD, Windows x64 (Pro, Enterprise and Education) macOSアパッチ ライセンス 2.0 2013      	 	      Linux-VServer(security context) Linux, Windows Server 2016GNU GPLv2 2001           lmctfy Linux アパッチ ライセンス 2.0 20132015           LXC LinuxGNU GPLv2 2008           Singularity LinuxBSD ライセンス 2015Sylabs Brings Singularity Containers into Commercial HPC | TOP500 Supercomputer Sites www.top500.org.          OpenVZLinuxGNU GPLv2 2005          VirtuozzoLinux, Windowsトライアルウェア 2000          Solaris Containers (Zones)illumos (OpenSolaris),SolarisCDDL、
独自 2004   (ZFS)      Network Virtualization and Resource Control (Crossbow) FAQ    FreeBSD jailFreeBSD, DragonFly BSDBSD ライセンス 2000   (ZFS)        vkernelDragonFly BSDBSD ライセンス 2006    ?    ? ? sysjailOpenBSD, NetBSDBSD ライセンス 2006–2009          WPARsAIX商用 のプロプライエタリ ソフトウェア 2007          iCore Virtual AccountsWindows XPフリーウェア 2008           Sandboxie Windows GNU GPLv3 2004           systemd-nspawn Linux GNU LGPLv2.1+ 2010           Turbo Windowsフリーミアム 2012           rkt Linux アパッチ ライセンス 2.0 2014–2018          
上記以外のLinuxコンテナには以下のようなものがある。

 LXD, Canonicalによって開発されたLXCの代替ラッパー。
 PodmanRootless containers with Podman and fuse-overlayfs, CERN Workshop, 2019-06-04: Dockerのドロップイン代替品
 Charliecloud: HPCシステムで使用されるコンテナツールの一式
 Kata Containers MicroVMプラットフォームHome - katacontainers.io.
 Bottlerocketは、仮想マシンやベアメタルホスト上でコンテナを実行するためにAmazon Web Servicesが専用に開発したLinuxベースのオープンソースのオペレーティングシステムであるBottlerocket is a Linux-based operating system purpose-built to run containers。
 Azure Linuxはマイクロソフトが開発したオープンソースのLinuxディストリビューションで、Fedora CoreOSに類似している。

 関連項目 
 仮想化
 コンテナオーケストレーション

 Linuxのcgroups
 サンドボックス (ソフトウェア開発)
 Container Linux
 ハイパーバイザ
 ポータブルアプリケーションクリエイター
 Open Container Initiative
 分離カーネル
 サーバーレス・コンピューティング
 Snapパッケージ管理システム
 ストレージハイパーバイザー
 仮想専用サーバ
 仮想リソースパーティショニング

 脚注 
 注釈 

 出典 

*OSれへるのかそうか
Category:オペレーティングシステムの仕組み
Category:OSのセキュリティ技術
Category:Linux