[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)