FotranとかcobolとかBasicとかCとかC++とかjavaとか…(以下略)
■ メインページ ■ サブボード修正
なんてタイトルの本があったので衝動買いしてしまいました。 Javaに関する技術のようなので、私には関係ないのかも知れませんが、 ちょっとでも参考になると良いなぁ。テスト駆動開発。 tos.
> さっき、マックのカタログをみたらメモリは8GBまで登載です。 > 新しい64ビットプロセッサ/デュアルの場合ですが。 > http://www.apple.co.jp/powermac/specs.html Windowsも64bitのCPUやOSもでてきているので、大容量メモリに対応して くれるようになると思います。もっとも、64bitが一般的になるのは ずっと先のことになると思いますが。 やはり、テンポラリをハードディスクにしないと、安心して大容量の データは扱えませんね。 ^^; tos.
さっき、マックのカタログをみたらメモリは8GBまで登載です。 新しい64ビットプロセッサ/デュアルの場合ですが。 http://www.apple.co.jp/powermac/specs.html >> OSが3G使ってるとか‥‥‥ >> あるいはコード領域に1G,データ領域に1Gとか? >> その辺までは知りません.(^^; > そんな感じなんでしょうね。OSに3Gは勘弁して欲しいし、 > コードに1Gは使わないだろうと思いますが。 >> MSDNとかのドキュメント探せばどっかに情報は >> ありそうな気はしますけど‥‥‥ > 英語のドキュメントは、読みたくないです。 ^^; >> x86系では64bitポインタは難しいと思いますが.(^^; > Itamiumでないと、64bitは無理? >> Windowsって4GB超えたメモリとか考えてなさそうだし‥‥‥. >> Windows2000 Advanced Server とか DataCenter とかだと >> その辺対応できるのかもだけど... > 可能だとしても、買えません。 ^^; > // BeOSあたりなら、できるのかも。 > tos.
以前、音楽関係のボードに書いてしまったバージョニングの話ですが、 (まあ、どの分野でもバージョニングはした方がいいんですけど(^^;) 次世代デファクトとして期待されている Subversion が 4年もの開発期間をかけて 1.0 のリリースと相成りました。 以前の書き込みの通り、去年の 0.20 あたりから十分使える 状態になっていたんですが、デファクトとしての責任感からか なかなか 1.0 の名を付けることはしてくれませんでした。 上司にも進言できません... なので、個人的に利用するだけにとどまっていたんですが、 0.37 を RC として今日 1.0 がリリースされました。 これでやっと本格的に導入できるかな? サイトはここですが、今はアクセスが集中していて 全くアクセスできません。明日あたりまで待った方がいいかも。 http://subversion.tigris.org GOO E-Mail: goo_n@hotmail.com
最近、WebObjects と言う Web アプリケーションのための フレームワークを仕事で使っています。 話によると、700万円以上で売っていたものが 72800 円に価格改定されたらしいです。 http://www.apple.co.jp/news/2000/may/16webobjects.html つまるところ、IBM の WebSphere http://www.zdnet.co.jp/enterprise/0110/09/01100916.html のようなエンタープライズ向けの製品とためを張るようなものに 個人でも使えるような価格で手を出せると言うおいしい状況みたいです。 言語は Java を使うんですが、このフレームワークを触っていて、 jakarta プロジェクトで出てきているいろんなプロジェクトの意味を 実感できてきた気がします。 torque などによる DB-Object マッピングと、SQL レスなプログラミングや、 tapestry などによるビュー(テンプレート)からの OGNL を使ったビューとコントローラ、ビューとモデルとの疎結合などが気付いた点です。 それなら7万円も出さずにオープンソースで済ましてしまえば いいと思われるかも知れません。確かにその通りで、私の理解力が もっとあればオープンソースのものを使いこなして WebObjects のような 整理された環境を作って開発できていたかも知れません。 しかし、想像が及ばず、WebObjects のような手取り足取り、従っていれば 正しい形で組む事ができるような環境を手にするまで それぞれのプロジェクトの利便性が理解できなかったんです。 WebObjects に限らず、オープンソースも含めて、Java による この辺の技術に興味ある人いますでしょうか? GOO E-Mail: goo_n@hotmail.com
> OSが3G使ってるとか‥‥‥ > あるいはコード領域に1G,データ領域に1Gとか? > その辺までは知りません.(^^; そんな感じなんでしょうね。OSに3Gは勘弁して欲しいし、 コードに1Gは使わないだろうと思いますが。 > MSDNとかのドキュメント探せばどっかに情報は > ありそうな気はしますけど‥‥‥ 英語のドキュメントは、読みたくないです。 ^^; > x86系では64bitポインタは難しいと思いますが.(^^; Itamiumでないと、64bitは無理? > Windowsって4GB超えたメモリとか考えてなさそうだし‥‥‥. > Windows2000 Advanced Server とか DataCenter とかだと > その辺対応できるのかもだけど... 可能だとしても、買えません。 ^^; // BeOSあたりなら、できるのかも。 tos.
> それなら、1.8GBくらいはメモリ確保が成功になって欲しいなぁ。 > あと1GB、何かに使われているんでしょうか。 OSが3G使ってるとか‥‥‥ あるいはコード領域に1G,データ領域に1Gとか? その辺までは知りません.(^^; MSDNとかのドキュメント探せばどっかに情報は ありそうな気はしますけど‥‥‥ >> 上のアドレス空間をセグメント方式で指定するときに, >> 何らかのビットを立てるとアドレス空間の上位が何ビットか >> ずれて,より大きな範囲を指定できるような感じだったきが... > OSの管理していない領域をアプリケーションで直接使うって事ですか? > スーパーバイザーモードでないと、触れるとエラーになりそうですが。 いや,そういう言う意味ではなく‥‥‥ まぁ,どちらにしろポインタが32bitであれば,4GBが 限界になっちゃうでしょうね. 昔のfarポインタみたいに,セグメント+アドレスで ポインタを作るか,64bitポインタを採用するか‥‥‥ x86系では64bitポインタは難しいと思いますが.(^^; >> 詳しくは「初めて読む486」とかを買うと良いかも. >> アセンブラの本ですが結構良い知識がゲットできます > 良い知識かもしれませんが、そういうことはもう OSとコンパイラに > お任せしたいところです。 ^^; > // Windowsという選択肢が間違ってる? Windowsって4GB超えたメモリとか考えてなさそうだし‥‥‥. Windows2000 Advanced Server とか DataCenter とかだと その辺対応できるのかもだけど... 使ったこと無いのでなんとも(^^;
> 例えば,0x00000000-0x7fffffff がカーネル領域で, > 0x80000000-0xffffffff がユーザー領域という構造であれば, > プロセスAは 0x80000000-0xffffffff のアドレス空間しか > 使えないので,頑張っても2GBまでになります. それなら、1.8GBくらいはメモリ確保が成功になって欲しいなぁ。 あと1GB、何かに使われているんでしょうか。 > 上のアドレス空間をセグメント方式で指定するときに, > 何らかのビットを立てるとアドレス空間の上位が何ビットか > ずれて,より大きな範囲を指定できるような感じだったきが... OSの管理していない領域をアプリケーションで直接使うって事ですか? スーパーバイザーモードでないと、触れるとエラーになりそうですが。 > 詳しくは「初めて読む486」とかを買うと良いかも. > アセンブラの本ですが結構良い知識がゲットできます 良い知識かもしれませんが、そういうことはもう OSとコンパイラに お任せしたいところです。 ^^; // Windowsという選択肢が間違ってる? tos.
> 1つしか実行しなくても、1GB くらいしかメモリが確保できないのです。 > だから、1つのプロセスの上限も設定されているのかなと思っています。 > 上限というより、OSの仕様なんでしょうけど。 いやだから,1つのプロセス+カーネルで4GBしか領域が無いのかと... プロセスを切り替えると,同じ仮想アドレスを別のプロセス用に 使用できるので,別のプロセスは他のプロセスの使用している アドレス領域を気にせずに使えると‥‥‥ 例えば,0x00000000-0x7fffffff がカーネル領域で, 0x80000000-0xffffffff がユーザー領域という構造であれば, プロセスAは 0x80000000-0xffffffff のアドレス空間しか 使えないので,頑張っても2GBまでになります. もう1つ別のプロセスを使えば,そのプロセスはプロセスAと 無関係に,0x80000000-0xffffffff のアドレス空間を 使用できるので,また2GB使用できることになります. (実際の物理メモリ・仮想メモリへの割り当ては 当然AとBで異なるので,それぞれ自分用のメモリとして使えます) >> 386以降なら64TBまでのアドレス空間は使えるはずですが... >> 未対応なのかも. > スワップをもっと大きく取れば、OSとして使えるアドレス空間はもっと > 大きくなるかもしれません。ウチのディスクのサイズの関係で、4GB以上には > できないので。 ^^; 上のアドレス空間をセグメント方式で指定するときに, 何らかのビットを立てるとアドレス空間の上位が何ビットか ずれて,より大きな範囲を指定できるような感じだったきが... 詳しくは「初めて読む486」とかを買うと良いかも. アセンブラの本ですが結構良い知識がゲットできます
> おそらく,仮想アドレス空間が4GBしかないのでしょう. > そうすると,1つのプロセス+カーネルの領域すべてあわせて > 4GBまでしか使えないことになります. 1つしか実行しなくても、1GB くらいしかメモリが確保できないのです。 だから、1つのプロセスの上限も設定されているのかなと思っています。 上限というより、OSの仕様なんでしょうけど。 > 386以降なら64TBまでのアドレス空間は使えるはずですが... > 未対応なのかも. スワップをもっと大きく取れば、OSとして使えるアドレス空間はもっと 大きくなるかもしれません。ウチのディスクのサイズの関係で、4GB以上には できないので。 ^^; tos.
> ところが、new演算子でメモリ確保すると、1GBくらいでエラーになって > しまいます。 > 同じプログラムを複数実行すると、合計して 4GBくらいは確保できる > ので、Windows内では 4GBは使えるようです。 > 私がやりたいのは、1つのプログラムで 4GB、もしくはそれ以上の > メモリを使いたいのです。 Windows XP では無理なのでしょうか? それを見ると無理そうな‥‥‥. おそらく,仮想アドレス空間が4GBしかないのでしょう. そうすると,1つのプロセス+カーネルの領域すべてあわせて 4GBまでしか使えないことになります. プロセスが切り替われば,仮想アドレスのマッピングがかわるので, (プロセスAのメモリ領域と同じアドレスをプロセスBが使用可能) システム全体では1プロセスあたりのMAX値×プロセス数までの 領域が使用できることに... 386以降なら64TBまでのアドレス空間は使えるはずですが... 未対応なのかも. http://www.prism.gatech.edu/~gte213x/LinuxMM/rpt.html