サイトトップへ
OSASK.NET
SourceForge.JP
サイトトップへ       新掲示板(凍結済)   Wiki(凍結済)   旧掲示板(廃止済)   ニュース(廃止済)  
1: 2003-05-21 (Wed) 14:05:26 source Cur: 2009-11-17 (Tue) 00:00:00 ゲスト source
Line 1: Line 1:
 +* メモリレスアーキテクチャ
 +
 +- 『川合の「ちょっと一言」』 OSASKスレ5の175(コメント書き込み日:2003/05/21) に対する回答の中から引用
 +-- http://www.imasy.or.jp/~kawai/osask/comment.html#2chosask5
 +
 + メモリレスアーキテクチャを簡単に言うと、mallocやfreeの下請けとなるようなAPIがない、という事に尽きます(C言語のライブラリとしてmallocやfreeがないというわけではないです。後述の方法で相当するものを作っています)。そもそも「メモリ」という概念がAPIの中にないのです。あるのはファイルに対する操作だけです。
 +
 + [[OSASK]]のAPIにあるのは、「ファイルを作れ」「ファイルをメモリマップしろ」「ファイルのサイズを変更しろ」などだけです。 100MBのワークエリアがほしいのなら、"WORK.BIN"というファイルを作って、それを100MBにリサイズし、適当にメモリマップして、後はあたかもそこをmallocしたかのように扱えばいいのです。この領域がいらなくなったら、メモリマップをやめて(メモリ空間からはがして)、"WORK.BIN"を削除すればおしまいです。
 +
 + [[OSASK]]ではstatic変数やスタックさえも、所詮はファイルなのです。メモリなんて概念上は全く存在せず、あったとしてもただのファイルキャッシュです。僕たちがCPUのキャッシュサイズ以上のワークエリアを簡単に利用できるのと同じように、ファイルシステムが許す限り、実メモリ以上の容量のワークエリアを自由に利用できます。
 +
 + なお、このやり方をまともにやるとやたらとファイルアクセスが発生しそうで遅そうですが、[[遅延書き込み]]や[[プリロード]]などにより、実際のアクセスはかなり少ないと思われます。ファイルを生成しても遅延書き込み時間中はディスクに反映されませんし、その反映されない間にそのファイルが消去されたりすれば、結局ディスクアクセスはゼロになります。そういう感じです。
 +
 + このメモリレスアーキテクチャのメリットは、メモリをコントロールするためのAPIファンクションを用意しなくていいということが、最大です。これによってOSの構造は単純化されます。 OSは[[スワップ]]ファイルの管理のためにコードを追加する必要は全くなくなります。ひたすらファイル[[キャッシュ]]制御の質を高めていけばそれでいいのです。またアプリごとに[[メモリイメージ]]がファイルとなってきれいに分離するために、デバッグの場合はそのファイルを覗いたりいじったりすればよく、[[タスクセーブ]]もこれらをまとめればメモリイメージのことは解決するということもあります。
 +
 + メリットはこの程度です。今までできなかったことができるようになるというほどのものではありません。しかし効率重視の[[OSASK]]にとってはこういう改善の積み重ねが重要なのです。
 +
 +----------------------------------
 +
http://www.hicat.ne.jp/home/turo/osask/ http://www.hicat.ne.jp/home/turo/osask/

Front page   Diff Backup Copy Rename ReloadPrint View   New Page Page list Search Recent changes   Help
ログイン
ユーザー名:
パスワード:
 
パスワード紛失

新規受付は停止しています

新着

目次
メンバー一覧


recent(20)
2016-10-01 2016-09-08
  • @MenuBar.
2016-09-07 2016-09-04 2016-08-15 2015-09-23 2014-07-30 2014-07-04 2014-02-04 2013-10-26 2013-06-21 2013-06-17 2013-06-15 2013-04-02 2013-02-09 2013-02-04 2012-12-25 2012-12-01 2012-05-28 2012-03-31

トピック一覧
一般用コメント最新
新掲示板lina
2016/9/5 20:58
SandBoxゲスト
2016/9/4 12:01
RecentDeletedlina
2015/6/2 19:29
Old-OSASK-MLlina
2014/6/29 9:14
hideyosi/メールhideyosi
2014/1/6 20:17
hideyosi/募集中lina
2013/11/8 19:56

このサイトは川合秀実から委託を受けて、OSASKコミュニティによって管理・運営されています。
このサイトに関するお問い合わせは掲示板にお願いいたします。