Mercurial > hg > Papers > 2019 > tobaru-sigos
changeset 0:d76c5468be67
SIGSS Paper mindmap
author | tobaru |
---|---|
date | Tue, 30 Apr 2019 18:14:10 +0900 |
parents | |
children | 5dbda2e6cb0e |
files | GearsOS_Paging_Segmentation.mm |
diffstat | 1 files changed, 57 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/GearsOS_Paging_Segmentation.mm Tue Apr 30 18:14:10 2019 +0900 @@ -0,0 +1,57 @@ +<map version="1.0.1"> +<!-- To view this file, download free mind mapping software FreeMind from http://freemind.sourceforge.net --> +<node CREATED="1556610054672" ID="ID_1106310700" MODIFIED="1556612094717" TEXT="GearsOS の Paging と Segmentation"> +<node CREATED="1556612094723" ID="ID_1288588964" MODIFIED="1556613293948" POSITION="right" TEXT="やること"> +<node CREATED="1556615366681" ID="ID_386335671" MODIFIED="1556615421627" TEXT="Xv6kernel を GearsOSにマッピングする"> +<node CREATED="1556615446605" ID="ID_1182948496" MODIFIED="1556615472733" TEXT="breakをそのまま使ってもいいが、GearsOSを制御するAPIがほしい"/> +</node> +<node CREATED="1556613116615" ID="ID_312564535" MODIFIED="1556615393472" TEXT="現在の Code Gear, Data Gear の実装の Context と Segmentationを調べる"/> +<node CREATED="1556613076711" ID="ID_830999204" MODIFIED="1556614162630" TEXT="Xv6のpage Table どうなっているか調べる"> +<node CREATED="1556613752238" ID="ID_1953173749" MODIFIED="1556613763279" TEXT="Page Table Entry に入ってる"> +<node CREATED="1556614634866" ID="ID_1657413388" MODIFIED="1556614732392" TEXT="共通のcontextを持ってる時は同じ空間か別の空間か記述してあげるのがPage Table Entry"/> +<node CREATED="1556614719075" ID="ID_19089258" MODIFIED="1556614728286" TEXT="contextの一部"/> +</node> +<node CREATED="1556613136434" ID="ID_1894814652" MODIFIED="1556613159865" TEXT="それを Gears OS ではどう扱うかを考える"/> +<node CREATED="1556613193903" ID="ID_1532801559" MODIFIED="1556613279929" TEXT="調べる前にforkを作った"/> +</node> +<node CREATED="1556614104389" ID="ID_1775824901" MODIFIED="1556614181683" TEXT="inter Process Communication をどうするか"> +<node CREATED="1556614143954" ID="ID_841894129" MODIFIED="1556614229665" TEXT="Code Gear Data Gear の goto文そのもの"/> +<node CREATED="1556614241274" ID="ID_1944462756" MODIFIED="1556614271584" TEXT="par goto が持ってるjoinがInterface Communication になる"/> +<node CREATED="1556614316000" ID="ID_924663064" MODIFIED="1556614453074" TEXT="Interface Communication のgoto文は普通のgoto文と違って行き先のCode Gear DataGear が同じプロセスにない"/> +<node CREATED="1556614453846" ID="ID_1321060882" MODIFIED="1556614492665" TEXT="1つのプロセス内で実行するのは問題がない"> +<node CREATED="1556614480582" ID="ID_622087579" MODIFIED="1556614490947" TEXT="実はプロセスを持ってる意味はない"/> +</node> +<node CREATED="1556614515992" ID="ID_1141993120" MODIFIED="1556614633331" TEXT="ぱるすさんが実装したGearsOSにはメモリ空間の概念がない"> +<node CREATED="1556614634866" ID="ID_1902970504" MODIFIED="1556614682062" TEXT="共通のcontextを持ってる時は同じ空間か別の空間か記述してあげるのがPage Table Entry"/> +</node> +</node> +<node CREATED="1556614790340" ID="ID_1860011276" MODIFIED="1556614818484" TEXT="どういう時にCode Gear Data Gear を一緒にするか別々にするか決めて定義する"> +<node CREATED="1556614984761" ID="ID_1875403590" MODIFIED="1556615195250" TEXT="一般のOSでPage Table Entry を制御するのはどんなAPI?"> +<node CREATED="1556615030653" ID="ID_69904242" MODIFIED="1556615060768" TEXT="1.Fork (PTEをコピる)"/> +<node CREATED="1556615061489" ID="ID_1621019253" MODIFIED="1556615108596" TEXT="2.break(メモリを要求)で新しいPTEを付け加える"/> +<node CREATED="1556615109337" ID="ID_1978453944" MODIFIED="1556615140023" TEXT="3.mmap 共有メモリを作るのにも使える"/> +<node CREATED="1556615141192" ID="ID_1163657241" MODIFIED="1556615166212" TEXT="4. Shared Memory (System系)"/> +<node CREATED="1556615167044" ID="ID_1233147317" MODIFIED="1556615183992" TEXT="5.malock"/> +</node> +<node CREATED="1556615197877" ID="ID_782297442" MODIFIED="1556615333183" TEXT="Gears OS ではどんなAPIが望ましいか提案する"> +<node CREATED="1556615223117" ID="ID_1254622138" MODIFIED="1556615241978" TEXT="malockはすでに使っている"/> +<node CREATED="1556615244445" ID="ID_379112659" MODIFIED="1556615319002" TEXT="物理メモリがロジカルアドレスをどうするか決めてるのがPTE"> +<node CREATED="1556615319002" ID="ID_1123555825" MODIFIED="1556615332049" TEXT="ぱるすさんのGearsOSにはない"/> +</node> +<node CREATED="1556615366681" ID="ID_685834204" MODIFIED="1556615421627" TEXT="Xv6kernel を GearsOSにマッピングする"> +<node CREATED="1556615446605" ID="ID_745272582" MODIFIED="1556615472733" TEXT="breakをそのまま使ってもいいが、GearsOSを制御するAPIがほしい"/> +</node> +</node> +</node> +</node> +<node CREATED="1556613283596" ID="ID_1642991397" MODIFIED="1556613291646" POSITION="right" TEXT="実装例"> +<node CREATED="1556613297950" ID="ID_958668906" MODIFIED="1556613674071" TEXT="GearsOSでContextを丸見えにする"> +<node CREATED="1556613316928" ID="ID_1283724329" MODIFIED="1556613324053" TEXT="最速で動く"/> +<node CREATED="1556613325217" ID="ID_791099681" MODIFIED="1556613335670" TEXT="セキュリティの問題はある"/> +</node> +<node CREATED="1556613506073" ID="ID_907686025" MODIFIED="1556613516627" TEXT="Forkを使う"> +<node CREATED="1556613516628" ID="ID_144206139" MODIFIED="1556613529384" TEXT="すでにGearsOSで作ってる"/> +</node> +</node> +</node> +</map>