[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]
[OSASK 2983] from OSASK BOARD
このメールは、OSASK伝言板に書き込まれた内容です。
この書き込みに返事を書く場合は、下のURLから書き込みを行なって下さい。
http://www.imasy.or.jp/~mone/osask/index.cgi?REFER=3c48f6a7_4cbd
From: 川合秀実
Message-ID: 3c48f6a7_4cbd
Date: 2002/01/19 13:31
Subject: Re: ファイルの概念
[OSASK 2974]へのレスです。
>OSASKの独自性というのは仕組みそのものではなく観点であるという
>解釈をしていいのでしょうか。どうも既存の仕組みを言い方をかえて
>独自性のように言うのはうさんくさいイメージがあります。
観点上の違いでしかないのか、本質的な違いがあるのか、それはその人の解釈
によるかもしれません。極論すれば、どんなOSもHDを使ってプログラムを動かし
ているわけですし。・・・ですから、観点上の違い以上のものがあると思うかど
うかは、ご自身で決めてください。僕は観点上の違い以上のものがあると思って
います。
>一方、プログラムが動作するにはなんらかのメモリ空間にアクセスで
>きる必要があります。OSASKではそれを特定のファイルで管理し、HDD
>のようなデバイス上に実体があり物理メモリ上にはそのキャッシュが
>あると言っていると思います。それに対して例えばLinuxではメモリ
この「特定のファイルで」というのが引っかかります。特定のファイルではな
く、普通のファイルです。もちろん特定のファイルにすることもできますし、そ
のファイル名を「スワップファイル」にすれば、普通のOSと同じ動作になります
(スワップファイルが複数ある、ちょっと変な状態ではありますが)。
>空間を割り当てる時には何にも関連づけられてなくて必要に応じてス
>ワップファイルなり領域なりに割り当てられます。そして物理メモリ
>がそのスワップファイルのキャッシュという位置付けという点では両
>者は実質的には同じものだと思います。
そういう見方をするなら、実質的に同じ物です。同じだからこそ、統合できた
わけですし。
結局、OSASKは「スワップファイル」に相当するファイルが不要で、仮にあっ
たとしても特別扱いしないのです。違いはそれだけです。・・・これは、タスク
スケジューリングでスリープを特別扱いしないというのと、話のレベルとしては
同じレベルなのかもしれません。
>それはダーティなデータをライトバックするための時間を一般的なも
>のより極端に長く取っているだけでしょう。
そうです。設定次第でそういう風な使い方もできるということです。
>普通は予期せぬクラッシュ時の損害を最小限にするため、重要な部分
>(ファイル管理のための情報など)はあまり遅延書き込みしないもの
>だとおもいます。
僕もそう思います。OSASKでも、遅延時間をどのくらいにするかは、各ユーザ
ーが目的に応じて設定するでしょう。それに、OSASKのファイルキャッシュはHD
上にもあるので、遅延はメモリ上にダーティーなまま滞在する時間だけではなく
、HDから実デバイスへの書き戻し時間もあります。・・・こっちの遅延時間は、
HDが生きている限りはなんとかなるので、比較的長い時間を取れるでしょう。
OSASKのファイルアクセスイメージは以下のようなものです。
CPU ←→ メモリ(全部キャッシュ) ←→ HD上のキャッシュ ←→ 実デバイス上のファイル
・・・もちろん実際はHDと実デバイスが直接アクセスすることはできませんから
その際にはメモリを多少消費しますが。また、HD上のファイルについては、HD上
にキャッシュする意味がないのでキャッシュしません。CPUがL1とL2キャッシュ
を持っているなら、メモリはL3、HD上のキャッシュはL4です。それだけのことで
す。
>もしここで、メモリ空間用に生成されたファイルを識別して、それら
>はクラッシュ時には破損してもかまわないというようになっている
>(する)のであれば、それはまさしく既存の仮想メモリと同一なもの
>ですね。
メモリ空間用に生成されたファイルは識別しません(識別したければ、識別す
ることもできますが)。そもそもメモリ空間用という言い方すらしません。スタ
ック用とかワーク用とか、そういう言い方をします。・・・これは普通に名前の
着いた普通のファイルですから、コピーしたりエディットしたり、その他なんで
もできます。ファイルかかったセキュリティーをクリアできればですが。・・・
他のOSでもこんな事が普通にできるんですか?できないと思っていたのですが・
・・。もちろん、そんなことができてもなんの役に立つんだといわれたら、それ
は分かりません。デバッグくらいにしか使えないかもしれません。
もちろんですが、このスタックファイルなどもHD上に作る必要はありません。
MOやFD上で構わないのです。好きなところに作ればいいでしょう。どこに作るか
は、やはりシェルが決めることです。どこに作ってもHD上のキャッシュのおかげ
で、十分な速度が出るでしょう。
僕の言う「ファイル」は、単にデーターの集まりという概念のことではなくて
WindowsやLinuxで普通に呼んでいる「ファイル」そのものです。