[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]
[OSASK 1744] 仮想記憶(Re: OSASKの記憶域管理(1).)
- Subject: [OSASK 1744] 仮想記憶(Re: OSASKの記憶域管理(1).)
- From: Koyanagi Masaaki <Koyanagi.Masaaki !Atmark! nifty.ne.jp>
- Date: Sat, 09 Jun 2001 02:53:18 -0000
- References: <200105040810.AA00684 !Atmark! kawai-ATX02.imasy.org>
小柳です。
以前紹介した
エキスパートCプログラミング −知られざるCの深層
Peter van der Linden 著 / 梅原 系 訳
アスキー出版局 / ISBN4-7561-1639-6
の中で仮想記憶に関する論文がありました。再配布が可能とのことなので
紹介します。1972年に Jeff Berryman によって、書かれました。
-------------------------------------------------------------------------
◎ページングゲーム
このメモは、プロジェクトMACコンピュータシステム研究部門の、正式な役立
たず論文である。まじめに読んでくれるなら自由に再配布、翻訳できる。出版物
に掲載する場合は、各自が責任を持つこと。
ルール
1. 各プレイヤーは、山ほどたくさんの物を持つ。
2. それぞれの物は、4096個単位でかごに入れられている。同じかごに入って
いる物は「かご仲間」と呼ばれる。
3. かごは、作業場か倉庫のどちらかに置かれる。全部のかごを入れるには、
作業場は小さすぎるのだ。
4. 作業場は1つしかないが、倉庫は複数あってもいい。みんなでそれを共有す
る。
5. すべての物には、それぞれ番号が振られている。
6. 物に対してできることはzarkだけだ。全プレイヤーが、順々にzarkできる。
7. zarkできるのは自分の物だけだ。他人の物はzarkできない。
8. 物をzarkできるのは、それが作業場にあるときだけだ。
9. 「物の王様」だけが、物が倉庫と作業場のどちらにあるかを知っている。
10. zarkされない物は、だんだん汚くなっていく。
11. 物を手に入れるには、「物の王様」に頼むしかない。彼は8個単位で物を
くれる。これは王様の負担を楽にするためだ。
12. 物をzarkするには、その番号を指定すればいい。指定した番号の物が
作業場に運び込まれ、正しく持ってきてくれる。作業場の場所が足りない
場合には、誰のでもいいから、一番汚れているかごを見つけて、その中の
かご仲間ごと倉庫に押し込んでしまう。空いた場所に、倉庫から運んできた
かごが置かれる。そして物はzarkされる。プレイヤーは、その物が作業場に
なかったことにはまったく気づかない。
13. すべての物には、その持ち主(プレイヤー)の番号が付けられている。
「物の王様」は誰が何を所有しているのか、今は誰の番かを知っている
ので、たとえ同じ番号が付いていても、他人の物を間違ってzarkする心配
はない。
注意点
1. 伝統として、「物の王様」は大きく、細かに区分けされたテーブルの前に
座っている。テーブルにはいつも侍従達("pages")が控えている
("table pages" とも呼ばれている)。彼らの仕事は、すべての「物」
それぞれが一体どこになるか、どのプレイヤーのものか、王様が判断する
のを助けることだ。
2. ルール13の必然的な結果として、どのプレイヤーの「物」の番号も、
プレイヤーの「物」の番号も、プレイヤーの人数に関係なく似たような
ものになる。
3. 「物の王様」も自分用にいくつかの「物」を持っている。その一部は、
プレイヤーの「物」と同じように、作業場と倉庫を行き来する。しかし
中には、重すぎて倉庫には運べない「物」もある。
4. 以上のルールで遊んでいると、よくzarkされる「物」は作業場に、減多に
zarkされない「物」は倉庫に置かれることが多くなる。こうなると管理も楽
になる。
-------------------------------------------------------------------------
コンピュータとの対応は
プレイヤー -> プロセス
物 -> バイト
かご -> ページ
かご仲間 -> 参照の局所性
作業場 -> メモリ
倉庫 -> ディスク
物の番号 -> 仮想アドレス
zark -> 参照
物の王様 -> VMマネージャ
汚くなる -> 古くなる
8個単位で -> 2のべき乗個単位で
大きく細かく区分けされた table -> segmented table
侍従達 -> page table
です。書き換えた文章もこの本に書かれているのですが、こちらは転載できるか
どうか分からないので原文の方を写しました。仮想記憶についての基本が分かり
やすく書かれていると思います。
OSASK での仮想記憶管理はどのようになるのでしょうか?
--
小柳 雅明(Koyanagi.Masaaki !Atmark! nifty.ne.jp)
「人の足を止めるのは"絶望"ではなく"諦観"
人の足を進めるのは"希望"ではなく"意志"」
-- ARMS