【次世代言語】D言語でOSを作ろう【Monaの移植?】
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2005/10/09(日) 03:00:38D言語は文字列がnull終端でないのでその部分はC言語と互換性がありません。
またC++とは一切互換性がないので他のライブラリのクラスを使ったアプリを作るのは非常に面倒です。
なのでOSから作ってしまおうというプロジェクト。(単にgtkをD言語に移植すればいいだけというのは置いといて)
ちなみに折れはブートローダーの作り方も分かりませんのでOSを作ろうの過去ログを見てる所
■関連サイト
MONAソースコード解析
http://tkralia.hp.infoseek.co.jp/mona/
Yamami-Open
http://f38.aaa.livedoor.jp/~yamami/pukiwiki/pukiwiki.php?Yamami-Open
■関連スレ
【char[] str】 D言語 Part7 【str ~= "nullpo"】
http://pc8.2ch.net/test/read.cgi/tech/1122912733/
OSを作ろうpart12
http://pc8.2ch.net/test/read.cgi/os/1108836476/
OSを作ろうpart14 Mona専用
http://pc8.2ch.net/test/read.cgi/os/1127467365/
0002デフォルトの名無しさん
2005/10/09(日) 03:06:14華麗に 2get
0003デフォルトの名無しさん
2005/10/09(日) 03:35:34http://bochs.sourceforge.net/
Higepos(Monaの古いコード?)
http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/higepos/higepos/src/
リンカオプション
http://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
コンパイラオプション
http://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辺りを呼ぶブリッジを作成すれば出来そう。
0004デフォルトの名無しさん
2005/10/09(日) 03:39:380005デフォルトの名無しさん
2005/10/09(日) 03:57:440006デフォルトの名無しさん
2005/10/09(日) 04:07:00http://pc3.2ch.net/tech/kako/1027/10270/1027080631.html
100辺り〜
>リンカスクリプトで、コードセグメントを先頭に持っていく
C++のnew/deleteについて
http://pc3.2ch.net/tech/kako/1027/10270/1027080631.html
157〜
D言語の場合…メモリ管理部分がどうなるんだろう…?
メモリ管理部分を先に実装し後はクラス/GCを使っていきたいけどDコンパイラがどの程度依存してるのかその辺が分からない。
>>4-5
微妙ではないけどC言語との互換性の面からあまり使われていない。
C#やJAVAのネイティブ版って感じ。
0007デフォルトの名無しさん
2005/10/09(日) 04:11:010008デフォルトの名無しさん
2005/10/09(日) 04:20:53アセンブラなりCなりC++なりで書かれたマイクロカーネルなOSをベースにサブシステムをD言語で作るというのが現実的っぽい。(ってよりも個人的にそれで満足だけど)
どのマイクロカーネルを元にするのがいいか、その場合のDコンパイラやPhobosをどのぐらいごにょる必要があるかを考えた方がいいのかな。
0009デフォルトの名無しさん
2005/10/09(日) 04:22:46(まだ正式版(1.0)もリリースされていないみたいだけどさ)
0010デフォルトの名無しさん
2005/10/09(日) 04:24:440011デフォルトの名無しさん
2005/10/09(日) 04:36:380012デフォルトの名無しさん
2005/10/09(日) 04:50:38L4をベースにして見たいけどまだ検討中。
0013デフォルトの名無しさん
2005/10/09(日) 05:00:170014デフォルトの名無しさん
2005/10/09(日) 05:02:50D言語とcygwinが使えるなら大歓迎さ!
0015デフォルトの名無しさん
2005/10/09(日) 05:17:50ユーザーモードだとスピードが落ちるらしい。
カーネルモードはメモリ保護機構がないため危険。
だけどD言語だったらサービス自体もカーネルモードで大丈夫な気がする。(変な事しなければいいんだし…)
後はソースを見てどこからとっかかる and 調べるかだな…
0016デフォルトの名無しさん
2005/10/09(日) 08:27:29OSがGCサポートしてればDはいらん
001713
2005/10/09(日) 10:23:51VBしかできねーっていってんだろ。なめてんのか、あぁ?
0018デフォルトの名無しさん
2005/10/09(日) 11:20:450019デフォルトの名無しさん
2005/10/09(日) 12:31:09002013
2005/10/09(日) 12:36:43うっせーばーか
ウシャシャシャシャシャ
0021デフォルトの名無しさん
2005/10/09(日) 14:26:270022デフォルトの名無しさん
2005/10/09(日) 14:44:40110 PRINT "KawaisOS Ver.-1 (´・ω・)"
120 INPUT "C> "; A$
130 PRINT "コマンドまたはファイル名が違います."
140 GOTO 120
0023デフォルトの名無しさん
2005/10/09(日) 15:40:201.GCを動くようにする
2.D言語で下位互換性無視してクラスでいろいろ実装
ってかマイクロカーネルを使ってモノリシックカーネルを作ればGCも簡単に動くであろう…と思うんだけど
後、プログラムが動く上で必要なGCは一つだけなんだから(ry
取り合えず暇な時にマイクロカーネルのソースを読もうと思います。
0024デフォルトの名無しさん
2005/10/09(日) 17:25:14今頃になってJavaをネイティブコンパイルしてMonaを書き換える動きが出てきたけど
ひげぽんは興味がないみたいだね。
0025デフォルトの名無しさん
2005/10/09(日) 17:26:33それはひげぽんが師匠と仰ぐ屋根裏のことか?
0026デフォルトの名無しさん
2005/10/09(日) 17:44:12絵空事前提で書いてるみたいだけどやろうと思えばできることだから。
ttp://nienie.com/~masapico/doc_MakeExe.html
0027デフォルトの名無しさん
2005/10/09(日) 20:37:45何のプログラミング言語でも*理論上*は可能。
0028デフォルトの名無しさん
2005/10/09(日) 21:17:48HSP、なでしこ、その他何でもOKだろ。
0029デフォルトの名無しさん
2005/10/09(日) 21:30:59それとも、完全オリジナルのOSを造るの?
0030デフォルトの名無しさん
2005/10/09(日) 22:24:51ダウト
0031デフォルトの名無しさん
2005/10/09(日) 23:00:10極論すればファイル入出力と文字列処理ができる言語であれば良い。
0032デフォルトの名無しさん
2005/10/10(月) 03:04:31処理系の変化にどこまで追従するのか。
GCとスレッド周りの扱いさえ決めれば問題無く使えると思うよ。
0033デフォルトの名無しさん
2005/10/10(月) 12:41:280034デフォルトの名無しさん
2005/10/10(月) 12:59:08まんこ?
0035デフォルトの名無しさん
2005/10/10(月) 13:10:32ここでいっその事x86アーキテクチャ全開でリング1〜リング4を使い切るというのはどうだ?
0036デフォルトの名無しさん
2005/10/10(月) 13:23:53↓
D+OS
↓
DOS
0037デフォルトの名無しさん
2005/10/10(月) 14:37:390038デフォルトの名無しさん
2005/10/10(月) 15:18:220039デフォルトの名無しさん
2005/10/10(月) 17:09:540040デフォルトの名無しさん
2005/10/10(月) 20:53:14ttp://wiki.monaos.org/index.php?gdc
0041デフォルトの名無しさん
2005/10/11(火) 01:21:58いっその事CPUに(ぇ
>>29
マイクロカーネルのMachやL4をベースに作成したいなと思ってます。
マイクロカーネルにするかモノリシックカーネルにするかは未定。
D言語の為のD言語によるOSを目指しD言語を対応する部分はC言語で書く。(メモリ管理とシステムコール、GC)
ただMonaの方が日本語の文章が多いのでMonaのコアをCに書き換えて使うのもいいかなとも思ってます。
>>35
リングってなんですか?
>>39
GCの仕様と問題点はある程度理解してるつもりです。
が、理想としてはOS側でGCの機能を持たせてしまえば無問題かと。(コンパイラの変更、GCの移植からしなくてはならないので面倒ですが)
ただ実装時にユーザーモードのメモリ領域とカーネルモードのメモリ領域とが問題になりそう。
システムコールを使いまくらなきゃいけなくなる気ガス。
#メモリー関係/システムコールを一から学んでる状態なので変な事言ってるかもしれない。
http://tkralia.hp.infoseek.co.jp/mona/mona1017/Memory.html
http://tkralia.hp.infoseek.co.jp/mona/mona1017/Memory2.html
http://mona.sourceforge.jp/document/syscall_8cpp-source.html
>>38
作れるめどが立つまで名無しでいまつ。
>>40
向こうはMonaで動くアプリ/ライブラリだから微妙に違うかも…ってあんまりちがくも無いか。
俺の理想としてはアセンブラ->C->Dでは無くアセンブラ(メモリ管理とシステムコールとGCのみC言語で書く)->Dを目指したいです。
0042デフォルトの名無しさん
2005/10/11(火) 03:11:380043デフォルトの名無しさん
2005/10/11(火) 03:24:48そこにDがあるから。
0044デフォルトの名無しさん
2005/10/11(火) 06:13:43D のOS -> DooS?
0045デフォルトの名無しさん
2005/10/11(火) 09:11:40>>36
0046デフォルトの名無しさん
2005/10/11(火) 22:21:59D言語のためにC++を排除してC言語に固執する意味が分からん。
extern "C"にしておけばC++がC言語に比べて障害になることはない。
マングリング規則が違うからC++とD言語でクラスを混ぜることはできないが
それを言ったらC言語にはクラス自体がないから悩まないだけだろ。
0047デフォルトの名無しさん
2005/10/11(火) 23:27:03メモリ管理とシステムコールとGCとか言っている時点でOSが必要でしょ。
ベースOSをMonaにしたら ttp://wiki.monaos.org/index.php?gdc でやってることと
全くかわらないでしょ。まずはサーバーとアプリを全部D言語にしてから
カーネル周りのD言語化を考えたら?
あとわざわざCにする理由がわからん。だったらMonaじゃなくAntOSとか他のOS使ったら?
0048デフォルトの名無しさん
2005/10/11(火) 23:43:18C言語で作成するのは、GCだとかのランタイム機能だけだろ。
あとは、すべてD言語で書くのだろう。
他言語で作成する必要があるGCだとかは、オブジェクト指向的な作りに出来ないだろう。
それなら、わざわざハマリどころの多いC++で、
苦労して作成する必要性はどこにもない。
0049デフォルトの名無しさん
2005/10/11(火) 23:44:09OSになることはできないんじゃないのかい?
0050デフォルトの名無しさん
2005/10/11(火) 23:46:350051デフォルトの名無しさん
2005/10/11(火) 23:54:400052デフォルトの名無しさん
2005/10/11(火) 23:57:08> C言語で作成するのは、GCだとかのランタイム機能だけだろ。
↓のことを指しているかと。
>>41 MonaのコアをCに書き換えて使うのもいいかな
> 他言語で作成する必要があるGCだとかは、オブジェクト指向的な作りに出来ないだろう。
Monaでgcjのために用意されたGCはC++で書かれている。
>>49
アセンブリに埋め込まれるわけではない。
メモリ確保時に呼ばれる関数から適宜GCに振り分けてるだけ。
その関数をどう実装するかが肝。
面倒ならGCをやめてdeleteを書かせることすら可能。
D言語の優位性はGCだけではないから
GCがないとD言語の意味がないとまでは思わない。
もちろんユーザーランドではなくカーネル限定なので誤解なきよう。
0053デフォルトの名無しさん
2005/10/12(水) 11:36:57正解
>>51
だと思う
0054デフォルトの名無しさん
2005/10/12(水) 12:39:480055デフォルトの名無しさん
2005/10/13(木) 22:43:43Monaの方はどんどん進んでるぞ。
ttp://wiki.monaos.org/index.php?gdc
0056デフォルトの名無しさん
2005/10/14(金) 23:14:39glExcessの移植程度のことはできるんだろうな?
0057デフォルトの名無しさん
2005/10/15(土) 15:24:480058デフォルトの名無しさん
2005/10/15(土) 16:19:210059デフォルトの名無しさん
2005/10/17(月) 02:20:17リングじゃ無くて特権レベル0〜3だな
簡単にいうとx86は68000系のようにユーザーモード/カーネルモードの切替が2段階じゃなくて、特権レベル0〜3までの4段階持てる
0060デフォルトの名無しさん
2005/10/17(月) 08:12:490061デフォルトの名無しさん
2005/10/17(月) 19:31:340062デフォルトの名無しさん
2005/10/18(火) 20:58:24心配しなくてもC++でも使えないから
cc1plus: warning: command line option "-ffreestanding" is valid for C/ObjC but not for C++
00631
2005/10/26(水) 18:03:010064デフォルトの名無しさん
2005/10/26(水) 20:49:150065デフォルトの名無しさん
2005/12/11(日) 10:56:180066デフォルトの名無しさん
2005/12/31(土) 21:22:070067デフォルトの名無しさん
2006/01/02(月) 18:28:490068デフォルトの名無しさん
2006/01/02(月) 21:39:210069デフォルトの名無しさん
2006/01/07(土) 12:26:240070デフォルトの名無しさん
2006/01/15(日) 03:02:350071デフォルトの名無しさん
2006/01/15(日) 13:00:190072デフォルトの名無しさん
2006/01/15(日) 17:00:32始めに言語ありきで話を進めたら言語に縛られた貧相なものしか出来ないぞ。
まずOSの仕様を考えて、それを作るために言語を新たに作るぐらいで
なければいかんだろう。C言語だってそれで出来たんだしな。
0073デフォルトの名無しさん
2006/01/15(日) 17:54:45C++やJavaがいくら攻勢を見ようとも、未だに元祖Cが使われている理由がまさにこれ。
0074デフォルトの名無しさん
2006/01/15(日) 19:53:57従来の殻を破るには根本から変えるしかない。第二の Linux や Windows を作りたいなら
それでもいいが、そんな車輪の発明は誰も欲しがらないだろう。もっと根底から考え直さねば
駄目だ。
0075デフォルトの名無しさん
2006/01/15(日) 20:20:500076デフォルトの名無しさん
2006/01/15(日) 21:53:33/ ,、 -‐ ''"´;: ; ヽ
/ / ,、‐''"´´ ;: ;;`ヽ
/ (/ ,、-‐''"´´ _, ,丶 そおおおんあわけねええだろぉ?
i (ゝ /, , 、ー''"、´ _ヽ
| /'''_ー-<___, -'´ lー''"ノ ヽ. , へ、 _
、 'l { `ヽ;ー-、-,ー‐,r''1 ; ;ヽ<''ヘ ヽー---‐'''"""""
r、 iヽ ヽ' `' .|、 ,. | |
{λヽ.ヽ ,,ソ ヽ-' t' __ノ ,______
\ゝ、iヽー '`ー'''`1´ ~ヽ、、、/~  ̄ ̄,~"=
、‐'''''ヽ `'ヘ.',ヽ , 、 { ,、- '´
/ \ ヾ ヽ⌒ヽ ヽ { , ‐、_ /
. | ゛‐-ー'.,!\\__ `ヽ. ,、 / `'´ ,
、 / / | \ \゛、ー'>' ノrー' ´ | , /
r; / / |\,_\ `""´r''| ト、 | | /
i / | フ 丶、___ノヽ. |/ / /
rヽ\ ( | ,ヘ | | ヽ \ ‖/ /
0077デフォルトの名無しさん
2006/01/21(土) 00:36:420078デフォルトの名無しさん
2006/01/22(日) 16:58:250079デフォルトの名無しさん
2006/01/22(日) 21:24:240080デフォルトの名無しさん
2006/01/24(火) 09:08:55GCCにPASCALなかったっけ? あれじゃ駄目?
0081デフォルトの名無しさん
2006/01/28(土) 20:12:040082デフォルトの名無しさん
2006/02/15(水) 15:56:110083デフォルトの名無しさん
2006/02/21(火) 23:45:080084デフォルトの名無しさん
2006/04/09(日) 14:46:130085デフォルトの名無しさん
2006/04/12(水) 00:10:330086デフォルトの名無しさん
2006/04/12(水) 02:55:24マイクロカーネルなだけで遅いのにしかもD言語。
ライブラリ整備するほうが先でしょ
0087デフォルトの名無しさん
2006/04/12(水) 12:32:200088デフォルトの名無しさん
2006/04/27(木) 23:31:49Dの悲惨な現状を知って(僕は知らないけど)にげたか?
0089デフォルトの名無しさん
2006/07/18(火) 00:40:550090デフォルトの名無しさん
2006/10/02(月) 23:09:350091デフォルトの名無しさん
2006/10/03(火) 00:38:09DQN-OS
0092デフォルトの名無しさん
2006/10/03(火) 05:03:100093デフォルトの名無しさん
2006/10/04(水) 02:55:51MS-D コンパイラってね。
手厚いMS印のサポートが期待できる。
0094デフォルトの名無しさん
2006/10/04(水) 03:26:180095デフォルトの名無しさん
2006/10/13(金) 01:36:300096デフォルトの名無しさん
2006/10/14(土) 21:28:290097FD
2006/10/21(土) 16:18:40クラスを使用しなければ、C言語を少し柔軟にした言語使用なので、極端難しくないです。
参考するなら、C言語で書かれたOSソースを、D言語のプリプロセッサ機能を削除したソースへ置き換えることからはじめるのですかね?
組み込みOSでは基本的にC++特有な機能を使用しないのが一般的です。
コメントだけC++で中身C言語と言うものをよく見かけましたが・・・
0098デフォルトの名無しさん
2006/10/21(土) 17:20:41C言語で書かれたソースをD言語に変換するツール作成すれば一発じゃね?
0099デフォルトの名無しさん
2006/10/21(土) 20:00:57> 組み込みOSでは基本的にC++特有な機能を使用しない
組み込みだとサイズ/速度のオーバヘッドがデカいからじゃないかなあ。
0100FD
2006/10/21(土) 20:45:20それもありますが、newなどメモリのどこに配置されるか分からないので、メモリの制限された世界では使いにくいのです。
OSカーネルになれば、メモリ管理はレガシーな方法とった方が安全だからです。
ただし、しっかりとメモリ管理された環境下であればC++特有の機能は作る側に利点があると思います。
「しっかりとメモリ管理された環境」ですからカーネルの基本的な領域には適用しにくいです。
例えばC++で記述されたというL4Ka-Pistachioのソースを参照すると、
APIの領域(外向きの顔)はC++ポイですが、内部制御はC++と言うよりC言語です。
C++の仕様自体にC言語仕様を含んでいるから当然なんでしょうけど・・・
>>98さん
のいわれている通り非常に近い仕様ですから、可能だと思います。
カーネルでも基本的なところを製作後は、言語仕様に関係なく開発できるのがベストだと思います。
D言語が優れているところはC言語より柔軟であると言うところ、プリプロセッサ機能を搭載していたら、そのままD言語に移行できてしまいます。
なお、D言語でもいいですけど、日本でカーネルを再勉強できる機会は少ないです。
OSを作ると言う企画は面白いと思います。
まずは、簡単な部分から作らないといけませんね。
私も個人的に勉強したい領域です。
0101デフォルトの名無しさん
2006/10/24(火) 01:34:37>メモリ管理
Cよりは柔軟な罠。newはオーバーロード出来るもの。
コンパイラと人間で責任もって書けばいいだけなんだけどな。
ところで、このスレの元ネタでもあるMonaは知ってる?
元々はム板にあったんだけど、嵐に粘着されてOS板やsiberiaへ亡命しちゃった。
http://wiki.monaos.org/pukiwiki.php?FrontPage
http://pc8.2ch.net/test/read.cgi/os/1138681234/
http://etc3.2ch.net/test/read.cgi/siberia/1136088527/
0102デフォルトの名無しさん
2007/01/09(火) 06:23:100103デフォルトの名無しさん
2007/01/11(木) 12:13:59組込みはメモリの動的管理自体をやらないやつらが多い。
あらかじめ最大値を決めてそのサイズ分確保してる。
0104デフォルトの名無しさん
2007/01/12(金) 00:46:070105デフォルトの名無しさん
2007/04/30(月) 11:25:28「落ちても速やかに復帰して動き続ける」
だよな
0106デフォルトの名無しさん
2007/06/29(金) 16:04:050107デフォルトの名無しさん
2007/07/11(水) 23:37:400108デフォルトの名無しさん
2007/07/11(水) 23:47:03ガベコレの問題が有って、今のガベコレ言語は、
帆にゃらら言語のアプリ→OSへのメモリ要求
帆にゃらら言語のアプリ→OSからもらったメモリをゴミ扱いにする
帆にゃらら言語のアプリのガベコレ→さっきゴミにしたメモリを再利用可能ににする
ってな流れだけど、DでOSを書くと言うことはこのOSに頼んでる部分を書く必要が有って、
でも、DでOS書く訳で。と言うループに陥らないために
OSのメモリ管理=D言語のメモリ管理という部分を設計してしまう必要が有るわけ。
手を抜こうと思えば、抜けるけども。
0109デフォルトの名無しさん
2007/08/26(日) 07:07:100110デフォルトの名無しさん
2007/08/26(日) 08:06:04GC用ヒープがシステムメモリとして何百メガか確保されるだけでは?
ただ、これだとアルゴリズムがコンカレントGCしか選択できないな。
0111デフォルトの名無しさん
2007/09/06(木) 22:17:180112デフォルトの名無しさん
2007/09/11(火) 22:09:02カーネルだと物理アドレス空間を触ることになると思うんだけど、
そっちだとより効率的にメモリを整頓できたりするの?
0113デフォルトの名無しさん
2007/09/16(日) 15:24:080114デフォルトの名無しさん
2007/09/18(火) 00:36:29それだとキャッシュ効率が悪過ぎる
0115デフォルトの名無しさん
2007/09/23(日) 12:49:14初めて来たけどこれObjC組み込めるのか?
期待age
0116デフォルトの名無しさん
2007/09/23(日) 12:50:310117デフォルトの名無しさん
2007/12/05(水) 21:40:570118デフォルトの名無しさん
2007/12/05(水) 22:05:50任天堂なら作れるかも
0119デフォルトの名無しさん
2007/12/13(木) 09:36:120120デフォルトの名無しさん
2007/12/13(木) 09:56:320121デフォルトの名無しさん
2007/12/13(木) 09:59:430122デフォルトの名無しさん
2007/12/13(木) 15:55:270123119
2008/01/07(月) 14:54:13ああそれそれ。あくまでインターフェイスの話なのか、あれ。
ところで D で TRON ってどうよ、とかいう無茶振りをしてみるテスツ
0124デフォルトの名無しさん
2008/01/07(月) 20:34:20TRONの需用自体がITRONくらいで、そこにGCはヘビーかと。
0125デフォルトの名無しさん
2008/01/07(月) 21:39:570126デフォルトの名無しさん
2008/01/07(月) 22:19:550127デフォルトの名無しさん
2008/01/09(水) 03:30:000128デフォルトの名無しさん
2008/01/09(水) 21:18:230129デフォルトの名無しさん
2008/03/08(土) 10:53:23そうでもない。
最近の携帯は、かなり軽いよ。
今、携帯Java(MIDP2.0)上でJavaベースのOS作ってるよ。
うまく行けば、このOSの上にJava2SE実装して、パソコン用のソフトも使えるようにしたいな。
0130デフォルトの名無しさん
2008/03/08(土) 13:36:060131デフォルトの名無しさん
2008/04/15(火) 13:15:530132デフォルトの名無しさん
2008/12/06(土) 21:15:420133デフォルトの名無しさん
2009/01/20(火) 01:22:360134デフォルトの名無しさん
2009/07/21(火) 17:53:46これって、どう動くかと言えば
<====メモリ===> <====メモリ===>
アプリケーション1+ガベコレコード アプリケーション2+ガベコレコード
↑↓
OS
<■■■■■■■■■■■■■■■■■■■■■■■■■■■>
実メモリー
というイメージになることが多いと思うんだけど、
(最近だとこの辺はもうすごく手が入っててイメージです状態だろうけど
アプリからリニアにアドレスが見えるわけだし、ガベコレはそのリニアアドレス
を操作してるんだからこうだよね)
でも、これを
<====メモリ===> <====メモリ===>
アプリケーション1 アプリケーション2
↑↓
OS+カーネルが各アプリのガベコレを制御
<■■■■■■■■■■■■■■■■■■■■■■■■■■■>
実メモリー
ということになれば、マルチスレッド、マルチコア、マルチキャッシュの
cpuでのパフォーマンス的にも色々と行けるような気がするのね。
もうね、まったく新しいosというレベル。
目指すならここを目指すべきだと思う。
0135デフォルトの名無しさん
2009/07/24(金) 20:19:35何で俺が言語にGCを実装しなきゃいけないんだって人。
0136デフォルトの名無しさん
2009/08/01(土) 22:01:040137デフォルトの名無しさん
2009/08/01(土) 23:22:160138デフォルトの名無しさん
2009/08/10(月) 12:49:130139デフォルトの名無しさん
2009/08/11(火) 12:41:47システムコールを呼んだら、ヒープ内にメモリブロックを確保したり解放したりして、
プロセスが終わったら、ヒープを解放する。
0140デフォルトの名無しさん
2009/08/11(火) 13:48:500141デフォルトの名無しさん
2009/08/11(火) 14:11:54お前D言語のこと何も知らずに書いてるだろ
言語自体なんか書き換えなくてもPhobosの書き換えで済む
0142デフォルトの名無しさん
2009/08/11(火) 20:35:06メモリ確保ごとにシステムコールってどんなネタだよ
0143デフォルトの名無しさん
2009/08/27(木) 18:55:58これって、どう動くかと言えば
<====メモリ===> <====メモリ===>
アプリケーション1+ガベコレコード アプリケーション2+ガベコレコード
↑↓
OS
<■■■■■■■■■■■■■■■■■■■■■■■■■■■>
実メモリー
というイメージになることが多いと思うんだけど、
(最近だとこの辺はもうすごく手が入っててイメージです状態だろうけど
アプリからリニアにアドレスが見えるわけだし、ガベコレはそのリニアアドレス
を操作してるんだからこうだよね)
でも、これを
<====メモリ===> <====メモリ===>
アプリケーション1 アプリケーション2
↑↓
OS+カーネルが各アプリのガベコレを制御
<■■■■■■■■■■■■■■■■■■■■■■■■■■■>
実メモリー
ということになれば、マルチスレッド、マルチコア、マルチキャッシュの
cpuでのパフォーマンス的にも色々と行けるような気がするのね。
もうね、まったく新しいosというレベル。
目指すならここを目指すべきだと思う。
0144デフォルトの名無しさん
2010/02/15(月) 06:12:15■ このスレッドは過去ログ倉庫に格納されています