- 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/
- 46 名前:デフォルトの名無しさん mailto:sage [2005/10/11(火) 22:21:59 ]
- >>41
D言語のためにC++を排除してC言語に固執する意味が分からん。 extern "C"にしておけばC++がC言語に比べて障害になることはない。 マングリング規則が違うからC++とD言語でクラスを混ぜることはできないが それを言ったらC言語にはクラス自体がないから悩まないだけだろ。
- 47 名前:デフォルトの名無しさん mailto:sage [2005/10/11(火) 23:27:03 ]
- >>41
メモリ管理とシステムコールとGCとか言っている時点でOSが必要でしょ。 ベースOSをMonaにしたら ttp://wiki.monaos.org/index.php?gdc でやってることと 全くかわらないでしょ。まずはサーバーとアプリを全部D言語にしてから カーネル周りのD言語化を考えたら? あとわざわざCにする理由がわからん。だったらMonaじゃなくAntOSとか他のOS使ったら?
- 48 名前:デフォルトの名無しさん mailto:sage [2005/10/11(火) 23:43:18 ]
- >>46
C言語で作成するのは、GCだとかのランタイム機能だけだろ。 あとは、すべてD言語で書くのだろう。 他言語で作成する必要があるGCだとかは、オブジェクト指向的な作りに出来ないだろう。 それなら、わざわざハマリどころの多いC++で、 苦労して作成する必要性はどこにもない。
- 49 名前:デフォルトの名無しさん mailto:sage [2005/10/11(火) 23:44:09 ]
- 自動的にガベコレを埋め込むDの仕様からして
OSになることはできないんじゃないのかい?
- 50 名前:デフォルトの名無しさん mailto:sage [2005/10/11(火) 23:46:35 ]
- DのガベージコレクタってDで書いあるんじゃないけ
- 51 名前:デフォルトの名無しさん mailto:sage [2005/10/11(火) 23:54:40 ]
- D言語とアセンブリ言語だけで全部記述出来るじゃん。
- 52 名前:デフォルトの名無しさん mailto:sage [2005/10/11(火) 23:57:08 ]
- >>48
> C言語で作成するのは、GCだとかのランタイム機能だけだろ。 ↓のことを指しているかと。 >>41 MonaのコアをCに書き換えて使うのもいいかな > 他言語で作成する必要があるGCだとかは、オブジェクト指向的な作りに出来ないだろう。 Monaでgcjのために用意されたGCはC++で書かれている。 >>49 アセンブリに埋め込まれるわけではない。 メモリ確保時に呼ばれる関数から適宜GCに振り分けてるだけ。 その関数をどう実装するかが肝。 面倒ならGCをやめてdeleteを書かせることすら可能。 D言語の優位性はGCだけではないから GCがないとD言語の意味がないとまでは思わない。 もちろんユーザーランドではなくカーネル限定なので誤解なきよう。
- 53 名前:デフォルトの名無しさん mailto:sage [2005/10/12(水) 11:36:57 ]
- >>50
正解 >>51 だと思う
- 54 名前:デフォルトの名無しさん mailto:sage [2005/10/12(水) 12:39:48 ]
- GD
- 55 名前:デフォルトの名無しさん mailto:sage [2005/10/13(木) 22:43:43 ]
- 1はとにかく手を動して、blogでも書いて経過を晒せ。
Monaの方はどんどん進んでるぞ。 ttp://wiki.monaos.org/index.php?gdc
- 56 名前:デフォルトの名無しさん mailto:sage [2005/10/14(金) 23:14:39 ]
- 1はOSとか言う前にDは一通り使いこなせてるのか?
glExcessの移植程度のことはできるんだろうな?
- 57 名前:デフォルトの名無しさん mailto:sage [2005/10/15(土) 15:24:48 ]
- ま た ネ タ か ! !
- 58 名前:デフォルトの名無しさん mailto:sage [2005/10/15(土) 16:19:21 ]
- 個人的にはLISPかSchemeで今風のOS作ってみて欲しい。
- 59 名前:デフォルトの名無しさん mailto:sage [2005/10/17(月) 02:20:17 ]
- >>41
リングじゃ無くて特権レベル0〜3だな 簡単にいうとx86は68000系のようにユーザーモード/カーネルモードの切替が2段階じゃなくて、特権レベル0〜3までの4段階持てる
- 60 名前:デフォルトの名無しさん mailto:sage [2005/10/17(月) 08:12:49 ]
- その特権レベルの事をリングって言うんだよボケ
- 61 名前:デフォルトの名無しさん mailto:sage [2005/10/17(月) 19:31:34 ]
- ああ、あれか、経産婦が避妊に使うやつか。
- 62 名前:デフォルトの名無しさん mailto:sage [2005/10/18(火) 20:58:24 ]
- >>3
心配しなくてもC++でも使えないから cc1plus: warning: command line option "-ffreestanding" is valid for C/ObjC but not for C++
- 63 名前:1 mailto:sage [2005/10/26(水) 18:03:01 ]
- 取り合えずage
- 64 名前:デフォルトの名無しさん mailto:sage [2005/10/26(水) 20:49:15 ]
- sageてるがな
- 65 名前:デフォルトの名無しさん mailto:sage [2005/12/11(日) 10:56:18 ]
- まったく進まんけどなんか期待
- 66 名前:デフォルトの名無しさん mailto:sage [2005/12/31(土) 21:22:07 ]
- 保守
- 67 名前:デフォルトの名無しさん [2006/01/02(月) 18:28:49 ]
- D ver.0.100!!!
- 68 名前:デフォルトの名無しさん [2006/01/02(月) 21:39:21 ]
- 全部Dで作ってこそ意味があるのでは?
- 69 名前:デフォルトの名無しさん [2006/01/07(土) 12:26:24 ]
- 保守
- 70 名前:デフォルトの名無しさん [2006/01/15(日) 03:02:35 ]
- 保守
- 71 名前:デフォルトの名無しさん [2006/01/15(日) 13:00:19 ]
- age
- 72 名前:デフォルトの名無しさん [2006/01/15(日) 17:00:32 ]
- 発想が逆だ。言語はOSというソフトの仕様を満たすための手段だ。
始めに言語ありきで話を進めたら言語に縛られた貧相なものしか出来ないぞ。 まずOSの仕様を考えて、それを作るために言語を新たに作るぐらいで なければいかんだろう。C言語だってそれで出来たんだしな。
- 73 名前:デフォルトの名無しさん [2006/01/15(日) 17:54:45 ]
- そう、C言語はUNIXを作るために生まれたんだ!
C++やJavaがいくら攻勢を見ようとも、未だに元祖Cが使われている理由がまさにこれ。
- 74 名前:デフォルトの名無しさん [2006/01/15(日) 19:53:57 ]
- これから作る新機能満載なOSにはそれを使えば簡単に書けるというような新たな言語が必要だ。
従来の殻を破るには根本から変えるしかない。第二の Linux や Windows を作りたいなら それでもいいが、そんな車輪の発明は誰も欲しがらないだろう。もっと根底から考え直さねば 駄目だ。
- 75 名前:デフォルトの名無しさん mailto:sage [2006/01/15(日) 20:20:50 ]
- JavaはJavaVMを作るために作られた訳だが
- 76 名前:デフォルトの名無しさん mailto:sage [2006/01/15(日) 21:53:33 ]
- _,、-‐‐'ー- 、,_ヽ_
/ ,、 -‐ ''"´;: ; ヽ / / ,、‐''"´´ ;: ;;`ヽ / (/ ,、-‐''"´´ _, ,丶 そおおおんあわけねええだろぉ? i (ゝ /, , 、ー''"、´ _ヽ | /'''_ー-<___, -'´ lー''"ノ ヽ. , へ、 _ 、 'l { `ヽ;ー-、-,ー‐,r''1 ; ;ヽ<''ヘ ヽー---‐'''""""" r、 iヽ ヽ' `' .|、 ,. | | {λヽ.ヽ ,,ソ ヽ-' t' __ノ ,______ \ゝ、iヽー '`ー'''`1´ ~ヽ、、、/~  ̄ ̄,~"= 、‐'''''ヽ `'ヘ.',ヽ , 、 { ,、- '´ / \ ヾ ヽ⌒ヽ ヽ { , ‐、_ / . | ゛‐-ー'.,!\\__ `ヽ. ,、 / `'´ , 、 / / | \ \゛、ー'>' ノrー' ´ | , / r; / / |\,_\ `""´r''| ト、 | | / i / | フ 丶、___ノヽ. |/ / / rヽ\ ( | ,ヘ | | ヽ \ ‖/ /
- 77 名前:デフォルトの名無しさん mailto:sage [2006/01/21(土) 00:36:42 ]
- 非チューリングマシンで動くOSきぼう
- 78 名前:デフォルトの名無しさん mailto:sage [2006/01/22(日) 16:58:25 ]
- このスレって、なにか成果があがることを期待していいんですか?
- 79 名前:デフォルトの名無しさん mailto:sage [2006/01/22(日) 21:24:24 ]
- D言語は当分完成しないみたいだからFreePascalで作って
- 80 名前:デフォルトの名無しさん mailto:sage [2006/01/24(火) 09:08:55 ]
- >>79
GCCにPASCALなかったっけ? あれじゃ駄目?
- 81 名前:デフォルトの名無しさん [2006/01/28(土) 20:12:04 ]
- やっぱりDだったのか。。。
- 82 名前:デフォルトの名無しさん [2006/02/15(水) 15:56:11 ]
- 保守
- 83 名前:デフォルトの名無しさん [2006/02/21(火) 23:45:08 ]
- 何故わざわざD言語なんだ?wwwww
- 84 名前:デフォルトの名無しさん [2006/04/09(日) 14:46:13 ]
- 保守
- 85 名前:デフォルトの名無しさん [2006/04/12(水) 00:10:33 ]
- 既存OSをD言語で作り変えることは、D言語の魅力/問題を洗い出すという目的において良い課題であると思うけどね。
- 86 名前:デフォルトの名無しさん mailto:sage [2006/04/12(水) 02:55:24 ]
- OSってどのレイヤーを指してるのかと思ったらカーネル作ろうっての?
マイクロカーネルなだけで遅いのにしかもD言語。 ライブラリ整備するほうが先でしょ
- 87 名前:デフォルトの名無しさん mailto:sage [2006/04/12(水) 12:32:20 ]
- ていうかDが1.0になるのが先w
- 88 名前:デフォルトの名無しさん mailto:sage [2006/04/27(木) 23:31:49 ]
- >>1はどうした?
Dの悲惨な現状を知って(僕は知らないけど)にげたか?
- 89 名前:デフォルトの名無しさん mailto:sage [2006/07/18(火) 00:40:55 ]
- age
- 90 名前:デフォルトの名無しさん [2006/10/02(月) 23:09:35 ]
- hage
- 91 名前:デフォルトの名無しさん mailto:sage [2006/10/03(火) 00:38:09 ]
- CP/M ++ → DQ/N
DQN-OS
- 92 名前:デフォルトの名無しさん mailto:sage [2006/10/03(火) 05:03:10 ]
- すげー
- 93 名前:デフォルトの名無しさん [2006/10/04(水) 02:55:51 ]
- D言語は、1.0がリリースされるよりも早くMSが買い取るかも。
MS-D コンパイラってね。 手厚いMS印のサポートが期待できる。
- 94 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 03:26:18 ]
- DotNETになるだけだろ
- 95 名前:デフォルトの名無しさん mailto:sage [2006/10/13(金) 01:36:30 ]
- IronD on .NET
- 96 名前:デフォルトの名無しさん [2006/10/14(土) 21:28:29 ]
- いきなりスケールのでかいスレタイでつね
- 97 名前:FD [2006/10/21(土) 16:18:40 ]
- D言語でOS作成ですか?面白い課題だと思います。
クラスを使用しなければ、C言語を少し柔軟にした言語使用なので、極端難しくないです。 参考するなら、C言語で書かれたOSソースを、D言語のプリプロセッサ機能を削除したソースへ置き換えることからはじめるのですかね? 組み込みOSでは基本的にC++特有な機能を使用しないのが一般的です。 コメントだけC++で中身C言語と言うものをよく見かけましたが・・・
- 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
|

|