MicrosoftがWindows向けにCoreutilsの改良版「Coreutils for Windows」を公開
MicrosoftがWindows向けCoreutils改良版を公開

Microsoft、Windows向けCoreutils改良版をリリース

Microsoftは、Windowsオペレーティングシステム向けにCoreutilsを一部改良した「Coreutils for Windows」の配布を開始した。この移植版は、findやsortなどWindowsが従来から持つコマンド名との衝突を考慮して設計されている。

uutilsベースの実装

Coreutils for Windowsは、Rustで記述されたuutilsのCoreUtilsをベースにしている。GNUのCoreUtilsにもWindows用の実装は存在するが、findやsortコマンドの挙動が異なる点が課題だった。本バージョンでは、Windowsスタイルでの呼び出し時にはWindows付属コマンドと同様の振る舞いを行い、Unix的な利用時には本来のCoreUtilsの振る舞いをするよう切り替わる。細かい違いについては、GitHubリポジトリや各種ニュースサイトを参照されたい。

歴史的背景:Software ToolsからGNU CoreUtilsへ

古い世代のユーザーは、こうしたUnixライクなコマンド群を「Software Tools」と呼ぶことがある。これは、同名の書籍に由来する。1976年ごろからベル研究所はV6Unix(Unix Ver.6)を大学など外部研究機関へ配布し始め、多くの大学でV6UnixをベースにしたOS研究や派生開発が行われた。当時のUnixユーザーにとって、V6UnixやV7Unixに搭載されたコマンド群が標準的なUnixの「貌」だった。

Pickt横長バナー — Telegram用の共同買い物リストアプリ

同じ頃、Unix開発者の一人であるブライアン・カーニハン(Brian Wilson Kernighan)は、共著『Software Tools』(邦訳『ソフトウェア作法』)でUnixコマンドのあり方を示した。V6Unixではパイプライン機能を使い、コマンド出力を次のコマンド入力に接続できた。これにより、コマンドを単機能化して開発を容易にし、複雑な作業はコマンドの組み合わせで実現するというUnixのコンセプトが提示された。

Linuxカーネル登場時、オープンソースとして開発されていたSoftware ToolsやV6Unixの標準コマンドを組み合わせて「ディストリビューション」が作られた。これらの多くはGNUプロジェクトの下で開発され、2002年にGNUはfileutils、shellutils、textutilsを統合してGNU CoreUtilsとした。

Research UnixとV6Unixの命名

現在のLinuxに付属する多くのコマンドのベースとなったV6Unixなどは、後付けで「Research Unix」と呼ばれる。最初に稼働したバージョンには名前すらなかった。OSのように多数の独立したプログラムファイルから構成されるソフトウェアの開発初期段階では、個別プログラムはバージョン管理されていても全体のバージョン管理は簡単にしか行われない。このため、Research Unixではマニュアル(manページ)のバージョンを基準に管理された。マニュアルはプログラムの挙動や引数形式をまとめ、理論的に正しい情報を保持するためである。つまりV6Unixは、マニュアルのバージョンが6で、その仕様に準拠した機能を持つUnixを指す。

V6Unixにはもう一つの有名な書籍『Lions' Commentary on UNIX 6th Edition』がある。これはV6Unixカーネルのソースコードに注釈をつけたリストで、多くの大学のOS授業で使われた。こうしてV6UnixはUnixの標準としての「貌」を持つに至った。

タイトルネタ:マシンハヤブサ

今回のタイトルネタは、1976年のテレビアニメ(および漫画)『マシンハヤブサ』である。同作ではレースカー「マシンハヤブサ」のエンジンがV1からV5まで改良される。翌1977年はスーパーカーブームで多くのカーレスアニメが登場したが、本作はその少し前に放映され、スーパーカーというより1967年の『マッハGoGoGo』の直系に位置する。

Pickt記事後バナー — 家族イラスト付きの共同買い物リストアプリ