[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]
[OSASK 1608] Re: hardin3, townes3.
- Subject: [OSASK 1608] Re: hardin3, townes3.
- From: Hidemi KAWAI <kawai !Atmark! imasy.org>
- Date: Thu, 22 Mar 2001 08:04:58 -0000
こんにちは、川合です。
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/