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

[OSASK 1531] Re: micro kernel.



Hidemi KAWAI さんへ

>>「どのレベルまで」をやるかという程度が重要だということだと思います。
>>#現状では、そんな OS が窓しかないのは悲しいところですが……
>  ???・・・すみません、おっしゃりたいことが僕には分かりません
>でした。

ごめんなさい。最近会話ペースで思いつくまま書いてると、
文章として理解が難しいことが多々あります(汗) >私

>  その次の、「そんなOSが窓しかない」というのがよく分かりません。

マイクロカーネル(の思想)で作られた OS が窓以外に見当たらない……と
いう意味です。悲しいですよぉー(^^;;

>  僕がなべちゃんさんと違いを明確にしておくと、この開発方針を「マ
>イクロカーネル」と言うか言わないかの違いだけです。

ええその通りですね。
私のは、あくまで「みたいに」とか「ように」ですが(苦笑)

>  結局、アプリはだまされていることになります。ぐいぐい00のコマン
>ドで書かれているアプリは、本当にぐいぐい00を呼んでいると思ってい
>ます。しかし実際はぐいぐい01が走っていて、その差異を埋めるために
>「ぐいぐい00−ぐいぐい01ブリッジ」がアプリに接続されていたりする
>わけです。

直接つながないで、途中を設ければいいんですね。なるほど。
なんか私混乱しててもうしわけないです、はい。

>僕はアプリがシステムコール体系を判定するという手法を推奨しませんが、
>否定しません。もしそうあるべきだという人がいたらそのようなシステム
>コール体系を提唱してください。OSASKはその体系も受け入れられます。

システムコールを判別するというのもありますが、
目的というか何というかは、
今までないサービスが新たに提供されるようになったとき、
アプリを変更することなく対応させる方法はないかなぁーと
いうのもあります。

こういう新たにサービス(新機能)への対応って、簡単な(アプリの)修正で
済むことがほとんどなのですが、それすら不要になる手だてはないかと
思うのもあります。

でも抽象化をうまくやってやれば、うまくいきそう。
#うまくというのもまた難しい問題ですが(苦笑)

>  本当のバージョンが分からないなら、そもそもバージョンを聞く必要
>なんてあるんでしょうか。

バージョンについては色々思うところがあって、
「正規のバージョン」の他に「互換性のある最低バージョン」というものを
返したらどうだろう、と考えています。

「互換性のある」についてはバージョンでなくても、API 番号でも何でも
いいのではないかという感じもします。

#それすら気にさせないのも手ですが

>  システムは、保存する直前にシステム内のそのアプリに関する情報を
>あらいざらいタスクディレクトリに書き出します。

私はこれが難しいのではないかと……考えているわけです。
例えば、システム側の内部変数はアプリごとに用意するものもあれば、
全体で1つというのもあるように思います。

この全体で1つというような変数については、
システムをそのように作らないって結論されるのでしょうか。
(そのような変数に依存するように作らないという意味です)

#アプリ側がワークを作る。システムを呼び出すときは、そのワークを使う。
 ……うむ、なんとかなるような、ならないような(笑)

>  ええと、ここの話題には直接関係無いのですが、インテル系では、ア
>ドレスが数値的に小さな値から大きな値に増えていくのが「上方」で、
>逆に大きな値から小さな値へ減っていくのが「下方」です。
>  なべちゃんさんの説明は前のメールから上位下位が逆になっているよ
>うに思います。最初、僕は混乱しました(笑)。

ごめんなさい、よく混同して使ってます、無意識に……(汗)
拡張メモリ上位メモリですのもねぇー、よく考えればわかることなのですが……

#ローカルに考えるときは、どうもメモリを番号の若い方から図にする癖が
 あって、下位と上位を逆に言ってしまいます。気をつけます……(^^;;

>  これをWindowsなどで普通にロードした時は、以下のようにメモリに
>配置されます。
>CS     CCCCCCCCCSSSSSS???????????????????|(limit)
>DS,SS  CCCCCCCCCSSSSSS???????????????????|(limit)

ヒープとスタックを逆に考えてた私って……(自爆)

#DOS の COM 形式とかを考えすぎてた?
#EXP とかでは 静的線数は スタックの前ですよね?
 indows は知らないのですが。

>  なべちゃんさんの方法は一見すると
>CS     CCCCCCCCCSSSSSS|(limit)
>DS,SS  CCCCCCCCCSSSSSS???????????????????|(limit)
>      (rrrrrrrrrrrrrrrwwwwwwwwwwwwwwwwwww)
>という方法のように見えますが、そうではないんですよね?

私はスタックの順番を↑のように解釈してたからです。
たしかディフォルトのセグメントリンク順序は、
コード、データ、スタックだったように思ったもので……。

こうなると、データとコードの境界、またはスタックとデータの境界を
判別する方法があったっけなぁー……と思ってるわけです。

最近はどうか分かりませんが、ライブラリなどによっては、
コードセグメントにそのままデータを埋め込んでるものもありますから、
(obj 内のセグメント分割を記述してない)
上やのようり考えになったわけです。

---
なべちゃん !Atmark! abk   ## This mail address is official. ##
 (web-site http://100.abk.nu/html/top.htm)