おがさわらなるひこのオープンソースとかプログラミングとか印刷技術とか

おがさわらなるひこ @naru0ga が技術系で興味を持ったりなんだりしたことをたまーに書くブログです。最近はてなダイアリー放置しすぎて記事書くたびにはてな記法忘れるのではてなブログに移行しました。

クリエイティブ・コモンズ・ライセンス
特に断りがない場合は、本ブログの筆者によるコンテンツは クリエイティブ・コモンズ 表示 - 継承 4.0 国際 ライセンスの下に提供されています。

コンピューターの知識を得ようぜ 第001回

前回の第0回でいろいろ候補は出たんだけど、私が「OSやるのがいいんじゃね?」ということで押し切った。

OSはハードウェアとソフトウェア(ユーザーランド)を繋ぐ中間層なので、上下両方見られて、「コンピューターの知識を得る」とっかかりにはいいと思ったのだ。

しかしまあ、主催者の意向とかあんまり考えず、勉強会ジャック的に無理やり主張した点はやや反省し、とりあえずケツを拭くために資料を書くことにした。
これもひとまず資料だけ挙げておく。後半投げやりなのは時間がなかったから。

「OSとはなんだろう?」というタイトルのスライドでありながら、その問いにはほとんど答えておらず、前半はほぼうんちくで終わるという凶悪なスライド。

口頭で補足した薀蓄。

  • Operating System が IBM 用語だとすると、バローズやユニバックは Master Control System と呼んでた。
    • ディズニー映画「TRON」の悪役「MCP」というのはこれのこと。
    • ユニバックは ENIAC のエッカートとモークリーがスピンアウトして世界初の商用コンピュータを作った会社
    • 今はバローズとユニバックは合併してユニシスになってる
  • PL/IIBM が中心になって作った「FortranCobol のどっちの機能も持ってて、システム記述・科学技術計算・事務計算のすべてができる」ことを目指した言語
    • これは言わなかったけど Programming Language / One で PL/I。これ以外にプログラミング言語はいらないという意味。
    • でもこんな巨大な言語でOS書こうとするというのもすごいよね。
  • BSDのところにある写真はこのサイトからの借り物」
  • BSDTCP/IP socketが導入されたということは、Internetはどうなってたの?
    • ARPANET の初期はモデムによる通信が中心だったのでその上に TCP/IP パケットを載せるということにはなってなかったと思う。メール転送やネットニュースなどを uucp などで受けた後、組織内でどんなネットワークを使っていたかは別の話……だと思うがネットワークについては詳しくは知らない。
  • Bill Gates と Pall Allen 以前にはソフトを売るという考えはなかったのか?
    • 正確なところは分からないが、汎用機の時代にはシステムソフトウェアはハードウェアの付属物としてメーカーから配られていたので、ソフトウェアを売って商売になるという考えはほとんどなかったのではないか。
  • Win95の互換性の話
    • 目標:「当時の主要なDOSアプリは全部動かす」
    • 例1:物理ドライバがハンドルできないハードウェアI/Oはトラップせずに素通しする
      • あともなOSなら考えられないが、I/Oをじかにアクセスする計測系のアプリを保証するためにはやむを得ない
      • DOSアプリで印刷する時には lpt1: などというデバイスファイルに書き込むのだが、これをそのままにしておくと Windows 側のスプールシステムとぶつかるので、lpt1: への書き込みをトラップしてデータを Win32スプーラに投げ込む仕組みがあった。
  • NeXTstep について、Display Postscript は確かにモノにならなかったが、ディスプレイに対して浮動小数点座標(物理座標)で描画指定するという概念は最近ようやっと形になってきたわけで、その意味で先進的。
  • Windows はシェルから切り離せるか?
    • シェルが提供しているサービスに依存したアプリケーションがたくさんあるので現実的ではないが、技術的には入れ替え可能。

そんなわけで次回

私の強引な提案が通って、MITのOpenCourseWare*1 から6.828 Operating System Engineeringテキストをだらだら読むことにしました。
各章の担当を決めて読んでくるとかの、勉強会時間外の時間を使うような進め方は避けたい、とのことなのでそういう形になりました。

ちょろっと読んでみたらなかなか面白いテキストなので先が楽しみです。

(2010.02.22 追記)
ネタ本を挙げておきます。全体的に Wikipedia (とくに en) は写真ネタに多く使わせていただきました。

新装版 計算機屋かく戦えり

新装版 計算機屋かく戦えり

文中で出てくる私の恩師というのはこの本で紹介されている高橋延匡先生。研究室は違ったけどすごく可愛がって貰ったのです。SOSの話とかMULTICSの話、国産OSの話は高橋先生のOSの授業が元ネタです。

ハッカーズ

ハッカーズ

Apple ][ まわりの話はこの本が元ネタ。ほんとはこの本に出てくるハッカー精神の象徴として ITS (Incompatible Timesharing System) の話もしたかったんだけど泣く泣く削ったんだよね。
最後の章の Symbolics 対 LMI の戦い、RMS の活躍は必読。読むべし。

BSDを256倍使うための本

BSDを256倍使うための本

UNIX/BSD の概説はここが定本。もっとちゃんとした本(失礼)も読んでるんだけど、気軽に読めてまとまっているということで。

ディベート:リナックスは時代遅れだ
今更なんですけどね。まあ歴史的に読んでおく価値はある論争かと。

*1:MITが主要な授業のテキストやものによっては講義ビデオなどを CC-BY-NC-SA で配布している素晴らしいプロジェクト。