パスワードを忘れた? アカウント作成
16662 story

MITがMulticsのソースコードを公開 55

ストーリー by yoosee
歴史書の公開 部門より

znc 曰く、

マイコミ ジャーナルの記事によると、マサチューセッツ工科大学(MIT)のInformation Services and Technologyは1960年代に開発した伝説のOS「Multics」のソースコードを公開しました。 ライセンスはBSDライセンスを採用している模様です。
Multicsは1960年代に開発され、当時の最新のOS理論がふんだんに取り入れられましたが、その規模故に余りにも重く高価なシステムとなってしまい、最終的には歴史の表舞台に立つ事は出来ませんでした。しかしMulticsに込められた多くのアイディアはこの後登場するOSに大きな影響を与え、特にUNIXへの影響は計り知れません。

さすがにMulticsの移植はかなり難しいでしょうが、OSの歴史の一つとしてソースコードを眺めてみるのはありかもしれませんね。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Anonymous Coward on 2007年11月13日 20時16分 (#1249743)

    素人が野次馬根性で、さっそくソースを眺めてみました。感想を書いてみます。あくまで「読んだ」ではなく「眺めた」です。

    ライセンスファイルは今流だとルートに独立してテキストが置かれていますが、そのようなものは見当たりませんでした。そのかわりすべてのソースに追記されています。MITだからMITライセンスだろうと思ったら違いました。

    Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without
    fee is hereby granted,provided that the below copyright notice and historical background appear in all copies
    and that both the copyright notice and historical background and this permission notice appear in supporting
    documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining
    to distribution of the programs without specific prior written permission.
      Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc.
      Copyright 2006 by BULL HN Information Systems Inc.
      Copyright 2006 by Bull SAS
      All Rights Reserved

    このライセンスはBSDの一種としてたまに見かけますが、Historical Permission Notice and Disclaimer [opensource.org]と呼ぶみたいですね。

    ソースツリーの形式はあまり見慣れません。特に拡張子は知らないものばかりです。C言語はMulticsより後のUNIXのために作られたため、当然まったく使われていません。OSはC言語で記述するという先入観に囚われていたので、時代を感じました。

    どれがソースなのかよく分かりませんが、pl1という拡張子にPASCALとC言語を混ぜたような言語で、ソースらしきものが書かれていました。PL/I [wikipedia.org]という言語のようです。そのWikipediaには以下のように書かれていました。

    Unix開発のきっかけとなったMulticsは、PL/Iで書かれていた。Multicsの失敗はPL/Iが原因ではなかったものの、記述言語においても簡潔極まるC言語を生んだ事は皮肉である。

    英語版 [wikipedia.org]によると、正確にはEarly PL/I (EPL)と呼ぶようです。

    Compilers were implemented by several groups in the early 1960s. The Multics project at MIT, one of the first to develop an operating system in a high level language, used Early PL/I (EPL), a subset dialect of PL/I, as their implementation language in 1964. EPL was developed at Bell Labs and MIT by Douglas McIlroy, Robert Morris, and others.

    PL/Iは見たのも初めてなのですが、IBMの汎用機の仕事をしている人はいまでもPL/Iを使っているのでしょうか。

    ソースツリーの構成がよく分かりませんが、どうやらldd [mit.edu]にソースがあるようです。lddと聞くとdsoを分析するツールを想像してしまうのですが、関係ないみたいです。でもここにはユーザーランドライブラリのソースしか見当たらないみたいで、カーネルがどこにあるのか分かりませんでした。

    というわけでカーネルにすらたどり着けずギブアップです。「Multicsカーネル詳細」みたいな本があればいいと思いました。

  • Multicsもいいが、 (スコア:2, すばらしい洞察)

    by joecool (4644) on 2007年11月13日 18時45分 (#1249719)
    Aegis/Domain Oを公開して欲しい・・・。

    出来はともかくOSとしての考え方は結構先進的で良かったです。

    • by pokuri (33231) on 2007年11月13日 22時30分 (#1249804) ホームページ
      懐かしいですね。ApolloのAegis〜Domain/OS。
      ネットワーク機能やユーザーI/Fも含めかなり良く出来たOSだと思います。
      OS自体はMulticsの流れを汲んでいるのですよね、、、?

      ソースコードが公開されると嬉しいですが、あのちょっとクセのある
      (PASCAL臭い)C言語ソースがどれだけ受け入れられるか心配です。
      --
      pokuri
      親コメント
    • by mfx00127 (35590) on 2008年01月27日 1時28分 (#1287207)
      Apollo DomainのAegisやDomain/OSのソースコードならみたいですね。
      あのネットワーク分散OS環境での開発はやりやすかった。
      あの分散環境は今のOSにもほしい!
      といいつつ最近TRON系OSの開発だし、Apollo Domainはやはり凄いと痛感してます。
      何十年後に登場する未来のコンピュータを触っていたのかな思うしだいです。
      ソースがあれば、T-Kernel Extentionとして分散環境を移植できるかも・・・
      でもx86系CPUにT-Kernelを移植しないと・・・
      親コメント
  • PL/I処理系 (スコア:1, 参考になる)

    by Anonymous Coward on 2007年11月13日 17時23分 (#1249659)
    そういやソースコードが公開されてるのってありましたっけ?

    …あった。
    http://pl1gcc.sourceforge.net/ [sourceforge.net]
    でも、誰が使ってるだろ?
  • >さすがにMulticsの移植はかなり難しいでしょうが、

    移植するのと、動かすためのエミュレータを開発するのと、どちらが早いのかな。
    なんて事をぼんやり考えました。

    もしかして既に存在していたりするのかな・・・?
    --
    # てれっててれっててー --- macohime(#cpdz)
    • by ken2 (27347) on 2007年11月13日 23時00分 (#1249826)
      GE645シミュレータ [1.vg]があるみたいですね。PDP-11エミュで有名なSIMH [wikipedia.org]を使って実装されているようです。詳しくは読んでいないですが。
      親コメント
    • by Yohsa (2572) on 2007年11月13日 18時36分 (#1249712) 日記
      20世紀の末にx86へMulticsを移植するプロジェクトのページを見かけた気が。

      #10年ほども前の話だから顛末は知らん。
      親コメント
      • 予言 (スコア:2, おもしろおかしい)

        by Anonymous Coward on 2007年11月13日 22時21分 (#1249800)
        Multics/386がなかなか出てこなくて、
        FreeMulticsがフォークしたり、
        日本ではFreeMultics/98が流行ったり、
        NetMulticsがフォークしたり、
        NetMultics/x68kを動かすためにはCPU(MMU無しの68EC030(涙))を差し替えないといけなかったり、
        喧嘩早いのが出て行ってOpenMulticsをフォークしたりして、
        PC-Multicsブームが生まれるに違いない。

        最近見かけないOliverたんは電車で拾ったLinuticsのCDに夢中なのかな?
        作者であるフィンランドの学生はMiniticsで有名な教授と論争中らしいけど。

        # あれ?MulticsってMMU不要?
        親コメント
  • by Futaro (2025) on 2007年11月13日 19時50分 (#1249739) ホームページ 日記
    だいぶ前にこのMulticsを開発中に、MITでそれにかかわった日本人技術者がいたので、その方にお会いしたことがあるんだが、あの人は今どこに?
    • by 127.0.0.1 (33105) on 2007年11月13日 20時13分 (#1249742) 日記
      単純計算で、60年代に開発に関わっていたとなると、当時30歳としたら今は80歳近いのか。
      どうなんだろう生きていらっしゃるのでしょうかね。

      とりあえず、「MIT 日本人 技術者 Multics」でぐぐったら、オラクル通信 [u-tokyo.ac.jp]が
      トップでヒットしましたが、この人ではない?
      親コメント
      • Re:日本人が (スコア:1, 参考になる)

        by Anonymous Coward on 2007年11月13日 20時55分 (#1249754)
        > とりあえず、「MIT 日本人 技術者 Multics」でぐぐったら、オラクル通信 [u-tokyo.ac.jp]が
        > トップでヒットしましたが、この人ではない?

        リンク間違えていませんか?オラクル通信はこっちですよ。
        http://www.oracle.co.jp/2shin/ora66/12_15.html [oracle.co.jp]
        親コメント
      • by SteppingWind (2654) on 2007年11月13日 22時20分 (#1249799)

        オリジナルのMulticsは別として, 日本でMultics関連をやっていたとしたらACOS-6 [wikipedia.org]を扱っていたあたりですかね.

        # 20年前の直属上司がACOS-6をやっていたらしいのでID

        親コメント
        • Re:日本人が (スコア:2, 参考になる)

          by Anonymous Coward on 2007年11月14日 4時26分 (#1249929)
          日本語で読めるMulticsの内部解説本。

          池田克夫:コンピュータ・ユーティリティの構造 ーMULTICSの解剖ー、昭晃堂

          カーネル内部データ構造とコード概要が詳細に説明されています。

          知る人しか知らない書籍です。念のため。
          親コメント
    • by Anonymous Coward
      えーとあのひとたしか8年ほどまえにあそこにいって。
      そのあとどうしたか知らない。
  • by Anonymous Coward on 2007年11月13日 17時25分 (#1249662)
    スペック的には Multics のひとつやふたつサクサク動かせるハードがゴロゴロしてんじゃないか?
    • by Anonymous Coward on 2007年11月13日 17時37分 (#1249675)
      当時としては巨大と思われたMulticsのカーネルは、135Kバイト以上のコードで構成されていた。MITに最初に設置された GE-645 の主記憶容量は 512Kワードであり(約2Mバイト)、Multicsはその約10分の1を占めていたに過ぎない。

      wikipedia [wikipedia.org]によると、こんな感じですからね。メインメモリが2MBある初代プレイステーションでも動いたりしてw

      親コメント
    • by Anonymous Coward
      そのうち誰かが、PlayStation 3 で動く Multics エミュレータを作るに違いない。

      # 問題は、Multics 上で動くゲームが提供されるかどうかだ。
    • by Anonymous Coward
      問題はメモリ管理ユニットだが、x86のものはまさにMulticsを遠い祖先としているので、案外すぐ動いたりね。
      • by saitoh (10803) on 2007年11月13日 18時47分 (#1249721)
        リングレベルプロテクションがi386は4層しかないですよね。 multicsってもっとたくさんの層がなかったっけ?
        親コメント
        • Re:今なら (スコア:2, 参考になる)

          by SteppingWind (2654) on 2007年11月13日 19時03分 (#1249725)

          こちらのページ [os-omicron.org]によると

          Multicsが動作したGE645では64個のリングが存在した.しかし,実際にはOS用に0〜3,ユーザ用に4〜7と8個のリングしか使われなかった.さらに大半の仕事は0か4で処理された.

          だそうで. このあたりはソースを読んでみるのが確実でしょうね.

          親コメント
  • by Anonymous Coward on 2007年11月13日 19時44分 (#1249736)
    multixは、タイトルのような設計思想で作られたということをおぼろげに伺ったことがあるのですが、
    現在のLinux(unixではないか・・・)では、multixの思想は実現されているのですかね。
  • by Anonymous Coward on 2007年11月13日 20時32分 (#1249748)
    >歴史の表舞台に立つ事は出来ませんでした

    ACOS6はMulticsには入れてくれないの?
  • UNIX は、何でもできる代わりにシステムが巨大化した Multics に対する一種のアンチテーゼとして開発され(非力な機械の上に当時流行ったシューティングゲームを移植するための遊び心がそもそもの開発のきっかけだったとも聞くが)、その成果の OS を(Multi- の部分を Uni- で置き換えた)Unics と命名し、これが後に UNIX と改名されたそうだ。
typodupeerror

犯人は巨人ファンでA型で眼鏡をかけている -- あるハッカー

読み込み中...