# HG changeset patch # User tobaru # Date 1557385117 -32400 # Node ID a276cea215a2d7ad5943177daa5a3ab37e5155e3 # Parent 54a8bf3bba7bdb6a025538dfaa0c89369bdb77ed add Discription GearsOS diff -r 54a8bf3bba7b -r a276cea215a2 paper/sigos.pdf Binary file paper/sigos.pdf has changed diff -r 54a8bf3bba7b -r a276cea215a2 paper/sigos.tex --- a/paper/sigos.tex Wed May 08 00:34:13 2019 +0900 +++ b/paper/sigos.tex Thu May 09 15:58:37 2019 +0900 @@ -9,10 +9,9 @@ %\documentclass[submit,techrep]{ipsj} \documentclass[submit,techrep,noauthor]{ipsj} - - \usepackage[dvips]{graphicx} \usepackage{latexsym} +\usepackage{pdfpages} \def\Underline{\setbox0\hbox\bgroup\let\\\endUnderline} \def\endUnderline{\vphantom{y}\egroup\smash{\underline{\box0}}\\} @@ -45,7 +44,7 @@ \begin{abstract} 現代のOSでは, User Space で Page Table Entry による メモリ管理を行えるOSは少ない。 本研究室ではメタレベルの処理を記述できる CbC と CbC を用いて実装する GearsOS の開発を行っている。 -CbC を用いることでメモリ管理などの資源管理を行えるようになるが、現在の GearsOS でのメモリ管理では単に Page Table Entry をコピーする Fork で実装している。さらに、資源管理を行える CbC で軽量なハードウェアでも動かせるように Arm のバイナリを出力する Xv6 という OS を CbC で書き直して GearsOS を開発する手法も行なっている。本論文ではXv6 を参考に GearsOS にメモリ管理を行う API を考察する。 +CbC を用いることでメモリ管理などの資源管理を行えるようになるが, 現在の GearsOS でのメモリ管理では単に Page Table Entry をコピーする Fork で実装している。さらに, 資源管理を行える CbC で軽量なハードウェアでも動かせるように Arm のバイナリを出力する Xv6 という OS を CbC で書き直して GearsOS を開発する手法も行なっている。本論文ではXv6 を参考に GearsOS にメモリ管理を行う API を考察する。 \end{abstract} @@ -78,19 +77,41 @@ %2 -\section{Continuation based C} + +\section{Gears OS} +本研究室では並列実行のサポートと, 信頼性を保証する Gears OS の開発を行っている。 +従来の OS が行うメモリ管理や並列実行などは Meta レベルで処理される。メタレベルの処理を行える CbC という言語で Gears OS を実装する事で, ノーマルレベルから 並列実行環境に合わせた記述ができるように設計や実装を行う。 + +\subsection{Continuation based C} 本研究室では、Code Gear と Data Gear という単位でプログラムを記述する CbC と CbC を用いて実装する Gears OS の研究を行っている。Code Gear は CbC における最も基本的な処理の単位である。 入力と出力を持ち、goto によって Code Gear から次の Code Gear へ遷移する事で継続的に処理を行う事によって並列処理を行うことができる。 Data Gear は Gears OS におけるデータの基本的な単位である。Input Data Gear と Output Data Gear があり, Code Gear の遷移の際に Input Data Gear を受け取り, Output Data Gear を書き出す。 -図 + + \begin{figure}[ht] + \begin{center} + \includegraphics[width=80mm,bb=0 0 595 642]{../images/codesegment.pdf} + \end{center} + \caption{Code Gear 間の継続} + \label{fig:codegear} +\end{figure} -\section{Gears OS} + +\subsection{Meta Code Gear と Meta Data Gear} -Meta Code Gear, Meta Data Gear +Gears OS ではメタ計算を Meta Code Gear, Meta Data Gear で表現する。 + % Data Gear を Paging , Code Gear を Segmentation として +図\ref{fig:metacodegear} に Gears OS の構成図を示す。 +\begin{figure}[ht] + \begin{center} + \includegraphics[width=80mm,bb=0 0 595 642]{../images/meta_cg_dg.pdf} + \end{center} + \caption{メタレベルの Code Gear の継続} + \label{fig:metacodegear} +\end{figure} %3