「RT-11」はUNIXの“/usr”ディレクトリの語源なのか 歴史と機能から検証する:リアルタイムOS列伝(48)(1/3 ページ)
IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第48回は、UNIXの“/usr”ディレクトリの語源という説が流れた「RT-11」について、その歴史や機能を紹介する。
前回「VAXELN」の記事を書いたから、というわけではないのだが、ひょんなところで名前が出て話題になっていたので、そのあたりを交えて今回は「RT-11」を紹介したい。
数年ごとに話題になるUNIXの“/usr”ディレクトリの語源
ひょんなところでというのは、LinuxというかUNIXの“/usr”ディレクトリは何に由来しているのかという話である。これ、数年ごとに話題になるのだが、最近だとBytebytegoの2024年6月12日のPostで再び話題になった。
ここでは/usrが“UNIX System Resources”の略(“UNIX Shared Resources”や“UNIX Services and Routines”の説もある)という話になっており(確かに、UNIXのSystem Resourcesといわれても無理がないのが現状ではあるのだが)、そんな単語どこから出てきた? という話になった時、誰かが“RT-11にはUser Service Routine(USR)”なるものがあり、これが語源だとか言い出したらしい。
UNIXそのものは、前回記事でも紹介したDECのPDP-7で最初に開発されたが、続いてPDP-11に移植されており、この際にユーザーインタフェース周りで参考にしたといわれているのが「RSX-11」というPDP-11用のOSである。OSというか、リアルタイムOS(RTOS)の一種であって、RSXは“Real time System eXecutive”の略である。このRSX-11、もともとはPDP-15用に開発された「RSX-15」をPDP-11に移植したというものでバージョンが多数あり、シングルユーザーのものやマルチユーザーのもの、スタンドアロンブート(ROMないし紙テープ、あるいはテープドライブから起動)のものやHDDを前提にしたものなど各種存在するのだが、このRSX-11をUNIXでは参考にした(何をどう参考にしたのかは不明)という話を筆者もどこか昔の書籍で読んだ覚えがある。
このRSX-11も、何しろPDP-11で動くものだから総メモリ量は64KB(32Kwordで16ビットword)でしかないから相当小さいのだが、今はともかく1970年代に64KBのメモリは相当高価だった。後年になるとPDP-11のメモリサイズも拡充され、1984年に出たPDP-11/84などだと最大4MBのECC保護付きメモリを利用できていたりするのだが、1970年代初頭にそんなメモリ容量は夢のまた夢である。
1970年に発売されたPDP-11/20の場合、最小構成だと8KBのコアメモリボード(MM11-E)が1枚搭載されているだけだった。この上でRSX-11を動かすことは可能だったようだが、まともにプログラムを動かそうとすると結構難渋した。そこで、もっとシステム負荷(というか、メモリフットプリント)の小さいOSが求められた結果として1973年に登場したのがRT-11である。実際、RT-11の最初のバージョンでは、最小構成は“8KB Memory”と明記されている。もっとも、このサイズだと外部ストレージをプログラムから扱うことは不可能である。起動はROMか紙テープ、テープドライブ、あるいはディスクドライブ(これは単にブートの時に読み込むだけで、システムが立ち上がった後にアクセスはできない)から行えるが、ブートストラップローダがない関係でROM以外の場合は操作パネルから自分でブートストラップを入力して実行する、という操作が必要だった(図1)。これが許される時代だった、ともいえる。
Copyright © ITmedia, Inc. All Rights Reserved.