- 1 名前:デフォルトの名無しさん [2005/10/09(日) 03:00:38 ]
- 次世代言語、インラインアセンブラも仕様レベルでサポートしているD言語でOSを作ろうというスレ。
D言語は文字列がnull終端でないのでその部分はC言語と互換性がありません。 またC++とは一切互換性がないので他のライブラリのクラスを使ったアプリを作るのは非常に面倒です。 なのでOSから作ってしまおうというプロジェクト。(単にgtkをD言語に移植すればいいだけというのは置いといて) ちなみに折れはブートローダーの作り方も分かりませんのでOSを作ろうの過去ログを見てる所 ■関連サイト MONAソースコード解析 tkralia.hp.infoseek.co.jp/mona/ Yamami-Open f38.aaa.livedoor.jp/~yamami/pukiwiki/pukiwiki.php?Yamami-Open ■関連スレ 【char[] str】 D言語 Part7 【str ~= "nullpo"】 pc8.2ch.net/test/read.cgi/tech/1122912733/ OSを作ろうpart12 pc8.2ch.net/test/read.cgi/os/1108836476/ OSを作ろうpart14 Mona専用 pc8.2ch.net/test/read.cgi/os/1127467365/
- 98 名前:デフォルトの名無しさん [2006/10/21(土) 17:20:41 ]
- あれじゃね?
C言語で書かれたソースをD言語に変換するツール作成すれば一発じゃね?
- 99 名前:デフォルトの名無しさん mailto:sage [2006/10/21(土) 20:00:57 ]
- >>97
> 組み込みOSでは基本的にC++特有な機能を使用しない 組み込みだとサイズ/速度のオーバヘッドがデカいからじゃないかなあ。
- 100 名前:FD [2006/10/21(土) 20:45:20 ]
- >>99さん
それもありますが、newなどメモリのどこに配置されるか分からないので、メモリの制限された世界では使いにくいのです。 OSカーネルになれば、メモリ管理はレガシーな方法とった方が安全だからです。 ただし、しっかりとメモリ管理された環境下であればC++特有の機能は作る側に利点があると思います。 「しっかりとメモリ管理された環境」ですからカーネルの基本的な領域には適用しにくいです。 例えばC++で記述されたというL4Ka-Pistachioのソースを参照すると、 APIの領域(外向きの顔)はC++ポイですが、内部制御はC++と言うよりC言語です。 C++の仕様自体にC言語仕様を含んでいるから当然なんでしょうけど・・・ >>98さん のいわれている通り非常に近い仕様ですから、可能だと思います。 カーネルでも基本的なところを製作後は、言語仕様に関係なく開発できるのがベストだと思います。 D言語が優れているところはC言語より柔軟であると言うところ、プリプロセッサ機能を搭載していたら、そのままD言語に移行できてしまいます。 なお、D言語でもいいですけど、日本でカーネルを再勉強できる機会は少ないです。 OSを作ると言う企画は面白いと思います。 まずは、簡単な部分から作らないといけませんね。 私も個人的に勉強したい領域です。
- 101 名前:デフォルトの名無しさん mailto:sage [2006/10/24(火) 01:34:37 ]
- >>100
>メモリ管理 Cよりは柔軟な罠。newはオーバーロード出来るもの。 コンパイラと人間で責任もって書けばいいだけなんだけどな。 ところで、このスレの元ネタでもあるMonaは知ってる? 元々はム板にあったんだけど、嵐に粘着されてOS板やsiberiaへ亡命しちゃった。 wiki.monaos.org/pukiwiki.php?FrontPage pc8.2ch.net/test/read.cgi/os/1138681234/ etc3.2ch.net/test/read.cgi/siberia/1136088527/
- 102 名前:デフォルトの名無しさん [2007/01/09(火) 06:23:10 ]
- がんばれ
- 103 名前:デフォルトの名無しさん mailto:sage [2007/01/11(木) 12:13:59 ]
- >>101
組込みはメモリの動的管理自体をやらないやつらが多い。 あらかじめ最大値を決めてそのサイズ分確保してる。
- 104 名前:デフォルトの名無しさん mailto:sage [2007/01/12(金) 00:46:07 ]
- 組み込みの場合、何よりも「落ちないことが保障できる」ことが重要だからな。
- 105 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 11:25:28 ]
- さらに言うと
「落ちても速やかに復帰して動き続ける」 だよな
- 106 名前:デフォルトの名無しさん mailto:sage [2007/06/29(金) 16:04:05 ]
- つーか組み込みは、やる事決まってるからだろ
- 107 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 23:37:40 ]
- MoNaじゃなくてBSDをDで再実装なら協力する。
- 108 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 23:47:03 ]
- >>101
ガベコレの問題が有って、今のガベコレ言語は、 帆にゃらら言語のアプリ→OSへのメモリ要求 帆にゃらら言語のアプリ→OSからもらったメモリをゴミ扱いにする 帆にゃらら言語のアプリのガベコレ→さっきゴミにしたメモリを再利用可能ににする ってな流れだけど、DでOSを書くと言うことはこのOSに頼んでる部分を書く必要が有って、 でも、DでOS書く訳で。と言うループに陥らないために OSのメモリ管理=D言語のメモリ管理という部分を設計してしまう必要が有るわけ。 手を抜こうと思えば、抜けるけども。
- 109 名前:デフォルトの名無しさん [2007/08/26(日) 07:07:10 ]
- /
- 110 名前:デフォルトの名無しさん mailto:sage [2007/08/26(日) 08:06:04 ]
- これって実は言語とかは全然関係なくて、
GC用ヒープがシステムメモリとして何百メガか確保されるだけでは? ただ、これだとアルゴリズムがコンカレントGCしか選択できないな。
- 111 名前:デフォルトの名無しさん [2007/09/06(木) 22:17:18 ]
- age
- 112 名前:デフォルトの名無しさん mailto:sage [2007/09/11(火) 22:09:02 ]
- 今のGCって論理アドレス空間で整頓してるんだよね?
カーネルだと物理アドレス空間を触ることになると思うんだけど、 そっちだとより効率的にメモリを整頓できたりするの?
- 113 名前:デフォルトの名無しさん mailto:sage [2007/09/16(日) 15:24:08 ]
- むしろ、このマルチコア時代には、1CPUを丸々メモリ管理に割り当ててもいいんじゃないかと思ってる。
- 114 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 00:36:29 ]
- >>113
それだとキャッシュ効率が悪過ぎる
- 115 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 12:49:14 ]
- >>62
初めて来たけどこれObjC組み込めるのか? 期待age
- 116 名前:デフォルトの名無しさん [2007/09/23(日) 12:50:31 ]
- sageてしまったorz
- 117 名前:デフォルトの名無しさん mailto:age [2007/12/05(水) 21:40:57 ]
- 保守
- 118 名前:デフォルトの名無しさん [2007/12/05(水) 22:05:50 ]
- そういや任天堂がC++のOS作ってたね。ライセンスは知らんが成果も発表してた気が。
任天堂なら作れるかも
- 119 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 09:36:12 ]
- C++のOSって既にあった気がするんだが
- 120 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 09:56:32 ]
- まさか Mona とか
- 121 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 09:59:43 ]
- 実装は知らんがインターフェースがC++だったのはBeOS
- 122 名前:デフォルトの名無しさん [2007/12/13(木) 15:55:27 ]
- Nintendo esだろ
- 123 名前:119 mailto:sage [2008/01/07(月) 14:54:13 ]
- >121
ああそれそれ。あくまでインターフェイスの話なのか、あれ。 ところで D で TRON ってどうよ、とかいう無茶振りをしてみるテスツ
- 124 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 20:34:20 ]
- 今更使い道はないんじゃない?
TRONの需用自体がITRONくらいで、そこにGCはヘビーかと。
- 125 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 21:39:57 ]
- 携帯でも Java なんだから gc がヘビーってこともない機器もあるかも
- 126 名前:デフォルトの名無しさん mailto:sage [2008/01/07(月) 22:19:55 ]
- そこであえて超漢字を
- 127 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 03:30:00 ]
- 携帯の Java は PC みたいに軽くないので、昔のBasicみたいにクラス作らないでかく
- 128 名前:デフォルトの名無しさん mailto:sage [2008/01/09(水) 21:18:23 ]
- Basicを引きあいに出さなくてもCでいいんじゃね?
- 129 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 10:53:23 ]
- >>125
そうでもない。 最近の携帯は、かなり軽いよ。 今、携帯Java(MIDP2.0)上でJavaベースのOS作ってるよ。 うまく行けば、このOSの上にJava2SE実装して、パソコン用のソフトも使えるようにしたいな。
- 130 名前:デフォルトの名無しさん mailto:2chan [2008/03/08(土) 13:36:06 ]
- www.geocities.jp/tor_park/Dlang/byte.html
- 131 名前:デフォルトの名無しさん [2008/04/15(火) 13:15:53 ]
- 結局OS作れませんでしたスレか
- 132 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 21:15:42 ]
- extjs.com/deploy/dev/examples/desktop/desktop.html [extjs.com] こういうのは?
- 133 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 01:22:36 ]
- pc11.2ch.net/test/read.cgi/cg/1046440380/116
|

|