第 236 回 PTT のお知らせ


日時: 1998年1月22日 (木)[大安] 18:30 から
場所: 電気通信大学 IS棟2階 中会議室(215号室)
新宿駅より京王線、調布駅(特急で2つ目、15分)北口下車、
北西方向徒歩12分程度、電気通信大学西地区キャンパスの
南東隅にある8階建ての白い建物。
[いつもと場所が違います。ご注意ください。]

話者:多田 好克(電気通信大学 大学院情報システム学研究科)
題目:発展的カーネル --- どうして? どうやって? どうかしら? ---
概要: 内容:
最近、重点領域「ソフトウェア発展」の一部として研究してい る発展的カーネル実現法に関する研究の現状をまとめて紹介す る。

ソフトウェア発展では、a)既存のソフトウェアの仕様変更に対 する対処法、b)仕様変更に強いソフトウェア構築法、c)動的に 仕様変更できるソフトウェアの構築法、などを研究対象として いる。今回の発表では、OSの核となるカーネルに対する動的 な仕様変更方法を議論する。

なお、動いているカーネルに手を入れてシステムコールopenを フックするとか、動作中のUnixカーネルから定期的にCPUを取り 上げ実時間処理を実現する、といった(いくつかの地味な)デ モも予定している。

ただし、最近、同様の話題と内容で5回ぐらい喋った気がする ので、既にどこかで聞いた人には時間の無駄かもしれない。研 究は少しずつ進んでいるので、最後の10分を聞きにいらっしゃ るのがお勧めです。(前回、この話題で喋ったのは1月13日な ので、約10日分の進展を聞くことができ、その後、ご希望とあ らば呑み会にも参加できます.....)


食事: 今回もありません。調布駅近辺のハンバーガー、ドーナッツ、
      その他をご利用ください。電通大の正門のすぐ西にもMで始ま
      るハンバーガー屋が待っています。また、IS棟のすぐ隣には、
      西食堂と呼ばれる「安くて、早くて、**い」生協食堂があり
      ます。

第 236 回 PTTメモ


日時: 1998年1月22日 (木)[大安] 18:30 から
場所: 電気通信大学 IS棟2階 中会議室(215号室)
題目: 発展的カーネル --- どうして? どうやって? どうかしら? ---
話者: 多田 好克(電気通信大学 大学院情報システム学研究科)
出席者: 伊知地宏, 尾河裕, 佐口泰之(富士ゼロックス), 立山義祐(NEDO), 前田敦司, 山内斉, 衣笠友宣, 沖野直人, 小口和弘, 石井清貴, 赤池英央, 角田博保, 齊藤正伸,, 鈴木貢, 中山泰一(電通大), 和田英一, 清水剛, 下國治(富士通研), 海田美香, 田中哲朗(東大)
質疑応答:

文部省の科研、重点領域の「発展ソフト」で研究している「発展的カーネ ル」の現状をデモを交えて紹介した。トークでは、まず、発展的なカーネル (機能を動的に拡大/縮小できるカーネル)の必要性を説明した。続いて、既 存の発展的カーネルとして、

を紹介し、その得失を議論した。そして、これらの特質を踏まえた上 で、保護付きモジュール取込み(plkm: protected loadable kernel module)の概念を提案した。plkmでは、発展部開発時の安全性と実行時 の処理効率を確保、両立できる(予定である)。

トークではその後、plkm開発の現状をデモを交えて説明した。特にUnixカー ネル(FreeBSD/IBM-PC)と共存できるカーネル外スレッドの実現法を示し、定期 的な繰返し処理をUnixとは独立に実行するようなプログラムを動かして見せた。 なお、現在ではこのカーネル外スレッドはプリエンプティブになっており、永 久ループを基本とするサーバのようなプログラムを実行させることも可能であ る。また、トークではシステムコールopenをフックし、openが実行されるたび にパス名などを画面に出力する発展的カーネルの応用例も実演した。

[参考文献]
多田好克,中村嘉志,林隆宏:カーネルの発展性と安全性に関する一考察, 情報処理学会システムソフトウェアとオペレーティング・システム研究会 資料,97-OS-76, pp. 61-65 (1997).

質疑応答:

(問)カーネル外スレッドの使い道はないかしら? (多田)
(答)Unixカーネルの状態収集/モニタリングは如何? (多くの方々)
(問)デモでは、画面にa〜zが順番に出ると言っていたが、 :(コロン)と;(セミコロン)が出ているような気が する。 (和田)
(答)良く見るとiとjでした。(見にくいデモで申し訳ありません。)
(問)カーネル外スレッドが180チックに1回、文字を出力するので、 3秒に1文字だと言ったが、測定するともっと短いような気が する。 (和田)
(答)Unixでは1チックは1/60秒だと思うのですが、おかしいですねぇ。 [と曖昧な笑みを浮かべてお茶を濁す。] (多田)
(補足)その後、調べたところ、FreeBSDでは、1チックは1/128秒のよ うです。(でも、1.4秒に1文字よりは遅いような気もするが...) また、プロファイルを取る時には、RTC(Real Time Clock)の割込み を利用して1/1024秒の粒度を実現している模様です。
その他、たくさんのご質問をいただいたのですが、何せ、2ヵ月以上も前の ことなので、記憶がありません。ご容赦を.....