view paper/abstract.tex @ 3:a70aef153f8d

update
author mir3636
date Sun, 20 Jan 2019 12:36:54 +0900
parents 9100f20b8797
children 11ddab4e5b07
line wrap: on
line source

%OS研究会のまま、要相談
%これ俺のも par goto 書くの? 
\chapter*{要旨}
現代の OS では拡張性と信頼性を両立させることが要求されている。
信頼性をノーマルレベルの計算に対して保証し、拡張性をメタレベルの計算で実現することを目標に Gears OS を設計中である。

Gears OS は Continuation based C (CbC) によってアプリケーションと OS そのものを記述する。
OS の下ではプログラムの記述は通常の処理の他に、メモリ管理、スレッドの待ち合わせやネットワークの管理、
エラーハンドリング等の記述しなければならない処理が存在する。
これらの計算をメタ計算と呼ぶ。
メタ計算を通常の計算から切り離して記述するために、Code Gear、Data Gear という単位を提案している。
CbC はこの Code Gear と Data Gear の単位でプログラムを記述する。

システムやアプリケーションを記述するためにCode Gear と Data Gear を柔軟に再利用する必要がある。
このときに機能を接続するAPIと実装の分離が可能であることが望ましい。
Gears OS の信頼性を保証するために、形式化されたモジュールシステムを提供する必要がある。
本論文では、Interface を用いたモジュールシステムの説明とその応用としての並列 API について考察する。
並列APIは継続を基本とした関数型プログラミングと両立する必要がある。

ここでは、CbC の goto 文を拡張したpar goto 文を導入する。
par goto では並列実行のための実行 Context を生成し、TaskManager に登録する。
Gears OS での同期機構はData Gear  の待ち合わせとして定義する。

メタレベルではこれらの同期機能はCASとそれを用いて実装した Synchronized Queue になる。
これらの Queue も Interface を用いてモジュール化されている。
モジュール化の詳細と、有効性について考察する。

また、本研究ではハードウェア上でメタレベルの処理、および並列実行を可能とするために、
Raspberry Pi 上での Gears OS の実装についての考察も行う。

\chapter*{Abstract}
%英語論文