Skip to content
oraccha edited this page Jan 14, 2013 · 1 revision

GNUプロジェクトによるマイクロカーネル

  • [http://www.gnu.org/software/hurd/ 本家]

  • [http://www.sra.co.jp/public/doc/gnu/Bull16j/Bull16j_2.html#SEC14 OSの設計上の新戦略に向けて] . たいそうなタイトルですが Hurd の設計者である Thomas Bushnell 氏の論文の翻訳です.Hurd を知るにはここから.

  • [http://kerneltrap.org/article.php?sid=375 Interview: Neal Walfield] (kerneltrap) . 開発者の一人 [http://walfield.org/ Neal Walfield] 氏へのインタビュ.

  • [http://www.idg.net/ic_829012_4394_1-3921.html Free Software Sees Gnu Loose of Linux] (IDG 2002-03-11) . RMS 氏へのインタビュ.

  • [http://www.kerneltrap.org/node.php?id=438 RMGPT; POSIX Threads] (KernelTrap 2002-09-30) . Hurd 用の PThread ライブラリ RMGPT(Rubbish, I asked for mine with Minced Garlic, Please Take this back? このアクロニムは暫定みたいだけど) がリリースされたらしい.

  • [http://www.infoworld.com/articles/hn/xml/02/11/06/021106hngnudelay.xml?s=IDGNS Stallman: Disk, I/O issues delay GNU OS] (InfoWorld 2002-11-06) . 来年にリリース延期らしい.

  • [http://kerneltrap.org/node/4987 GNU/Hurd: FOSDEM Mini-Symposium Report: Slides and Audio Recordings Available] (KernelTrap 2005-04-12)

  • [http://www.fprintf.net/hurd/ Hurd Web] . Ognyan Kulev 氏のページ.関連情報が集まっている.

  • [http://www.8ung.at/shell/guide.html Hurd Hacking Guide] . Wolfgang Jahrling 氏によるガイド.

  • [http://hurd.gnufans.org/ HurdWiki]

Hurd は "Hird of Unix-Replacing Daemons",Hird は "Hurd of Interfaces Representing Depth" のアクロニムらしい.また,Hurd は Herd(牛や馬などの動物の群) をもじったものでもあると.マルチサーバ方式の Hurd をよく表しているかと.

ファイルシステムにトランスレーター、という機構を用いる事で、 ファイルをオブジェクトとして扱えるようにしている。

Hurdはユーザーから要求があると、 Machのポート(メッセージ送受信されるポイント)を用いてユーザーと、 サーバータスクとを通信させる。 このポートを渡す、という部分で、 ファイルの内容を参照しているポートをユーザーに返す変わりに、 トランスレーター、というプログラムをはさむ事が可能になっている。

例えばftpのトランスレーターを用いれば、/ftp以下にたいしてcpやらmvやらが普通に使える、 という風に作る事が出来る。

で、例としてもっと進めてXサーバー用のトランスレーターを用いる事によって、 このファイルに対してクライアントがいろいろな作業をする、というのが考えられる、 とかかいてあった。手続きは当然readやらwriteやらは意味をなさないので、 かわりにXCreateWindow や XDrawText等を定義するのがいいかも、 などと書いてある。

これって、要するに全てのexe等をファイルシステムを使ってオブジェクトとして扱う、 という物に見えたのですが。 ネームスペースとしてファイルシステムを使う、という。

ただ、オブジェクトが丸見えな所が、 ちょっと柔軟性にかけそうに見えて、 ファイルシステムにこだわるUnixらしさ、というか。--有野

トランスレータは inode とサーバをマッピングする機構.サーバと通信するにはサービスに対するポートを取得する必要があるが,このようにファイルシステムとマッピングすることによって,サービス名をポートに変換するためのネームサーバとしてファイルシステムを利用することができる.ここがトランスレータの肝.確かに Unix 的にすごく自然な発想ですね.

  • COM のモニカもそうかもしれませんが,ある意味,文字列にしちゃうのが一番柔軟かもしれないという.

HurdをL4に移植するプロジェクト

  • [http://www.gnu.org/software/hurd/hurd-l4.html Porting GNU Hurd to L4] . OKUJI Yoshinori 氏もかかわっているみたい.
    • [http://mail.gnu.org/pipermail/l4-hurd/ MLアーカイブ]
  • そう言えば,昔HurdのMLアーカイブでExokernel上にMachを移植するという記事を読んだことがあったなぁ.
    • [http://kt.linuxcare.com/debian-hurd/dh20000607_51.epl#1 Microkernel Vs. Exokernel]
  • [http://www.8ung.at/shell/l4-port.html Port to the L4 microkernel] . 2002-07-28 時点でのステータスレポート.

関連記事

  • [http://www.ddj.com/articles/2000/0012/0012a/0012at1.htm Inside Debian Hurd] (Dr.Dobb's Journal 2000-12)

  • [http://www.kerneltrap.org/node.php?id=188 Hurd: Running Under Bochs] (KernelTrap 2002-05-12) . bochs 上で Hurd を動かすって記事.HDイメージ(展開して504MB...)も公開されている.

    • まだ問題があるので,近々修正版をアップするって.([http://lists.debian.org/debian-hurd/2002/debian-hurd-200205/msg00161.html Re: Hurd under Bochs])
    • [http://perso.debian-fr.org/asyd/hurd/bochs-hurd.html How to use bochs to run the Hurd]
    • [http://sourceforge.net/project/shownotes.php?release_id=122994 GNU pre0.3-J2 for Bochs] . 最近は GNU と言えば,GNU/Hurd を指すんですか.
  • [http://kerneltrap.org/node.php?id=226 Hurd: GNU Mach 1.3] (KernelTrap 2002-05-29)

Clone this wiki locally