//tips
//基本情報理解
LRU(Least Recently Used)方式は、ページアウト要求があった場合に、「最後に参照された時刻が最も昔であるページ」を置換え対象とするアルゴリズム。
このアルゴリズムにより最近参照されたページが主記憶に残り、使われないページは新しいページと入れ替わることになる。
ページ枠数に収まりきらない場合をページフォルトといい、その際に、最も長い間使用していないページをページアウトする。つまり、メモリから追い出す。
参照ページ番号順がわかれば、どの順番でメモリに格納されていったかがわかるので、それを元に表が作成できる。
https://www.virtualinvader.com/lru/
そもそもページとはデータを同じ大きさのブロックに分割したときの単位。
ページインは2次記憶(比較的大容量・低速アクセスの記憶領域)から主記憶(比較的小容量・高速アクセスの記憶領域)にページを転送すること。
ページング方式は、メモリ管理の仮想化を行う方式の一種で、使うデータは主記憶に移し、使わないデータは2次記憶に移すというものを管理する。
ページ置き換えの発生頻度が高くなり、システムの処理能力が急激に低下することをスラッシングという。
複数のタスクから同時に呼び出された場合でも正しい結果を返すプログラムの性質をリエントラントと呼ぶ。
リロケータブルはメモリ上のどこに配置されても同じ処理を行うこと。
スタック領域はLIFOで管理するメモリで、戻り番地の格納領域や局所変数の格納領域として用いられる。
コンパイラやOSが割り当て、アプリケーションでは自由に操作できない領域。プログラムが内部的にデータを保存しておく必要がある場合に、スタック領域が使用される。
一方、ヒープ領域は、アプリケーションも含め動的に割り当てたり解放するもの。プログラムで一時的に必要になるメモリで、例えばファイルを読み出すときに読みだしたファイル内容を置いておいたり、ネットワークでデータを送受信する時にデータを置いておく時に使う。
https://www.uquest.co.jp/embedded/learning/lecture16.html
GPLとは、ソフトウェアの利用許諾条件などを定めたライセンスの一つ。主にフリーソフトウェアの開発・配布のために用いられるもの。
同一ライセンスの適用を条件にソースコードの改変や再配布を認めている。
ただ、MIT ライセンスや修正 BSD ライセンスなどのライセンスに比べると、派生著作物への同ライセンスの適用を強制することになるので厳しめと言えるよう。
https://yamory.io/blog/about-gpl-license/