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

[OSASK 1608] Re: hardin3, townes3.



  こんにちは、川合です。


Koyanagi Masaaki さんは 2001/03/22 13:03:27 の「[OSASK 1607] Re:
 hardin3, townes3.」で書きました:

(フリーメモリ:hardin3 vs townes4)
>よくよく考えてみると、hardin3 の方の起動ディスクには、
>今までのアプリケーションを数多く入れているのに対して
>townes4 の入ったディスクには最近のアプリケーション
>しか入れていないので、ディスクに入っているファイル数
>が違います。
>
>多分それが使用できるメモリの違いとなっているのだと思います。

  いや、それは関係していないと思います。ディスクの内容に応じてメ
モリの使い方が柔軟に変化するほどには、今のルーチンは賢くないんで
す。

  まず、フリーメモリがどのくらいあるのか、調べてみました。

  hardin3の起動直後のフリーメモリ : 220KB
    (直接起動ディスクによるもの)

  townes4の起動直後のフリーメモリ : 248KB
    (TownsOS V2.1L20コンソールの起動ディスク)

  countup4が消費するメモリ :  16KB
  revers01が消費するメモリ : 132KB

  おお、小柳さんのおっしゃるとおり、townes4の方がフリーメモリが
少し多いじゃないですか。僕は驚きました。

  今のOSASKはディスクキャッシュ以外にはリアルメモリしか使わない
というしょうもない仕様のせいでしょう。TOWNSはVRAMの関係で、AT互
換機よりもリアルメモリが128KBほど多いんです。

  ところで、直接起動ディスクで起動したhardin3は情けないと思いま
した。フリーメモリが220KBしかないということは、OSが420KBも使って
いることになります。そんな馬鹿な、ということでソースを確認したら
ひどいことになっていることが分かりました。

  OSASKはかつて、アプリケーションを内包していました。また、USER.
BINというファイルしかアプリケーションとしてロードできない時期も
ありました。そのころのワークエリアが今もなお残っているではありま
せんか。もちろん、現在は全く使っていません。使っていないのに確保
していました。

  さっそくこんな無駄をやらないように修正しました。すると、

  hardin5の起動直後のフリーメモリ : 240KB
    (Win95で作ったDOS経由起動ディスクによるもの)

  hardin5の起動直後のフリーメモリ : 332KB
    (直接起動ディスクによるもの)

  townes5の起動直後のフリーメモリ : 332KB
    (TownsOS V2.1L20コンソールの起動ディスク)

になりました。OSが使っているメモリは308KBです。これはまあ、決し
て小さくはありませんが、妥当といえます。

・OSのコード        56KB
・TAPIのワーク      64KB
・pokon0のスタック  44KB(-s32kを指定すると実際は44KBになる)
・winman0のスタック 44KB(-s32kを指定すると実際は44KBになる)
・decode0のワーク   24KB

この他にも細々したものがたくさんありますが、上記5つだけでも232KB
になりますから、308KBというのはしょうがないところです。

  まあ、次のバージョンではプロテクトメモリを利用できるようになる
ので、300KBでも問題にならなくなるでしょう。


  それでは。

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