# HG changeset patch # User tobaru # Date 1559119718 -32400 # Node ID a1e8e4702416f645f32c55f269ae0965161fb415 # Parent df06f7c00062ab2a811a0c41d0a50f0c038a277d add table contents diff -r df06f7c00062 -r a1e8e4702416 slide/sig-os2019.md --- a/slide/sig-os2019.md Wed May 29 16:24:02 2019 +0900 +++ b/slide/sig-os2019.md Wed May 29 17:48:38 2019 +0900 @@ -19,8 +19,10 @@ ## スライドの流れ - GearsOS - Paging -- CrossCompile -- 今後の課題 +- Segmentation +- GearsOS での Paging +- User Space で Page Table を操作する利点 +- Xv6からの書き換え @@ -71,10 +73,13 @@ ## スライドの流れ -- GearsOS -- Paging -- CrossCompile -- 今後の課題 +- GearsOS +- Paging +- Segmentation +- GearsOS での Paging +- User Space で Page Table を操作する利点 +- Xv6からの書き換え + ## Paging @@ -104,13 +109,13 @@ - Page と Page Frames は同じサイズを生成する。 - ## スライドの流れ -- GearsOS +- GearsOS - Paging -- CrossCompile -- 今後の課題 - +- Segmentation +- GearsOS での Paging +- User Space で Page Table を操作する利点 +- Xv6からの書き換え ## Descriptor - プログラムがアクセスするファイルなどをOSが識別するための識別子 @@ -131,6 +136,8 @@ ## Descriptor の構成 - Descriptor は Segment の Baseアドレス、Size、その他の情報を含む8バイトで構成されている。 +
+ ## Segmentが存在しない場合(selector0) - トラップが発生する - 次にハードウェアはオフセットがSegmentの終わりを超えているかどうかをチェックするためにlimitフィールドを使用する。 @@ -138,12 +145,19 @@ ## リニアアドレス - セグメント内のメモリとオフセットが範囲内にあると仮定すると、x86はDescriptor 内の32ビットのBaseフィールドをオフセットに追加してリニアアドレスと呼ばれるものを形成する。 -
+
## Pagingが無効にされてる場合 - リニアアドレスは物理アドレスとして解釈され、読み取りまたは書き込みのためにメモリに送信される。 - 従って、Pagingを無効にすると、各セグメントのBaseアドレスをDescriptorで指定した純粋なSegmentation Scheme ができる。 +## スライドの流れ +- GearsOS +- Paging +- Segmentation +- GearsOS での Paging +- User Space で Page Table を操作する利点 +- Xv6からの書き換え ## GearsOS での Paging の実装 - GearsOS で Paging を実装するために必要なもの @@ -171,10 +185,26 @@ - User Space で Page Table Entry によるメモリ管理を行える OS は少ない。 - User レベルの操作で Page Tabel が書き換えられたり、別のPage にアクセスするのを防ぐためだと考えられる。 +## スライドの流れ +- GearsOS +- Paging +- Segmentation +- GearsOS での Paging +- User Space で Page Table を操作する利点 +- Xv6からの書き換え + ## User Space で Page Tabel を操作する利点 - User Space でメモリ管理を行えるようにするとこで、Page のバリデーションをチェックしたり、サンドボックスによる信頼性の保証が行える。 - また、適切な記述をすれば最適なメモリ管理を行うことができるようになる +## スライドの流れ +- GearsOS +- Paging +- Segmentation +- GearsOS での Paging +- User Space で Page Table を操作する利点 +- Xv6からの書き換え + ## Xv6 - Xv6 とは、マサチューセッツ工科大の大学院向け講義の教材として使うために、UNIX V6 という OS を ANSI-C に書き換え、x86 に移植した OS である。 - Arm のバイナリを出力するので、Raspberry Pi や携帯電話など様々なハードウェアで動かすことができる @@ -194,5 +224,4 @@ ## 図 -