title: Monadに基づくMeta計算を基本とするGears OSの設計 author: Tatsuki IHA profile: lang: Japanese code-engine: coderay # 研究目的 - 当研究室では, プログラムをコードセグメント, データセグメントを用いた並列フレームワークの開発を行っている. - Gears OSでは, 並列実行に必要なMetaな機能を関数型言語におけるMonadの原理に基づいて実現する. - また, Code Segment, Data SegmentそれぞれにMeta Code Segment, Meta Data Segmentを付属させ,Many CoreやGPGPU環境でも信頼性の高い並列処理を実現する. - この研究ではGears OSの機能をCbC(Continuation based C)で実装、評価することを目的とする. # data segmentを参照するsyntax ``` __code code1(struct Context* context, enum Code next) { context->data[Allocate]->allocate.size = .....; } ``` # data segmentを参照するsyntax ``` __code code1(struct Context* context, enum Code next) { union Data *ds1; ds1 = get_data_segment(context, Allocate); ds1->allocate.size = .....; } union Data* get_data_segment(struct Context* context, int key) { return context->data[key]; } ``` # data segmentを参照するsyntax ``` __code code1(struct Allocate allocate) { allocate.size = .....; } ``` # Cerium on Gears