view paper/Paging.tex @ 5:73697739a74d

context xv6 paging
author tobaru
date Wed, 29 Jan 2020 18:31:09 +0900
parents a4a1a68d8811
children 4dd10e3e45d2
line wrap: on
line source

\chapter{Gears OS での Paging} 

\section{Paging}
  メモリ管理の手法に、Paging がある。Paging ではメモリを Page と呼ばれる固定長の単位に分割し、メモリとスワップ領域で Page を入れ替えて管理を行う。

\section{Gears OS での Paging}
 Context に必要な Page Tbale を提供する Interface と User Space からアクセスする API が必要である。
Page Table に相当するデータを Input Data Gear で受け取って変更した後、Context にあるメモリコントロールを担当する Meta Data Gear に goto で遷移してアクセスする。 Meta Computation レベルで処理することで Use Spaceでも Page Table を操作することができる。
Meta Computation に戻る際に、Page Table Entry のバリデーションをチェックして反映することで、他のプロセスから Page Table を書き換えられることを防ぐ。また、サンドボックスにしておいて、他のプロセスが書き換えられた時にエクセプションを飛ばすようにすることで信頼性の保証を行う。


\section{Paging の書き換え}