[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[OSASK 866] Re: "module".



  こんばんは、川合です。


Myurika さんは 2000/06/11 22:46:26 の「[OSASK 856] Re: "module"(
Re: フォーマットについて ).」で書きました:

>  ということは、mallocしたメモリにもTAGが付いているんですか?

  mallocは、「空きがない場合は、既に存在するセグメントを広げて、
広げた部分の先頭アドレスを返す」というのが、C言語での仕様なので
「新しくメモリモジュールを生成する」というニュアンスがありません
。・・・C言語の標準関数は、どれもセグメントのことを避けています
(機種依存しないためには、当然なんですが)。

  ですから、mallocしたメモリに、タグがついているのか、というのは
微妙な質問なのです。mallocはワークセグメントを広げますが、ワーク
セグメントは「モジュール」であり、それはつまり平たく言えば「ファ
イル」なのです。ですから、最初からタグがたくさんついていることで
しょう。mallocによって、タグが増えることは多分ないです。

  とにかく、メモリモジュールにも必ずタグがある、ということに関し
ては、全くの真です。mallocはこのメモリモジュールを新規に獲得する
関数ではなく、メモリモジュールのサイズをリサイズする関数なのです
。

  ・・・イメージが湧かない、という苦情がきっと出ると思うので、こ
んな風に考えたらどうかという、例を出します。

  今まで、OSはファイル管理とメモリ管理を別々にやってきました。本
来、別々のものですから、それはそれでいいでしょう。しかし、僕は、
そうではないアプローチを思い付いてそれに魅せられてしまったのです
。RAM全体をRAMディスクとして見たてて、RAMも一般的なデバイスとし
て扱ったらどうだろうと考えたのです。そうすれば、メモリ管理ルーチ
ンを用意しなくてもいいわけです。

  ・・・上記は事実とはことなる仕組みを書いていますが(本当は仮想
記憶の拡張を考えているうちに、現在のような案にまとまったのです)
、イメージのためにそう書きました。ご了承ください。


  それでは。

--
    川合 秀実(KAWAI Hidemi)
川合堂社長 / OSASK計画総指揮 / カーネル開発班
E-mail:kawai !Atmark! imasy.or.jp
Homepage http://www.imasy.or.jp/~kawai/