# HG changeset patch # User tobaru # Date 1580480446 -32400 # Node ID dfb52a12c5a157def429e5d11c26c5a779a54a54 # Parent 7374211157709baf619f1341f873b13ce8f9c6b9 fig : MemoryConstitution diff -r 737421115770 -r dfb52a12c5a1 paper/Paging.tex --- a/paper/Paging.tex Fri Jan 31 18:02:14 2020 +0900 +++ b/paper/Paging.tex Fri Jan 31 23:20:46 2020 +0900 @@ -10,6 +10,18 @@ \section{Paging} メモリ管理の手法に、Paging がある。Paging ではメモリを Page と呼ばれる固定長の単位に分割し、メモリとスワップ領域で Page を入れ替えて管理を行う。 + + \begin{figure}[ht] + \begin{center} + \includegraphics[width=160mm]{./fig/MemoryConstitution} + \end{center} + \caption{Layout of the virtual address space of a process and the layout of the physical address +space. Note that if a machine has more than 2 Gbyte of physical memory, xv6 can use only the memory +that fits between KERNBASE and 0xFE00000. Russ Cox(2018) xv6 a simple, Unix-like teaching operating system (Frans Kaashoek, Robert Morris)} + \label{fig:MemoryConstitution} +\end{figure} + + \section{User Space で Paging をする利点} Context に必要な Page Tbale を提供する Interface と User Space からアクセスする API が必要である。 Page Table に相当するデータを Input Data Gear で受け取って変更した後、Context にあるメモリコントロールを担当する Meta Data Gear に goto で遷移してアクセスする。 Meta Computation レベルで処理することで Use Spaceでも Page Table を操作することができる。 diff -r 737421115770 -r dfb52a12c5a1 paper/fig/MemoryConstitution.pdf Binary file paper/fig/MemoryConstitution.pdf has changed diff -r 737421115770 -r dfb52a12c5a1 paper/fig/meta_cg_dg.pdf Binary file paper/fig/meta_cg_dg.pdf has changed diff -r 737421115770 -r dfb52a12c5a1 paper/master_paper.aux --- a/paper/master_paper.aux Fri Jan 31 18:02:14 2020 +0900 +++ b/paper/master_paper.aux Fri Jan 31 23:20:46 2020 +0900 @@ -9,25 +9,27 @@ \@writefile{lof}{\contentsline {figure}{\numberline {2.1}{\ignorespaces Code Gear 間の継続}}{3}\protected@file@percent } \newlabel{fig:codegear}{{2.1}{3}} \@writefile{toc}{\contentsline {section}{\numberline {2.2}Meta Code Gear と Meta Data Gear}{4}\protected@file@percent } +\@writefile{lof}{\contentsline {figure}{\numberline {2.2}{\ignorespaces ノーマルレベルとメタレベルの継続の見え方}}{4}\protected@file@percent } +\newlabel{fig:meta_cg_dg}{{2.2}{4}} \@writefile{toc}{\contentsline {section}{\numberline {2.3}Context}{4}\protected@file@percent } -\newlabel{contexth、 caption}{{2.3}{4}} -\@writefile{lol}{\contentsline {lstlisting}{./src/context.h}{4}\protected@file@percent } -\@writefile{lof}{\contentsline {figure}{\numberline {2.2}{\ignorespaces ノーマルレベルとメタレベルの継続の見え方}}{7}\protected@file@percent } -\newlabel{fig:meta_cg_dg}{{2.2}{7}} -\@writefile{toc}{\contentsline {chapter}{\numberline {第3章}Xv6}{8}\protected@file@percent } +\newlabel{contexth、 caption}{{2.3}{5}} +\@writefile{lol}{\contentsline {lstlisting}{./src/context.h}{5}\protected@file@percent } +\@writefile{toc}{\contentsline {chapter}{\numberline {第3章}Xv6}{7}\protected@file@percent } \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} -\@writefile{toc}{\contentsline {section}{\numberline {3.1}Kernel Space と User Space}{8}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {3.2}system call}{8}\protected@file@percent } -\newlabel{syscall_list}{{3.1}{8}} -\@writefile{lol}{\contentsline {lstlisting}{\numberline {3.1}\footnotesize xv6 のシステムコールのリスト}{8}\protected@file@percent } -\@writefile{toc}{\contentsline {chapter}{\numberline {第4章}CbCXv6 での Paging}{10}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {3.1}Kernel Space と User Space}{7}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {3.2}system call}{7}\protected@file@percent } +\newlabel{syscall_list}{{3.1}{7}} +\@writefile{lol}{\contentsline {lstlisting}{\numberline {3.1}\footnotesize xv6 のシステムコールのリスト}{7}\protected@file@percent } +\@writefile{toc}{\contentsline {chapter}{\numberline {第4章}CbCXv6 での Paging}{9}\protected@file@percent } \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} -\@writefile{toc}{\contentsline {section}{\numberline {4.1}Xv6 を元にした Gears OS の実装}{10}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {4.2}Paging}{10}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {4.3}User Space で Paging をする利点}{10}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {4.4}Paging の書き換え}{10}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {4.1}Xv6 を元にした Gears OS の実装}{9}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {4.2}Paging}{9}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {4.3}User Space で Paging をする利点}{9}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {4.4}Paging の書き換え}{9}\protected@file@percent } +\@writefile{lof}{\contentsline {figure}{\numberline {4.1}{\ignorespaces Layout of the virtual address space of a process and the layout of the physical address space. Note that if a machine has more than 2 Gbyte of physical memory, xv6 can use only the memory that fits between KERNBASE and 0xFE00000. Russ Cox(2018) xv6 a simple, Unix-like teaching operating system (Frans Kaashoek, Robert Morris)}}{10}\protected@file@percent } +\newlabel{fig:MemoryConstitution}{{4.1}{10}} \@writefile{toc}{\contentsline {chapter}{\numberline {第5章}CbC インターフェース}{11}\protected@file@percent } \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} diff -r 737421115770 -r dfb52a12c5a1 paper/master_paper.lof --- a/paper/master_paper.lof Fri Jan 31 18:02:14 2020 +0900 +++ b/paper/master_paper.lof Fri Jan 31 23:20:46 2020 +0900 @@ -1,7 +1,8 @@ \addvspace {10\p@ } \addvspace {10\p@ } \contentsline {figure}{\numberline {2.1}{\ignorespaces Code Gear 間の継続}}{3}% -\contentsline {figure}{\numberline {2.2}{\ignorespaces ノーマルレベルとメタレベルの継続の見え方}}{7}% +\contentsline {figure}{\numberline {2.2}{\ignorespaces ノーマルレベルとメタレベルの継続の見え方}}{4}% \addvspace {10\p@ } \addvspace {10\p@ } +\contentsline {figure}{\numberline {4.1}{\ignorespaces Layout of the virtual address space of a process and the layout of the physical address space. Note that if a machine has more than 2 Gbyte of physical memory, xv6 can use only the memory that fits between KERNBASE and 0xFE00000. Russ Cox(2018) xv6 a simple, Unix-like teaching operating system (Frans Kaashoek, Robert Morris)}}{10}% \addvspace {10\p@ } diff -r 737421115770 -r dfb52a12c5a1 paper/master_paper.log --- a/paper/master_paper.log Fri Jan 31 18:02:14 2020 +0900 +++ b/paper/master_paper.log Fri Jan 31 23:20:46 2020 +0900 @@ -1,4 +1,4 @@ -This is e-pTeX, Version 3.14159265-p3.8.2-190131-2.6 (utf8.euc) (TeX Live 2019) (preloaded format=platex 2020.1.16) 31 JAN 2020 16:55 +This is e-pTeX, Version 3.14159265-p3.8.2-190131-2.6 (utf8.euc) (TeX Live 2019) (preloaded format=platex 2020.1.16) 31 JAN 2020 21:31 entering extended mode restricted \write18 enabled. file:line:error style messages enabled. @@ -370,30 +370,28 @@ ] File: ./fig/meta_cg_dg.pdf Graphic file (type pdf) <./fig/meta_cg_dg.pdf> - - -LaTeX Warning: Float too large for page by 43.27322pt on input line 43. - -(./src/context.h +LaTeX Font Info: Font shape `JT1/hmc/m/n' will be +(Font) scaled to size 10.53629pt on input line 53. +LaTeX Font Info: Font shape `JY1/hmc/m/n' will be +(Font) scaled to size 10.53629pt on input line 53. +LaTeX Font Info: Font shape `JT1/hmc/bx/n' will be +(Font) scaled to size 10.53629pt on input line 53. +LaTeX Font Info: Font shape `JY1/hmc/bx/n' will be +(Font) scaled to size 10.53629pt on input line 53. + [4] (./src/context.h LaTeX Font Info: Font shape `JT1/hmc/m/n' will be (Font) scaled to size 7.69775pt on input line 1. -LaTeX Font Info: Font shape `JT1/hmc/m/n' will be -(Font) scaled to size 10.53629pt on input line 9. -LaTeX Font Info: Font shape `JY1/hmc/m/n' will be -(Font) scaled to size 10.53629pt on input line 9. -LaTeX Font Info: Font shape `JT1/hmc/bx/n' will be -(Font) scaled to size 10.53629pt on input line 9. -LaTeX Font Info: Font shape `JY1/hmc/bx/n' will be -(Font) scaled to size 10.53629pt on input line 9. - [4]) [5]) (./Xv6.tex [6] [7] -第 3 章(8ページ) -[8 + [5])) (./Xv6.tex [6] +第 3 章(7ページ) +[7 -]) (./Paging.tex [9] -第 4 章(10ページ) -) (./cbc_interface.tex [10 +]) (./Paging.tex [8] +第 4 章(9ページ) +File: ./fig/MemoryConstitution.pdf Graphic file (type pdf) +<./fig/MemoryConstitution.pdf> +) (./cbc_interface.tex [9 -] +] [10] 第 5 章(11ページ) [11 @@ -404,12 +402,12 @@ ) Here is how much of TeX's memory you used: - 6313 strings out of 493985 - 89466 string characters out of 6166648 - 368164 words of memory out of 5000000 - 10632 multiletter control sequences out of 15000+600000 + 6319 strings out of 493985 + 89633 string characters out of 6166648 + 368175 words of memory out of 5000000 + 10637 multiletter control sequences out of 15000+600000 16577 words of font info for 84 fonts, out of 8000000 for 9000 107 hyphenation exceptions out of 8191 - 38i,11n,36p,411b,1817s stack positions out of 5000i,500n,10000p,200000b,80000s + 32i,11n,36p,470b,1800s stack positions out of 5000i,500n,10000p,200000b,80000s -Output written on master_paper.dvi (27 pages, 96688 bytes). +Output written on master_paper.dvi (27 pages, 98212 bytes). diff -r 737421115770 -r dfb52a12c5a1 paper/master_paper.lol --- a/paper/master_paper.lol Fri Jan 31 18:02:14 2020 +0900 +++ b/paper/master_paper.lol Fri Jan 31 23:20:46 2020 +0900 @@ -1,5 +1,5 @@ -\contentsline {lstlisting}{./src/context.h}{4}% -\contentsline {lstlisting}{\numberline {3.1}\footnotesize xv6 のシステムコールのリスト}{8}% +\contentsline {lstlisting}{./src/context.h}{5}% +\contentsline {lstlisting}{\numberline {3.1}\footnotesize xv6 のシステムコールのリスト}{7}% \contentsline {lstlisting}{\numberline {5.1}\footnotesize vm のインターフェース}{11}% \contentsline {lstlisting}{\numberline {5.2}\footnotesize vm インターフェースの実装}{12}% \contentsline {lstlisting}{\numberline {5.3}\footnotesize vm private のヘッダーファイル}{15}% diff -r 737421115770 -r dfb52a12c5a1 paper/master_paper.pdf Binary file paper/master_paper.pdf has changed diff -r 737421115770 -r dfb52a12c5a1 paper/master_paper.synctex.gz Binary file paper/master_paper.synctex.gz has changed diff -r 737421115770 -r dfb52a12c5a1 paper/master_paper.toc --- a/paper/master_paper.toc Fri Jan 31 18:02:14 2020 +0900 +++ b/paper/master_paper.toc Fri Jan 31 23:20:46 2020 +0900 @@ -3,14 +3,14 @@ \contentsline {section}{\numberline {2.1}Code Gear と Data Gear}{3}% \contentsline {section}{\numberline {2.2}Meta Code Gear と Meta Data Gear}{4}% \contentsline {section}{\numberline {2.3}Context}{4}% -\contentsline {chapter}{\numberline {第3章}Xv6}{8}% -\contentsline {section}{\numberline {3.1}Kernel Space と User Space}{8}% -\contentsline {section}{\numberline {3.2}system call}{8}% -\contentsline {chapter}{\numberline {第4章}CbCXv6 での Paging}{10}% -\contentsline {section}{\numberline {4.1}Xv6 を元にした Gears OS の実装}{10}% -\contentsline {section}{\numberline {4.2}Paging}{10}% -\contentsline {section}{\numberline {4.3}User Space で Paging をする利点}{10}% -\contentsline {section}{\numberline {4.4}Paging の書き換え}{10}% +\contentsline {chapter}{\numberline {第3章}Xv6}{7}% +\contentsline {section}{\numberline {3.1}Kernel Space と User Space}{7}% +\contentsline {section}{\numberline {3.2}system call}{7}% +\contentsline {chapter}{\numberline {第4章}CbCXv6 での Paging}{9}% +\contentsline {section}{\numberline {4.1}Xv6 を元にした Gears OS の実装}{9}% +\contentsline {section}{\numberline {4.2}Paging}{9}% +\contentsline {section}{\numberline {4.3}User Space で Paging をする利点}{9}% +\contentsline {section}{\numberline {4.4}Paging の書き換え}{9}% \contentsline {chapter}{\numberline {第5章}CbC インターフェース}{11}% \contentsline {section}{\numberline {5.1}インターフェースの定義}{11}% \contentsline {section}{\numberline {5.2}インターフェースの実装}{12}% diff -r 737421115770 -r dfb52a12c5a1 thsis_paging.mm --- a/thsis_paging.mm Fri Jan 31 18:02:14 2020 +0900 +++ b/thsis_paging.mm Fri Jan 31 23:20:46 2020 +0900 @@ -4,14 +4,26 @@ + + + + + - + + + + + + + - + + @@ -23,16 +35,21 @@ - + + - - + + + + + + @@ -40,8 +57,9 @@ - + + @@ -49,28 +67,44 @@ + + + + - - + + - + + - + + + - + + - + + - + + + + + + + +