- 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/
- 2 名前:デフォルトの名無しさん mailto:sage [2005/10/09(日) 03:06:14 ]
- >>2
華麗に 2get
- 3 名前:デフォルトの名無しさん mailto:sage [2005/10/09(日) 03:35:34 ]
- Bochs
bochs.sourceforge.net/ Higepos(Monaの古いコード?) cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/higepos/higepos/src/ リンカオプション pc3.2ch.net/tech/kako/1024/10244/1024411711.html 678〜 >ld -Ttext 0x100000 --oformat binary -o >ld -o xxx -Ttext 0x0 -e main xxxx.o コンパイラオプション pc3.2ch.net/tech/kako/1027/10270/1027080631.html >gcc -c -ffreestanding -Wall kernel.c >strip --output-target=binary kernel.o D言語に-ffreestanding相当の物はあるのか? まぁ無くてもC言語でD言語のD_main辺りを呼ぶブリッジを作成すれば出来そう。
- 4 名前:デフォルトの名無しさん [2005/10/09(日) 03:39:38 ]
- D自体微妙なのに。
- 5 名前:デフォルトの名無しさん mailto:sage [2005/10/09(日) 03:57:44 ]
- 微妙なの?
- 6 名前:デフォルトの名無しさん mailto:sage [2005/10/09(日) 04:07:00 ]
- リンカの順序について
pc3.2ch.net/tech/kako/1027/10270/1027080631.html 100辺り〜 >リンカスクリプトで、コードセグメントを先頭に持っていく C++のnew/deleteについて pc3.2ch.net/tech/kako/1027/10270/1027080631.html 157〜 D言語の場合…メモリ管理部分がどうなるんだろう…? メモリ管理部分を先に実装し後はクラス/GCを使っていきたいけどDコンパイラがどの程度依存してるのかその辺が分からない。 >>4-5 微妙ではないけどC言語との互換性の面からあまり使われていない。 C#やJAVAのネイティブ版って感じ。
- 7 名前:デフォルトの名無しさん mailto:sage [2005/10/09(日) 04:11:01 ]
- Phobosをどこで動かすんだろう
- 8 名前:デフォルトの名無しさん mailto:sage [2005/10/09(日) 04:20:53 ]
- ふむぅ…
アセンブラなりCなりC++なりで書かれたマイクロカーネルなOSをベースにサブシステムをD言語で作るというのが現実的っぽい。(ってよりも個人的にそれで満足だけど) どのマイクロカーネルを元にするのがいいか、その場合のDコンパイラやPhobosをどのぐらいごにょる必要があるかを考えた方がいいのかな。
- 9 名前:デフォルトの名無しさん [2005/10/09(日) 04:22:46 ]
- そういや、最近触ってなかったんだけど、D言語って仕様は安定したの?
(まだ正式版(1.0)もリリースされていないみたいだけどさ)
- 10 名前:デフォルトの名無しさん mailto:sage [2005/10/09(日) 04:24:44 ]
- 普及してないだけか。
- 11 名前:デフォルトの名無しさん mailto:sage [2005/10/09(日) 04:36:38 ]
- 所詮シェアウェア厨のオナニー言語ですから
- 12 名前:デフォルトの名無しさん mailto:sage [2005/10/09(日) 04:50:38 ]
- マイクロカーネルで有名な物はMachとL4があると。
L4をベースにして見たいけどまだ検討中。
- 13 名前:デフォルトの名無しさん [2005/10/09(日) 05:00:17 ]
- VB6しかやったことないけど、おれも協力するよ!
- 14 名前:デフォルトの名無しさん mailto:sage [2005/10/09(日) 05:02:50 ]
- >>13
D言語とcygwinが使えるなら大歓迎さ!
- 15 名前:デフォルトの名無しさん mailto:sage [2005/10/09(日) 05:17:50 ]
- サービスをユーザーモードで走らせるかカーネルモードで走らせるか
ユーザーモードだとスピードが落ちるらしい。 カーネルモードはメモリ保護機構がないため危険。 だけどD言語だったらサービス自体もカーネルモードで大丈夫な気がする。(変な事しなければいいんだし…) 後はソースを見てどこからとっかかる and 調べるかだな…
- 16 名前:デフォルトの名無しさん [2005/10/09(日) 08:27:29 ]
- OSがGCを実装してアプリはメモリ使いまくりがDの理想らしいじゃん
OSがGCサポートしてればDはいらん
- 17 名前:13 [2005/10/09(日) 10:23:51 ]
- >>14
VBしかできねーっていってんだろ。なめてんのか、あぁ?
- 18 名前:デフォルトの名無しさん mailto:sage [2005/10/09(日) 11:20:45 ]
- VBでOS?
- 19 名前:デフォルトの名無しさん mailto:sage [2005/10/09(日) 12:31:09 ]
- VBでVBのコンパイラを書いて、VBで出来たカーネルコードを(ry
- 20 名前:13 [2005/10/09(日) 12:36:43 ]
- >>19
うっせーばーか ウシャシャシャシャシャ
- 21 名前:デフォルトの名無しさん mailto:sage [2005/10/09(日) 14:26:27 ]
- とりあえず何を作るの?
- 22 名前:デフォルトの名無しさん mailto:sage [2005/10/09(日) 14:44:40 ]
- 100 REM BASIC デ OS
110 PRINT "KawaisOS Ver.-1 (´・ω・)" 120 INPUT "C> "; A$ 130 PRINT "コマンドまたはファイル名が違います." 140 GOTO 120
- 23 名前:デフォルトの名無しさん mailto:sage [2005/10/09(日) 15:40:20 ]
- >>21
1.GCを動くようにする 2.D言語で下位互換性無視してクラスでいろいろ実装 ってかマイクロカーネルを使ってモノリシックカーネルを作ればGCも簡単に動くであろう…と思うんだけど 後、プログラムが動く上で必要なGCは一つだけなんだから(ry 取り合えず暇な時にマイクロカーネルのソースを読もうと思います。
- 24 名前:デフォルトの名無しさん mailto:sage [2005/10/09(日) 17:25:14 ]
- ひげぽんは最初JavaでOSを作ろうとしたみたいだよ。
今頃になってJavaをネイティブコンパイルしてMonaを書き換える動きが出てきたけど ひげぽんは興味がないみたいだね。
- 25 名前:デフォルトの名無しさん mailto:sage [2005/10/09(日) 17:26:33 ]
- >>11
それはひげぽんが師匠と仰ぐ屋根裏のことか?
- 26 名前:デフォルトの名無しさん mailto:sage [2005/10/09(日) 17:44:12 ]
- >>19
絵空事前提で書いてるみたいだけどやろうと思えばできることだから。 ttp://nienie.com/~masapico/doc_MakeExe.html
- 27 名前:デフォルトの名無しさん mailto:sage [2005/10/09(日) 20:37:45 ]
- 最終的に機械語なりアセンブリ言語なりを吐くことさえできれば、
何のプログラミング言語でも*理論上*は可能。
- 28 名前:デフォルトの名無しさん mailto:sage [2005/10/09(日) 21:17:48 ]
- 作成する本人に言語処理系を作成する能力があれば、普通にどんな言語でも出来るだろ。
HSP、なでしこ、その他何でもOKだろ。
- 29 名前:デフォルトの名無しさん [2005/10/09(日) 21:30:59 ]
- MonaOSを移植するの?
それとも、完全オリジナルのOSを造るの?
- 30 名前:デフォルトの名無しさん mailto:sage [2005/10/09(日) 22:24:51 ]
- >>27
ダウト
- 31 名前:デフォルトの名無しさん mailto:sage [2005/10/09(日) 23:00:10 ]
- 言い方が悪かったな。
極論すればファイル入出力と文字列処理ができる言語であれば良い。
- 32 名前:デフォルトの名無しさん mailto:sage [2005/10/10(月) 03:04:31 ]
- D言語いいんだけど、>>9が言うように正式版が無いってのが不安。
処理系の変化にどこまで追従するのか。 GCとスレッド周りの扱いさえ決めれば問題無く使えると思うよ。
- 33 名前:デフォルトの名無しさん [2005/10/10(月) 12:41:28 ]
- 俺が新しい言語Φを作ろうと思っているんだが誰か乗らないか?
- 34 名前:デフォルトの名無しさん mailto:sage [2005/10/10(月) 12:59:08 ]
- >>33
まんこ?
- 35 名前:デフォルトの名無しさん mailto:sage [2005/10/10(月) 13:10:32 ]
- >>15
ここでいっその事x86アーキテクチャ全開でリング1〜リング4を使い切るというのはどうだ?
- 36 名前:デフォルトの名無しさん mailto:sage [2005/10/10(月) 13:23:53 ]
- Dで作ったOS
↓ D+OS ↓ DOS
- 37 名前:デフォルトの名無しさん mailto:sage [2005/10/10(月) 14:37:39 ]
- どうせならマルチCPUを使い切る言語きぼんぬ
- 38 名前:デフォルトの名無しさん [2005/10/10(月) 15:18:22 ]
- とりあえず>>1はトリップつけて、サイトを立ち上げてくらはい。
- 39 名前:デフォルトの名無しさん mailto:sage [2005/10/10(月) 17:09:54 ]
- >>1はD言語の糞GC仕様を知ってて言ってるのかねえ
- 40 名前:デフォルトの名無しさん mailto:sage [2005/10/10(月) 20:53:14 ]
- さっそく真似されとるな
ttp://wiki.monaos.org/index.php?gdc
- 41 名前:デフォルトの名無しさん mailto:sage [2005/10/11(火) 01:21:58 ]
- >>16
いっその事CPUに(ぇ >>29 マイクロカーネルのMachやL4をベースに作成したいなと思ってます。 マイクロカーネルにするかモノリシックカーネルにするかは未定。 D言語の為のD言語によるOSを目指しD言語を対応する部分はC言語で書く。(メモリ管理とシステムコール、GC) ただMonaの方が日本語の文章が多いのでMonaのコアをCに書き換えて使うのもいいかなとも思ってます。 >>35 リングってなんですか? >>39 GCの仕様と問題点はある程度理解してるつもりです。 が、理想としてはOS側でGCの機能を持たせてしまえば無問題かと。(コンパイラの変更、GCの移植からしなくてはならないので面倒ですが) ただ実装時にユーザーモードのメモリ領域とカーネルモードのメモリ領域とが問題になりそう。 システムコールを使いまくらなきゃいけなくなる気ガス。 #メモリー関係/システムコールを一から学んでる状態なので変な事言ってるかもしれない。 tkralia.hp.infoseek.co.jp/mona/mona1017/Memory.html tkralia.hp.infoseek.co.jp/mona/mona1017/Memory2.html mona.sourceforge.jp/document/syscall_8cpp-source.html >>38 作れるめどが立つまで名無しでいまつ。 >>40 向こうはMonaで動くアプリ/ライブラリだから微妙に違うかも…ってあんまりちがくも無いか。 俺の理想としてはアセンブラ->C->Dでは無くアセンブラ(メモリ管理とシステムコールとGCのみC言語で書く)->Dを目指したいです。
- 42 名前:デフォルトの名無しさん mailto:sage [2005/10/11(火) 03:11:38 ]
- Dにそこまで入り込むだけの価値なんてあるか?
- 43 名前:デフォルトの名無しさん mailto:sage [2005/10/11(火) 03:24:48 ]
-
そこにDがあるから。
- 44 名前:デフォルトの名無しさん mailto:sage [2005/10/11(火) 06:13:43 ]
- C#のOS -> CooS
D のOS -> DooS?
- 45 名前:デフォルトの名無しさん mailto:sage [2005/10/11(火) 09:11:40 ]
- >>44
>>36
- 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を作ると言う企画は面白いと思います。 まずは、簡単な部分から作らないといけませんね。 私も個人的に勉強したい領域です。
|

|