エッジコンピューティングの逆襲 特集

IBMのメインフレーム向け実験OSが源流の「CapROS」はディスクレスで動作するリアルタイムOS列伝(45)(1/3 ページ)

IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第45回は、IBMのメインフレームであるSystem/370向けに開発された「GNOSIS」を源流に持つ「CapROS」について紹介する。

» 2024年04月09日 07時00分 公開
[大原雄介MONOist]

 今回紹介する「CapROS」は、もともとは1977年から開発がスタートした「GNOSIS」にさかのぼる。GNOSISは米国のTymshare(ティムシェア)で開発されていた実験的なOSである。GNOSISという名称は“Great New Operating System In the Sky”という言葉に由来しており、全くのスクラッチから開発したことを明示している。

図1 図1 「CapROS」のソースとドキュメントはGitHubで公開されている[クリックでWebサイトへ移動]

⇒連載記事「リアルタイムOS列伝」バックナンバー

源流はIBMのSystem/370向けの「GNOSIS」から

 GNOSISの目標は“Capability-based OS”の実装である。Capability-based OSという言葉にはあまりなじみがない(そもそも実装例が少ない)が、要するにユーザーの資格、あるいは役割に応じて利用できるOSの機能やリソースを制御できる仕組みである。似た物にACL(Access Control List)があるが、あれをもっと細かく細分化したものと考えれば良い。ACLとCapability-based OSの違いは、言ってみればACLは後付けのアクセス制御によって機能やリソースの制限をするものなので、基本的にそれほど細かい制御はできない。一方、Capability-based OSの場合、API CallなどデバイスのAssign/Allocationのレベルで細かく制御が可能というか、当初からAPI Call自身が、ユーザーがそのAPI Callを利用する能力(Capability)があるかどうかに基づいて振る舞いを変える仕組みで、そのためより安全なOSが構築できると一般に言われている。GNOSISはこのCapability-based OSを、ナノカーネルを用いて構築した。

 GNOSISのターゲットになったのは、IBMのメインフレームとして知られるSystem/370である。当時、System/370は超小型(IBM 4331)〜大型(IBM 3033)まで幅広いラインアップを提供しており、比較的利用しやすかったこと、IBMのシステム上ではCMS(Conversational Monitor System:一種のハイパバイザーである)があり、主要なアプリケーションはこのCMS上で動いていたが、これらをGNOSISに移植するのが比較的容易だったこと、あと他に適切なハードウェアがなかったことがターゲットになった理由として挙げられる。1977年と言えば、まだIntel 8080や8085の時代で、これは本格的なOSを動かすにはちょっと非力過ぎたというのもあるだろう。

 さて、1977年からGNOSISの開発は始まり、1979年末に最初のリリースが行われ、この後も開発は続いたのだが、1984年にTymshare自身がMD(McDonnell Douglas)によって買収されてしまった。当時のTymshareのビジネスはTSS(Time Sharing Service)とハードウェアメンテナンスがメインだったが、MDは同社とMicrodataという会社を買収、これを組み合わせてMcDonnell Douglas Information Systems Groupという子会社を新たに立ち上げている。ただここは名前の通り情報システムを売りにする会社で、GNOSISのビジネスは不要だったようだ。結局MDはこのGNOSISに関連するビジネス一式を1985年にKey Logicという別会社にスピンオフし、GNOSISも「KeyKOS」という名前に変わった。

       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.