😊

Linux の「ユーザーランド」という言葉をよく聞くけどちゃんと理解してなかったのでメモ

2021/06/09に公開

Linux の場合です。 FreeBSD や NetBSD なども「ユーザーランド」という言葉を使いますが、ここでは Linux のみ扱います。

ユーザーランドとは

OS のうちカーネル以外のことをユーザーランドと言います。実装としては GNU Coreutils がよく使われるようです。ユーザーランドは GNU Coreutils だけでなく、管理者やユーザーがインストールしたパッケージも含まれます。分類すると以下のとおり。

BusyBox

組み込み Linux ではユーザーランドとして BusyBox がよく使われるようです。

BusyBox は GNU core utilities などに含まれるコマンド群(cat や ls など)を 1 つの実行ファイルにまとめたものです。コマンド群も 1 つ 1 つが実行ファイルですが、これらをすべて 1 つの実行ファイルにまとめることで、ファイル容量や実行時間を削減できます。

組み込み用途の場合はストレージやメモリの制約が厳しいので BusyBox のようなアプローチが必要とされます。ようするに容量が少ないので節約する必要があります。

参考

Linuxの最も基本となるGNU Core Utilitiesの基礎知識 | TECH+

*BSD系のオペレーティングシステムはユーザランドのコマンドやツールも含めてプロジェクトが開発を行っている。Linuxではカーネルとユーザランドコマンドは別のパッケージとなっており、ディストリビューションベンダーやプロジェクトがそれらを取りまとめて配布を行っている。

Core utilities - ArchWiki

この記事では less, ls, grep などの GNU/Linux システムのコアユーティリティを扱っています。この記事の扱う範囲は GNU coreutils パッケージに含まれているユーティリティに留まりません。ユーティリティに関連する様々なヒント・小技、その他便利な情報を載せています。

GNU Core Utilities - Wikipedia

GNU Core UtilitiesまたはCoreutilsはUnix系のOSで中心的 (core) なcat、ls、rmなどのユーティリティ群のパッケージ、ないし、その開発とメンテナンスを行うGNUプロジェクトの1サブプロジェクトである。以前はfileutils、textutils、shellutilsに分かれていた。

util-linux - Wikipedia

util-linux is a standard package distributed by the Linux Kernel Organization for use as part of the Linux operating system.

BusyBox - Wikipedia

BusyBox(ビジーボックス)は、Coreutilsなど標準UNIXコマンドで重要な多数のプログラムを単一の実行ファイルに「詰め込んで」提供する、特殊な方式のプログラムである(その詰め込み方法を指して呼ぶこともある)。BusyBoxの実行ファイルはLinux上で最小の実行ファイルとなるよう設計されており、各コマンドの実行ファイルをインストールするのに比べディスクの使用量を大幅に削減することができる。

Discussion