• 検索結果がありません。

オペレーティングシステムの最適化に関する研究

N/A
N/A
Protected

Academic year: 2021

シェア "オペレーティングシステムの最適化に関する研究"

Copied!
3
0
0

読み込み中.... (全文を見る)

全文

(1)

Japan Advanced Institute of Science and Technology

JAIST Repository

https://dspace.jaist.ac.jp/

Title オペレーティングシステムの最適化に関する研究

Author(s) 寺田, 徹

Citation

Issue Date 1997‑03

Type Thesis or Dissertation Text version author

URL http://hdl.handle.net/10119/1068 Rights

Description Supervisor:中島 達夫, 情報科学研究科, 修士

(2)

オペレーティングシステムの最適化に関する研究

寺田 徹

北陸先端科学技術大学院大学 情報科学研究科

1997

2

14

キーワード: 拡張可能オペレーティングシステム、動的コード生成、モジュール.

オペレーティングシステムの研究あるいは実用の歴史は常にその機能を追加し続け、オ ペレーティングシステムは大きく複雑になった。しかしいかに複雑になろうと、あらゆる アプリケーションにとって十分な機能と十分なパフォーマンスを提供できるオペレーティ ングシステムは存在しない。それは個々のアプリケーションによって要求が大きく異なる ためであり、あらゆるアプリケーションの要求を満たすオペレーティングシステムは今後 も現れないであろう。

そこで近年、オペレーティングシステムの研究は単なる機能追加とは異なる方向を目指 すようになった。それは、アプリケーションによって拡張することができるオペレーティ ングシステムであり、その中でマイクロカーネルが登場した。マイクロカーネルはそれ以 前のモノリシックなオペレーティングシステムから一部の機能を分割して、ユーザレベル のサーバとして実現した。このことによって、システムのリブートを伴わない動的な拡 張、異なるサーバを使うことで異なるサービスが受けられる柔軟性、サーバの障害がその サーバを利用しないアプリケーションには影響を与えないという安全性が実現した。

しかしマイクロカーネルをベースとするシステムは、カーネル/ユーザ境界を越えるデー タや制御の移動の頻度が従来のモノリシックカーネルと比較すると大きく、パフォーマン スに問題がある。これを改善するための研究が行われている中で、アプリケーションの コードの一部を動的にカーネルへダウンロードすることによってカーネル/ユーザ境界の 移動を削減するアプローチが有力である。カーネルへダウンロード する拡張コードは他 のアプリケーションに影響を与える危険のあるエラーを含んではならない。しかし、拡張 コードのエラーを完全にチェックするメカニズムは現在まで存在しないので、カーネルへ のダウンロードコードを含むアプリケーション設計者は、意味的なエラーを含まないよう に注意しなければならない。

本研究は、拡張コードにエラーを含まないためには、簡略で汎用的なプログラムを組み 合わせるモジュール化設計による設計が良いと考える。しかし、モジュール化設計による

Copyright c

1997byTeradaTooru

(3)

プログラムは、単一の目的に特化して設計したものと比較すると効率の面で劣る。そこで 本研究では、モジュール化設計の効率に関する欠点を改善する最適化を提案する。

モジュール化設計のプログラムの実行効率が悪い原因の一つは、それぞれ独立して設計 した複数のモジュールが、同一のデータ領域に対しての処理を含むことである。データの レジスタへのロード、何らかのデータ処理、メモリへのストアという通常の処理の流れの 中で、同じデータを複数のモジュールでそれぞれロード/ストアすることが冗長である。

そこで、複数モジュールにおける処理を単一のロード/ストア間にまとめる機構とインタ フェースを提供する。

また別の原因は、モジュール集合がカーネル内イベントなどのモジュール外部の要因に よって実行を行うときなどに存在する。モジュール集合の実行中、その実行状況によって はアプリケーション全体として意味のある状況ではないと判定して実行を終了する場合 があるが、このときいくつかのモジュールの実行が終了するまでこの判定できないことが あり、その場合その実行は不要な処理を多く含む。またはその実行がアプリケーション全 体として意味のある場合であっても、複数のモジュールで同じ判定を含むことは冗長であ る。そこで、ここにパケットフィルタのようなフィルタリングの機構を導入して、実行状 況の判定を集約する。

これらの最適化の実現には動的コード生成(Dynamic Code Genaration) を利用する。

動的コード生成は、まずモジュール集合をひとつの関数にまとめることによってプロシー ジャコールのコストを削減する。また処理の順序を動的に決定するので、データ処理を統 合してメモリ/レジスタ間のロード/ストアを削減することを可能にする。そしてフィルタ 構造をマシンコードへ変換することによって、実行時の処理を削減する。

動的コード生成にはMIT で開発されたVCODEシステムを使い、提案する最適化を

Real-Time Mach マイクロカーネルに実現する。最適化の有効性をアプリケーションが

カーネルへ拡張コードをダウンロードすることの有効性とあわせて検証する。

参照

関連したドキュメント

点から見たときに、 債務者に、 複数債権者の有する債権額を考慮することなく弁済することを可能にしているものとしては、

【オランダ税関】 EU による ACXIS プロジェクト( AI を活用して、 X 線検査において自動で貨物内を検知するためのプロジェク

船舶の航行に伴う生物の越境移動による海洋環境への影響を抑制するための国際的規則に関して

張力を適正にする アライメントを再調整する 正規のプーリに取り替える 正規のプーリに取り替える

Q-Flash Plus では、システムの電源が切れているとき(S5シャットダウン状態)に BIOS を更新する ことができます。最新の BIOS を USB

 リスク研究の分野では、 「リスク」 を検証する際にその対になる言葉と して 「ベネフ ィッ ト」

「海洋の管理」を主たる目的として、海洋に関する人間の活動を律する原則へ転換したと

経済学研究科は、経済学の高等教育機関として研究者を