5A-03
Nimを用いたContainer Runtimeの開発
近年, コンピュータの仮想化技術はコンテナ型と呼ばれる技術が広く使用されるようになってきた.
コンテナ型仮想化を実現するソフトウェアはDockerが広く使用されており,Dockerを始めとしたコンテナのエコシステムはGo言語で開発されている.
しかしながら,Go言語はC言語と比べパフォーマンスで劣る可能性があることやバイナリサイズが肥大化しやすいなどの問題点がある.
一方でC言語の場合パフォーマンスは良いが,メモリ管理を手動で行う必要があるためバグや脆弱性が非常に発生しやすく開発コストが高くなりやすいなどの問題点がある.
本開発ではC言語へコンパイル可能な言語であるNim言語を用いLinux向けのDocker image互換のContainer Runtimeの実装する.
コンテナ型仮想化を実現するソフトウェアはDockerが広く使用されており,Dockerを始めとしたコンテナのエコシステムはGo言語で開発されている.
しかしながら,Go言語はC言語と比べパフォーマンスで劣る可能性があることやバイナリサイズが肥大化しやすいなどの問題点がある.
一方でC言語の場合パフォーマンスは良いが,メモリ管理を手動で行う必要があるためバグや脆弱性が非常に発生しやすく開発コストが高くなりやすいなどの問題点がある.
本開発ではC言語へコンパイル可能な言語であるNim言語を用いLinux向けのDocker image互換のContainer Runtimeの実装する.