X



【C】Poneytail(仮称)OSスレッド01【未踏】
0002Be名無しさん
垢版 |
NGNG
0003Be名無しさん
垢版 |
NGNG
ム板でいつもやらかす厨がいるんだけど#はスレタイに入らない
C♯って入れないとダメだよ
C#じゃなくてC♯ね
0004Be名無しさん
垢版 |
NGNG
         ヘ  o ,    ── /   __,   /  _,   /_/_/       __,   /
          /  \ ´   ── /        /   ─'  /    _       / 
         _/    \   __ /   ___/   ___/     /   ___/
                                     ̄ ̄ ̄
                    _ , ― 、
                  ,−'  `      ̄ヽ_
                 ,'            ヽ
                (   `ー'ー'ヽ`ー'ー'ヽ  )        
               (  ノ ''''''   '''''':::::::ヽ  )
               ( . )(●),   、(●)、.:( ) +
               ( )   ,,ノ(、_, )ヽ、,, .::::( )    <4様が華麗に4get!
               . ヽ )   `-=ニ=- ' .:::::::|ノ  +
                  \  `ニニ´  .:::::/      +
               ,,.....イ.ヽヽ、ニ__ ーーノ゙-、.
               :   |  '; \_____ ノ.| ヽ i
0005957
垢版 |
NGNG
開発者です。

紹介文にたいする簡単なコメント。

・C#でアプリは作れませんが、
・C#で作ったアプリを動かせます。
 ・WinかLinuxでコンパイルしてください。
 ・別にC++でもVB.NETでもJ#でも可。
・ランタイムは独自開発です。
・クラスライブラリはMonoのものを使っています。
・未踏に採択されています。がんばります。

次のコメントで特徴なんか書いてみます。
0006957
垢版 |
NGNG
Ponytail の他の OS と激しく違うところです。

・IL (.NET中間言語) を解釈実行します。
・アプリを含むすべてのプログラムが特権レベルで動作します。
・すべてのプログラムが同じアドレス空間を共有します。

いまはこんなところです。やみくもに予定とか書いても仕方ない気がしますし。

>>1さん乙です。
またーり楽しんで頂ければ幸いです。>ALL
0007Be名無しさん
垢版 |
NGNG
ライセンスとかどうなるんでしょう?(予定でもいいので)
商用を視野に入れているとかですか?
0008957
垢版 |
NGNG
バイナリは無償で配布自由にしようかと。
ソースはクローズですが、恩返しの意味も込めて
これからOS開発する人に役に立ちそうな部分は公開したいと思ってます。
商用は、、、なんというか、商用になれるレベルにしたいってとこまでしか思い描けませんね〜
0009Be名無しさん
垢版 |
NGNG
バイナリは無償配布との事ですが、Reflectorとか使っていいのでしょうか?
つい最近もMVPがHS+をILDASMして問題化しましたが、、、
0010957
垢版 |
NGNG
Reflector使えますね。いま自分のライブラリをReflectorで精査してますし。
使ってくださいとは言えませんが、事実使えてしまうので止めても無駄かなと思います。
ただ、それでリバースエンジニアリングしたものを無断で再公開とかはやめてほしいなあ。

ところでMVPとHS+ってなんでしょう? ILDASMは IL DisASseMbler ですよね。
0013Be名無しさん
垢版 |
NGNG
>>6
なるほど。
JavaOSとは...
・classファイルを実行可能
・すべてのプログラムが特権レベルで動く
・すべてのプログラムが同じアドレス空間を共有する
JITで出来るバイナリが十分良質であれば、特権レベル切り替え・ページングに伴うオーバーヘッドがなくなる分、
理論的には早くなり、メモリ保護はネイティブインターフェイスを禁止することで行うと言った所だったと思います。

.NETかJavaかの違いがあるとはいえ、JavaOSと違いが見えてきません。
この既知の技術に対しての相違点等があれば、差し支えない限りでお聞きしたいです。
0014957
垢版 |
NGNG
JavaOSとPonytailの違いは、すべてJavaと.NETの違いということになると思います。
つまりコンセプトについてはJavaOSとあまり違いません。
0015Be名無しさん
垢版 |
NGNG
結局JavaOSは一般に入手可能なものがフリーで公開されることはありませんでしたからね。
そういう意味で一般に公開するものとしての存在意義は充分あると思います。
頑張ってください。
0016Be名無しさん
垢版 |
NGNG
>>15
でもそれだけのために未踏が通るとも思えない。
コンセプト実証品ではあっても実務への応用が望めそうもないから。
OSそのものというよりも、組み込みレベルでも.NETを使えるような技術を作って、
後々はITRONとかの上にも載るようなKVMみたいなものに応用するとか
そういうビジョンまで提示したのだろうか。
0017957
垢版 |
NGNG
あ、>>11さんありがとうございます。
そんなことがあったんですね。
逆解析にたいする脆弱性はJavaでも似たようなもんですし、これからの課題なんでしょうか。
ちなみにMSはインターネットを利用することで解決しようとしているみたいですね。

>>15
ありがとうございます。

>>16
いえ、究極的にはそれだけです。
未踏は、成果物でIPAが儲けるわけではないので、応用面だけで評価するのはちょっとずれてる気がします。
0018Be名無しさん
垢版 |
NGNG
>>17
OSASKのときには応用面が問題になったと記憶しています。
それで結局ユースで妥協したけど後が続かなかった筈。
0020Be名無しさん
垢版 |
NGNG
>>17
VS.NET付属のDotFuscatorはそれほど強力ではありませんが、
有償のバージョンだとかなり効果があるみたいです。

しかしMS製品のアセンブリはfuscatorをかけたりしてません。
逆解析が簡単なのは諸刃の剣でパクった側も晒されることを意味するので、
見ることは出来てもパクるにパクれないという状態になって、
実際はあまり大きな問題にならないと割り切ってるように見えます。

内々に使われて公開されないようなツールに使いまわされると手が出ませんが、
そんなのは企業内違法コピーと同じで撲滅はほとんど無理でしょうし。
0021957
垢版 |
NGNG
作り始めたのマジで去年のCマガからなんで、詳しくなくてごめんなさい。そんなことがあったんですね。

OSASKに限らず他の独自OS全般に言えることだと思うのですが、
普及のためには結局"開発者"を奪い合う必要がありますよね。
シェアも奪い合いですが、それよりも開発者を排他するのが大きいと思います。

この問題があるかぎり、独自OSはけっきょくパイの奪い合いであり普及はしないと思うのです。
そして僕がPonytailにあり既存のOSにはない、機能以外での有利な点として、この開発者の問題があります。

.NET (IL) にすれば、開発に参加して頂ける方は Ponytail のためだけの時間を割く必要はありません。
また、もし他のチームが Pure IL 型OSを作り、それが Ponytail を超えたときでも、作ったものは無駄にならないはずです。

なので、
・Ponytail が成功して普及すれば御の字 (がんばるけど、でも客観的には無謀ですよね)
・Ponytail が失敗してもノウハウは生きる
・どちらにしろアプリ資産はWinその他で動く
・.NETが滅亡するとちょっと困るけど、それでも中間言語を直接ホストするのは珍しいから役には立つだろう
ということです。
0022957
垢版 |
NGNG
>>19
あ、やっぱりあったんだ。散々調べたのですけど、見つけられませんでした。
まあなんていうか、Javaのもあっていいと思います。
それどころか.NETのOSもPonytail以外にもあっていいと思います。

いろいろな新しい方式のOSがあって、そのうち運良く上手くいったものを使ってエンドユーザが幸せになれればそれが一番ですよね。
そうなったときは大成功したOSが脚光を浴びますけど、草葉の陰で消えていったものにも価値があることには変わりないと思います。
002319
垢版 |
NGNG
>>21-22
実際に採択されるという事はご自身は気づいていなくても、
なんらか魅力的な部分があったと思いますし、これからです。
どのような物になるか開発成果を期待しています。
0024Be名無しさん
垢版 |
NGNG
>>21
>.NET (IL) にすれば、開発に参加して頂ける方は Ponytail のためだけの時間を割く必要はありません。
これは本当に重要。

どこの馬の骨とも知れないOSでしか動かないプログラムを作ったって村の英雄が関の山。
はっきり言って労力が報われることはない自己満足の世界。
ライブラリを作るなら最低限Windows、可能ならUNIXでも動くように作って、
独自OSとは無関係に使用してもメリットがあるものでないと意味がない。
更に独自ライブラリ自体に使わせるほどの魅力を持たせるのは難しいから
普及しているもののサブセットを実装するのが現実的。

JavaはSunが権利を握ってサードパーティーが独自に動きにくい現状では
.NETがもっともそれに近い位置にある。
MSがJavaの当て付けにECMAに提出してMonoが頑張ったのが大きい。
0026Be名無しさん
垢版 |
NGNG
マジレス。
他のOS資産の流用なんてみんな考えること。
OSASKはエミュレータOSを売りにして他のOS資産の流用を宣伝文句にしていたが
現状は「エミュレータOS」とは程遠いと思われ。
他の和製OSでも互換ライブラリとか箱庭環境とか試みはあったけど全て頓挫。
初期の段階からOS自体に実装していかないとダメだろうね。
その意味ではReactOSが最右翼か。
.NETに限定した互換だと抽象度が高いしMonoの資産があるので
ReactOSよりも手に届く位置にあるとは思う。

あと>>25はいまいちです。50点
0027Be名無しさん
垢版 |
NGNG
OSを作ろうpart10より経緯を抜粋

951 名前: Be名無しさん 投稿日: 04/08/28 16:26
このスレの荒れようを見て新人が現れる事は期待できまい(藁

957 名前: Be名無しさん 投稿日: 04/08/29 00:44
>>951
作ってまつよ。
32bit保護モード、PE形式ロード、キーボード入力、800x600x24(32)フレームバッファの取得できました。
ついさっきマルチスレッドにできてちょっと嬉しかったです。
何書き込めばいいからよく分かんないし、まだ一人でコツコツやってたいのでひきこもりしてるんですが、なんか書く?
Monaコードには非常にお世話になってるから何か恩返しできればしたい。

958 名前: Be名無しさん 投稿日: 04/08/29 00:50
>>957
次からは君が主役だ!
とりあえず次スレ建てて乗っ取っちゃっていいよ。
出来るならね。(w

959 名前: Be名無しさん 投稿日: 04/08/29 00:56
>>957
Monaのどんなとこがどんな風に役立ったかを書いてるだけでも充分に恩返しになると思う
0028Be名無しさん
垢版 |
NGNG
962 名前: Be名無しさん 投稿日: 04/08/29 03:51
>>957
タスクスイッチやタスクスケジューラ部分はMonaと同じ?少しアレンジしてみたとか?
もう少し語って。

963 名前: Be名無しさん 投稿日: 04/08/29 05:04
>>962
多分全然違います。そこらへんは全く参考にしてないので。
タスクはいまのところ全く扱っていません。全部スレッド。
メモリ空間も物理メモリまんまです。
とりあえずはメモリ関係よりキーボードとかFDCのが問題・・・。
キーボードはCマガと同じようにしてるんですが、実機で動かすとスキャンコードがKBバッファに残ったままになっちゃう。うーん。

964 名前: Be名無しさん [sage] 投稿日: 04/08/29 08:42
>>963
yukkyたんなの?

965 名前: 954 [sage] 投稿日: 04/08/29 09:49
>>963
ということは、殆どオリジナルっぽいってことですよね
というか次スレの中心人物にならない?
そりゃ煽られたり色々面倒な事もあると思いますけど・・・
0029Be名無しさん
垢版 |
NGNG
971 名前: Be名無しさん [sage] 投稿日: 04/08/29 15:49
>>964
yukkyさんではないです。

>>965
ちょっと事情があって、一番強調したい部分についてはしばらく公開できなさそうなので
それまで(あと3ヶ月ちょいかな)まったりやっていいんならてくてく書き込みしようかな。

別にスレの中心になるつもりはないかな〜。
OSって起動だけなら割と簡単ぽいので、いろんな人にチャレンジして欲しいし、
そういうときにこのスレッドはなるべく自由に書き込めた方がいいかなと思うから。

976 名前: Be名無しさん [sage] 投稿日: 04/08/29 17:01
>>971
やりやすいようにすればいいよ
がんばってねー

977 名前: Be名無しさん [sage] 投稿日: 04/08/29 19:02
>>976 ありがとー
0030Be名無しさん
垢版 |
NGNG
>ちょっと事情があって、一番強調したい部分についてはしばらく公開できなさそうなので
>それまで(あと3ヶ月ちょいかな)まったりやっていいんならてくてく書き込みしようかな。
なるほど、こういうこと(未踏、CLIなど)だったのですね。

作ろうスレでMonaの立ち回りに関するレスがありましたが
匿名を通すために未踏に申請なんかできませんし、
MonaにもMona.NETとか似たような構想はあったみたいですが
遊びで本気には見えないし公認プロジェクトですらないですから、
そういう差が超えられない壁になっているように見受けられます。
0031Be名無しさん
垢版 |
NGNG
>>30
957たんはWin32環境の作業に必要な知識は一通りマスターしているように見える。
技術的に可能な範囲を見極めてスマートに作業を進める実力はあるようだから、
人に聞きながら試行錯誤暗中模索のひげぽん氏とは同列には比べられないだろう。
デバイス制御とかに苦労してるみたいだけど畑違いというだけのことだし。
0032Be名無しさん
垢版 |
NGNG
>>17
未踏後の位置付けが微妙なのは確かだと思います。
商用で活路が見出せるのであれば他人がとやかく言うことではありませんが、
そうでない場合は持ち腐れになってしまうのではないかと危惧します。
かと言って営利無しでクローズなまま他人を巻き込んで発展していくのは厳しいでしょう。
そうなると記憶の片隅にでも留めて貰うためにはオープンソース化は避けられなくなりそうです。

いずれにしても今は未踏の範囲で成果を出すことに集中するのが第一で、
その後に考えれば良い事ではありますけど。
0033Be名無しさん
垢版 |
NGNG
>>31
泥沼を必至でかいくぐって来た卑下を生暖かくヲチしてたから
そういう要領の良さが目に付くんだろ
0034Be名無しさん
垢版 |
NGNG
卑下の場合は自爆っぽいからなぁ
自分からわざわざ面倒な方向に突っ込んで行ったりとか
0035957
垢版 |
NGNG
>>23
ありがとうございます。

>>24
理想を言えば、ReactOSみたいにWinのアプリを動かすとすごいんですけどね〜。
MSの.NET考えた人と、Monoの人たちには本当に感謝しています。
0037957
垢版 |
NGNG
>>30
そうです。
未踏に出したあとで類似のが発表されると、主観的にはいいんですけど、ちょっと立場が無いかなと思いました。
でも未踏はあくまでおまけです。未踏に採択されてもされなくてもPonytailは作っていたと思います。

Mona.NETの作者の方は結構すごいと感じました。
てっきりildasmとか掛けるのかと思っていたら、アセンブリ解析してたんですね。
今後C#で記述されたローダが必要になるので、PEAnalyzerLibの利用を検討してたりしました。

>>31
デバイスはOSはじめるまでノータッチでしたから…。
「Win使えばドライバあるじゃん」という典型的なWin派の思考w
Linuxも使えることは使えますが、メインはWinですね。
0038Be名無しさん
垢版 |
NGNG
>>36
MonaはMIT/Xなので流用分は隠しもオッケー
MonoもクラスライブラリもMIT/Xなので流用分は隠してもオッケー

MonoのコンパイラとVMはGPLだけど
セルフコンパイルしないからコンパイラは関係ないし
ランタイムは独自実装らしいからVMも関係ない

MonaはGPLだったのがパクリ上等だろって横槍でMIT/Xに変更されたし
MonoのクラスライブラリもLGPLだったのがインテルの横槍でMIT/Xになった
0039957
垢版 |
NGNG
>>32
一番危険なのは就職して時間がなくなってしまったときですね。
そのときはオープンにしようか……まあ悩んでます。

どちらにしろ、名声とかお金のためにやっているわけではないので、
今はまだ自分だけのOSにしたいという気持ちがあります。

>>36
MonoはコンパイラがGPLでランタイムはLGPLなんですが、
クラスライブラリはMIT X11っぽいので隠しても平気…なはず。

どっちにしろクラスライブラリには一切手を加えてないので隠すモノもないです。
Monoをダウンロードしてmscorlib.dllをビルドすれば、それをPonytailで使えます。

総じて、オープンソースを利用させていただいて、もし改良するようなことがあれば
その部分はきちんとコードなりノウハウを公開することで恩返しをしたいと考えています。
0040Be名無しさん
垢版 |
NGNG
>>38
パクりたければ勝手にパクれば?ってときにMIT/Xに変更されることが多いなあ。
そういえばMesaもLGPLからMIT/Xに変更されたっけ。
これは確かXFree86-4へのマージのためだったからパクりとは関係ないけど。
逆にWineは独自ライセンスからMIT/Xにしてパクり上等みたいに構えてたら、
企業が勝手に細かい修正をしたのを使ってフィードバックしないのに切れてLGPLになった。
0041Be名無しさん
垢版 |
NGNG
で。
Poneytail使うと他の.NET環境と比較してどんなメリットがある予定なの?
そこが採択のポイントかと。
0042Be名無しさん
垢版 |
NGNG
>>39
>一番危険なのは就職して時間がなくなってしまったときですね。
これはひげぽん氏を見ればわかるように最大の問題ですね。

>そのときはオープンにしようか……まあ悩んでます。
自分の作ったものが飯の種になれば一番良いのですけどね。
うまくベンチャー設立に結び付いたりとか。

>どちらにしろ、名声とかお金のためにやっているわけではないので、
素晴らしいです。

でも稼がないと生きていけないのが現実の厳しさです。
就職するとどうしても仕事が中心になってしまいますし、
自分のやりたいことでベンチャーを成功させるのは並大抵ではないですから。

>今はまだ自分だけのOSにしたいという気持ちがあります。
そうですね。
・船頭多くして船山に上る
なんてことになったら本末転倒ですから。
0043Be名無しさん
垢版 |
NGNG
>>42
>・船頭多くして船山に上る
Monaがまさにそれっぽい
色んな人が色んなものを持ち寄ってくる
取り込んだものも卑下が消化して取り込むわけじゃないから
後で混乱の元になったりする

かと言って卑下一人でも迷走してしまうから
寄せ集めが悪いかというとそうでもないのが困ったちゃん

もっとも実力とか性格とかに起因してるから一般化できないんだけども
0045957
垢版 |
NGNG
Ponytailにあるもっとも大きなメリットは、ほぼ.NET言語とC言語との違いです。
それらの言語間にある数々の隔たりは説明するまでもないと思います。

他の.NET環境、この場合はWinを想定します、との違いは、
・プロセス境界の有無
・プロセス特権レベル
・メモリ管理機構
・セキュリティ
が大きく違います。
0046Be名無しさん
垢版 |
NGNG
なんか大物動く?
ところで957氏,小手半にしたらどうだ?
0047957
垢版 |
NGNG
>>45>>41さんへのレスです。続き。

プロセス境界はありませんので、たとえばnew FileStream()を他のプロセスにそのまま渡せます。
すべてのプロセスがRing 0なので、コンテキスト切り替えコストがとても減ります。
メモリはすべてGCです。これはなかなかシビアなので一概に利点ではないかもしれません。
セキュリティは例外とセキュリティ機構に分けられます。
たとえばバッファオーバーフローのたぐいはなくなりますよね。
0051957
垢版 |
NGNG
>>44,46
IO周りを全然詰めていないのでたぶんほぼ動きません。
まだ "application" を動かせる段階ではないです。
公開のためにとりあえず標準出力だけ作ったという感じなので。

ただ、Managed C++ を使うとインラインアセンブラを書けますので、
頑張れば独自OSを起動できたりしますがw
#この特徴を使ってドライバ書く予定です。
0053957 ◆Id1gMYGA52
垢版 |
NGNG
>>51
トリップくらいは付けたら?
>>49みたいに他人になりすまされて滅茶苦茶書かれるよ?

ひょっとしてトリップのことを知らない?
名前の後に
#適当な文字列(8文字まで)
をつけると一方向ハッシュされて表示される。
「適当な文字列」を見破られない限り他人になりすまされなくなる。

例: 957#ponytail
このレスの名前欄にそう入れたから見てみてね
もちろんこんなのだとすぐバレるからダメだけど

ちなみにハッシュの算出方法はこんな感じ
$key = "ponytail";
$salt = substr($key . "H.", 1, 2);
$salt =~ s/[^\.-z]/\./go;
$salt =~ tr/:;<=>?@[\\]^_`/ABCDEFGabcdef/;
print substr(crypt($key, $salt), -10);
0054957 ◆KhjEefLZMk
垢版 |
NGNG
PCが突然起動しなくなってびっくり。

>>50>>52>>53
>>49さんくらいはブラックジョークとして笑えましたが、
おっしゃるように付けておくことにしますね。
あとでサイトにも掲載しておきます。
0056957 ◆KhjEefLZMk
垢版 |
NGNG
>>48
どんなコメントを求められているのでしょう?w
ま、荒らしにならない程度なら許容するのが2chでしょうね〜。
0060Be名無しさん
垢版 |
NGNG
もしかして,最初はCLIOSにするつもりだった?
stringsして発見
0063957
垢版 |
NGNG
>>60
ぉ、するどいですね〜。
開発するときのコードは今でも clios です。cli + os ですね。
ただ、あまりにそのまんまのわりには、覚えてもらいやすいとかそういったメリットがないなあと。
Ponytailは今度はあまりに脈絡なさ過ぎるだろうと思うので微妙なんですよね〜。
名前って難しい。。。

>>62
そそ。他にはクリオネにも似てますよね。
0065Be名無しさん
垢版 |
NGNG
MonoってManaged C++サポートしてたっけ?
MonoとMSの.netで動く大物アプリってある?
0066Be名無しさん
垢版 |
NGNG
>>51
>ただ、Managed C++ を使うとインラインアセンブラを書けますので、
>頑張れば独自OSを起動できたりしますがw
↑と
>>65
>MonoってManaged C++サポートしてたっけ?
↑の絡みが気になる。
0068Be名無しさん
垢版 |
NGNG
>>67
Monaスレ読んだけど誰がMacでデバドラ書こうとしてるんだ?
脈絡がさっぱり分からないぞ。
Managed C++でデバドラを書こうとしているのは957でMonaともMacとも関係ない。

Monaスレの話は
1. 卑下がMacMiniに興味を持ったという話(買うと決まったわけではない)
2. G3に興味を持った無関係の第三者の話
3. secondbootをC#で書いたらMacでコンパイルできるのかという話
がごっちゃになってるけどドライバの話もManaged C++の話も出てはいない。

もちろんMonoでManaged C++をコンパイルすることは無理。
WindowsでコンパイルしたManaged C++のバイナリがMonoで動くかなんて試したことないけど無理でしょ。
0069Be名無しさん
垢版 |
NGNG
>>65
>MonoってManaged C++サポートしてたっけ?
してない。

>MonoとMSの.netで動く大物アプリってある?
Windows FormsのGUIアプリだとMono側の対応が不完全なので
大物小物に限らずまともに動かない。
でもWindows Formsを使わなければ結構実用的に動く。
現状のMonoはCUIアプリとWebアプリのためのもの。
GUIはGTK#推奨だがWindowsで動かそうとすると厄介なので論外。
0070Be名無しさん
垢版 |
NGNG
MonoがManaged C++をサポートしてないとなると
やっぱり>>51の↓の部分が気になる
>ただ、Managed C++ を使うとインラインアセンブラを書けますので、
>頑張れば独自OSを起動できたりしますがw
0071Be名無しさん
垢版 |
NGNG
リングゼロで動いてメモリを共有できるからって いうじゃなぁい

それって カーネルモードで動いてプロセス空間分離できてないってことですから!!

それってただのIPLじゃんぎりっ!!
0072Be名無しさん
垢版 |
NGNG
なんだまんまとC#にだまされたよ。。。

よくこれで未踏通ったな。
未踏の連中はあほばっかりだな。
0073Be名無しさん
垢版 |
NGNG
また税金がどぶに捨てられていくな・・・。
ひどい話だ。

0074Be名無しさん
垢版 |
NGNG
>>71
資源管理できればOS名乗ってもいいと思うがのう。
その理屈では携帯なんかもIPLだけで動いてることになってしまふ。
0075957 ◆KhjEefLZMk
垢版 |
NGNG
>>70

まあサンプルですけど。

__gc class MyOS {
static void f() {
for(;;) __asm { hlt }
}
public:
static void Main() {
f();
}}

これが合法なので。頑張ればなんでもできます。
0076957 ◆KhjEefLZMk
垢版 |
NGNG
>>71
IPLOSって名称もいいなあとか思いました(笑

アドレス空間分離は、アドレス空間分離機能があったからプロセス保護に使ったのではありません。
プロセスを保護するために、アドレス空間分離という手法があります。
特権レベルにしても同じことです。
機能を使うために目的を作り出すのはあまり賢くないと思います。

>>72>>73
うーん、この開発は僕にとってはとても難しいと考えたので、未踏性はそれなりにあると思っています。
でも他の人にしてみたらもしかしたら簡単で、未踏性はないのかもしれません。

ただ、JavaOSも同じ原理なんです。アドレス空間とか。
Sunの技術者陣が数年をかけたプロジェクトを、一朝一夕でできるというのは事実誤認だと思います。
0077957 ◆KhjEefLZMk
垢版 |
NGNG
保護に関してはせっかくなのでもう少し説明します。

アドレス空間の分離はページングとかにも使ってますが、保護という観点から言えば
「他のプロセスのメモリの参照を禁止する」という機能です。

さて、C#ではポインタがないので、原理的に自由なアドレス位置の参照が出来ません。
ですから他のプロセスのアドレスを参照しようにも、そういうプログラムを書くことすら出来ない(※)のです。
なので、C#で保護を理由にアドレス空間の分離をする必要はないということになります。

特権モードも、所詮はI/Oと命令の制限ですので、同じことが言えます。

以上より、PonytailではWinやLinuxと違い、保護機構を無効にした状態でも同じ品質を出せる可能性があり、
その場合には(オプティマイザとかの性能で負けまくりですが理論的には)Winとかより高い性能が出せます。

これって開発する価値はある……と思わないかなあ?
ま、僕は思ったので作り始めてみたってわけです。
0078957 ◆KhjEefLZMk
垢版 |
NGNG
追記

※にしたのは、アセンブラで書けるって言うのと矛盾するからです。
OSとしてアプリにアセンブラを許すとセキュリティホールになってしまうからです。
これについては、完成段階になるときに「ドライバや許されたプログラム以外機械語の実行を禁止する」というポリシーになります。

これはWinにおける.NETのセキュリティポリシーとも似ていますので、十分妥当だと考えています。
0079Be名無しさん
垢版 |
NGNG
必死だな。よっぽど痛いところをつかれたんだろうけど。
もうおそいよ。。

未踏の連中も気づくよ
0080Be名無しさん
垢版 |
NGNG
>>45, 47
レスありがと。
つまりは、実行が速いということでよいのか?
Winと比較すると、ネイティブアプリが一切実行できないかわりに、
CLIの実行に限ればより高速だ、ということでいいんだよね?
プロセス境界とか特権レベルとかメモリ管理とかは、
高速化のための手段と理解すればいいわけだ。
で、見込みとしては、どれくらい速くなりそうなの?10%くらい?

それと、動機にも興味がある。
高速に動かしたいCLIアプリが手元にあったのかな?
0081Be名無しさん
垢版 |
NGNG
80=957
顔が真っ赤になるほどのばればれの自作自演ヤメレ
0082957 ◆KhjEefLZMk
垢版 |
NGNG
>>80
実行は速いはずです。実際にそういうOSがないので「はず」としか言えないのです。
もしかしたら局所性とかの問題で本格的なページングと併用した方が速いかもしれません。
Ponytailの未踏での目的の中には、そうした"はず"を確かめるための実証も含んでいます。

ネイティブは基本的には排除したいのですが、まあ、現実的には使えると速いので使えるようにはしておきます。
このとき、
・ドライバは常にネイティブ可
・アドミンはアプリでもネイティブ可
・ユーザは権限があれば可
・ネット経由プログラムは不可
とかになると思います。(これは未来予想図として捉えてください。運用問題は当面の目標ではありません。)

つづく
0083Be名無しさん
垢版 |
NGNG
OSASKは遅いといわれたセグメントをわんさと使い、
さらにリング切り替えにsysenterすら使ってないわけだが、
それでもあんなに軽い。
プロセス境界とか特権レベルってオーバヘッドほとんど無いような。
だから1%でも改善すれば、むしろ驚きかも。
未踏の成果発表の際には是非ベンチを頼むよ。
しかし、わずか1%のために新規にOS作る意味があるかというと、それは疑問。

OSASKにCLIエミュが載ったら、そっちのほうが速かったりしてな。
百年後かもしれんが。w
0084957 ◆KhjEefLZMk
垢版 |
NGNG
高速化の見込みは・・・ちょっとまだ分かりません。

さっきは実行は速いといいましたが、これは本当に対等の条件での話で、
実際には Ponytail 対 .NET Frmwk では、JITの性能がぜんぜん違います。

近年の中間言語モノの高速化はこれの進化が大きいので、
たとえ動作原理としては有利でもそういった理由により実際のアプリの動作は遅いと考えられます。

じゃあこれからずっと全然ダメかというとそうではなくて、
将来的にはJITをアドオンできる(ここに再利用性の高さが活きます)ようにしたりすれば、
オープンソースでの開発と同じような効果を得られるかもしれないとぼんやり思っています。

補足続く
0085957 ◆KhjEefLZMk
垢版 |
NGNG
>>83そのとおりです。

速度の話をしましたが、作り始めたときに遅そうなのは分かってたので、未踏の申請でもちゃんと説明してあります。
「遅そうだし、OSなんて未踏期間じゃ絶対完成しません。」て。

C#が使えるというのは(新規性はない)技術的な面白みの話です。
じゃあ社会的になにか役に立つのというところでセキュリティがあります。
これはまあ出来て完成して普及したあとの話なので詳しく書きませんが、
コンピュータシステムを安心して使うためにはやっぱり大切なことだと思います。

結局、Ponytail は実用とか普及を目的にはしていません。
誰もやっていないから、やってみれば新しいことが分かるかもって試みなんです。
0086957 ◆KhjEefLZMk
垢版 |
NGNG
あ、連投ごめんなさい。

実用・普及を目的としていないっていうのは、未踏期間みたいなスパンでの話です。
そのうち使いやすくなって普及したら嬉しいなあ〜とはもちろん思っています。
0088Be名無しさん
垢版 |
NGNG
おいおい。
高速化の見込みが分からないって、
じゃあなんのためにプロセス境界とか特権レベルが
特徴に挙がっているわけ?
ネイティブが作りにくくなるだけやん。
ネイティブ完全否定かと思えば、
共存できるみたいなことも言い出すし。

まさか最初にOS作成ありきで、
後から製作理由をぶち上げて、
それで仕様を決めているなんて事はないよね?

なにか既存のOSにはできないことがあって、
それをできるようにするために、
新規にOSを作るのがベストだと考えた、
というのが普通だと思うんだけど。

結局WinやMonoの劣化コピーではないか?
>>21を読んで思うのだが、既存のILを
Ponytailで動かす動機って何があるわけ?
他の独自OSはBTRONもBeOSもOSASKでさえも、
まず既存のOSにない価値を提案しているが?
0089957 ◆KhjEefLZMk
垢版 |
NGNG
>>88
既存のOSは、必要のために大抵「アドレス空間分離」と「特権レベル」を使っています。
Ponytailはそれらを使わずに同じ品質を得ようとしています。
これって特徴ですよね??

機械語実行は、WinでのドライバとかLinuxでのカーネルコンパイルと同じ扱いです。
必要があればそうした手段をとれますが、OSが冒される場合があるので使用場面は限定されます。

OS開発そのものは、まずOSありきですね。OSを作りたいからOSを作る。
いま、コンピュータで便利に作業したいからOSから作るという人がいますか??

こういったアイディアとか言うのは、順序論理ではないと思います。
AがBになりCになるのではなく、AとBがくっついてCになります。
書かれたような思考順序はビジネスでの考え方ですが、Ponytail はビジネスではありません。

OSASKを何度も挙げられていますが、僕はOSASKをよく知りません。
具体的に、Windowsユーザが今できないけどOSASKを使うと出来ることは何か、ぜひ教えて頂きたいです。

開発動機は面白そうだからです。世界で誰かやってるかなーと思ったら誰もやってないみたいだし。
これではいけませんか?
なにか崇高な動機を持ったOSをお探しなら、
残念ですが Ponytail は期待には添えないと思います。
0090957 ◆KhjEefLZMk
垢版 |
NGNG
追記。

>結局WinやMonoの劣化コピーではないか?

C#を実行するアプローチが異なるので、どうやってもWinのアーキテクチャのコピーは出来ません。
それをふまえた上で、ユーザが出来ることが変わらない、という意味の劣化コピーという表現なら、まさにその通りです。
Ponytail で Windows と同じことができるなんて夢のようです。そうなればたくさんの人に使ってもらえそうですしね。

>まさか最初にOS作成ありきで、 後から製作理由をぶち上げて、 それで仕様を決めているなんて事はないよね?

Cマガ読んでOS作りたくなったので、順序からいえばそうなりますね。

>>>21を読んで思うのだが、既存のILを Ponytailで動かす動機って何があるわけ?

これは、他のOSの開発者の方に「Linuxにあるソフトをわざわざ動かしてどうするわけ?」と訊いてみればよろしいかと。
0091Be名無しさん
垢版 |
NGNG
せんせー。
ぜんぶりんぐぜろなおーえすだとけつぜいでやるにあたいしないんですか?
009288
垢版 |
NGNG
> OSASKを何度も挙げられていますが、僕はOSASKをよく知りません。
> 具体的に、Windowsユーザが今できないけどOSASKを使うと出来ることは何か、ぜひ教えて頂きたいです。

俺がOSASKを引き合いに出したのは、>>21でOSASKが例示されていたからに過ぎない。
>>21がOSASKを引き合いに出したのは、おそらく>>18の影響だろう。

OSASKについてはここが客観的でまとまっていると思う。
ttp://www.ipa.go.jp/NBP/14nendo/14youth/mdata/2-3.htm

Winと比較だが、とにかく起動が早い。アプリが小さい。動作が軽い。
ロースペックPCやエミュではそれを強く実感できる。
ハイエンドでもこれがCPUのアイドル時間を増やして消費電力を抑えたり、
処理能力をさらに高めるという作者の言い分は説得力がある。

だからLinuxやWinのアプリをOSASKに移植してでも使いたいかと言われれば、
そういう場合もありうるとは思うよ。俺はそこまではやる気が無いがね。
0093Be名無しさん
垢版 |
NGNG
>開発動機は面白そうだからです。
Mona等のように個人またはグループで趣味として行うのは結構だが、未踏ソフトウェア創造事業を馬鹿にしているのか?
0094957 ◆KhjEefLZMk
垢版 |
NGNG
>>93
本当は答える必要を感じないのですが、未踏周りは回答も義務かなと思うので答えます。
未踏を馬鹿にしているわけではもちろんありません。どこをどう曲解すればそんなふうに思うのか謎すぎです。
0096Be名無しさん
垢版 |
NGNG
LinusだってなんでLinux作ったかと聞かれれば面白かったからと答えるでしょ。
それでなんでいかんのやら。
0097Be名無しさん
垢版 |
NGNG
>>94
未踏の責任は成果を出すことだろう?
言い方悪いけど、
2chでQ&Aに答えるためにIPAが金出してるわけじゃないかと。
0099Be名無しさん
垢版 |
NGNG
未踏の責任、新市場を切り拓くソフトウェアの開発を果たせるようにな。
開発楽しかったで終われば税金の無駄使いだからな。
レスを投稿する


ニューススポーツなんでも実況