view paper/evaluation.tex @ 51:3179b8daa958

update
author mir3636
date Mon, 11 Feb 2019 23:22:07 +0900
parents 9100f20b8797
children 8be23dffcd3f
line wrap: on
line source

\chapter{評価}

本研究では、Gears OS のモジュール化、メタレベルの計算の自動生成、
xv6 の CbC 書き換えの考察と、システムコールの書き換えを行なった。

これらの実装についての評価を行う。

\section{Gears OS のモジュール化}
Gears OS の モジュール化について評価を行う。
Gears OS では、ある Data Gear を Code Gear が扱う場合、
Code Gear に対応する Data Gear を Context が持つ Data Gear のリストから取り出す必要があるが、
Context に 全ての Code Gear と Data Gear 

\begin{lstlisting}[frame=lrbt,label=syscall_list,caption={\footnotesize xv6 のシステムコールのリスト}]
__code cg1 (struct Context* context, struct Element* element) {
    struct Node* node1 = new Node();
    element->data = (union Data*)node1;
    goto meta(context, pushSingleLinkedStack)
}

__code pushSingleLinkedStack(struct Context* context, struct SingleLinkedStack* stack, struct Element *element) {
    ...
}

__code pushSingleLinkedStack_stub(struct Context* context){
    SingleLinkedStack* stack = &context->data[SingleLinkedStack]->SingleLinkedStack;
    Element *element = &context->data[Element]->element;
    goto pushSingleLinkedStack(context, stack, data)
}

\end{lstlisting}