308 以下、名無しにかわりましてVIPがお送りします :2008/12/17(水) 14:19:06.51 ID:BoD9qabUO
分かってないなあ〜
配列は無作為にメモリ上で割り振るから
配列を沢山作ると重なる所が出て来てバグる
って言ってんだが
389 以下、名無しにかわりましてVIPがお送りします :2008/12/17(水) 14:57:00.79 ID:sbIOoV3M0配列は無作為にメモリ上で割り振るから
配列を沢山作ると重なる所が出て来てバグる
って言ってんだが
まだスレに余裕あるしプログラム組んでる人に聞きたいんだけど
どんなプログラムを組んだことがある?
あと
何かを作る時にどこから取り掛かる?
392 以下、名無しにかわりましてVIPがお送りします :2008/12/17(水) 14:59:29.92 ID:BoD9qabUOどんなプログラムを組んだことがある?
あと
何かを作る時にどこから取り掛かる?
>>389
OS
メモリの割り振り
405 以下、名無しにかわりましてVIPがお送りします :2008/12/17(水) 15:04:58.54 ID:+/sfzDsc0OS
メモリの割り振り
まず >>392 を見ます
↓
お茶を口に含みます
↓
次に >>308 を見ます
↓
お茶を口に含みます
↓
次に >>308 を見ます
オススメの動画
今日の更新一覧
その他の記事
コメントありがとう御座います。⇒最新のコメントへ(98)
わからないや
コンピューターに詳しくない俺にわかるようにサザエさんで説明してください。
どんなOSをつくったらそんなメモリ管理機構になるのだろうか。。。
実に斬新なOS様だ
ID:BoD9qabUO=配列ですね、わかります
さすがにネタですよね、この子
ジョジョでうまく説明してください><
こういうバカにプログラマーになってほしくない。
絶対なれないから心配するな。
メモリの割り振りなら
OS からではなく、MMU から作るのがコツ。
OS からではなく、MMU から作るのがコツ。
わざわざ自爆しなくても。。。
ってな感じですな。
ってな感じですな。
「めもりのわりふり」を失敗するとMEみたいになっちゃうのか。
またひとつ勉強になった
またひとつ勉強になった
マ板なの?VIPなの?
それはともかく、日本人にPC/AT互換機のOSカーネル書いてるやつなんて
聞いたこと無いね。
それはともかく、日本人にPC/AT互換機のOSカーネル書いてるやつなんて
聞いたこと無いね。
元スレ見てないけどなんでPC/AT互換機の話になったんだ
※1013
だが待って欲しい。彼が書こうとしているプログラムは、組み込み用途の小規模なシステムかもしれない。
だが待って欲しい。彼が書こうとしているプログラムは、組み込み用途の小規模なシステムかもしれない。
アドレスの概念がないんだろうか・・
さっぱりわからないんだけど、
>どんなプログラムを組んだことがある?
に
>OS
が笑いどころ?
>どんなプログラムを組んだことがある?
に
>OS
が笑いどころ?
ちょっと前にどっかで見た「Javaで書いたコードのマシン語は、角が取れているので滑らかにバスを流れる。一方、C言語なんかは低級言語なので生成されたマシン語コードもゴツゴツしており、バスのあっちこっちで引っかかるので遅い」
とかいうのを思い出したw
とかいうのを思い出したw
わかりやすい例えを考えるのが難しいが、こんなのはどうか。
地下鉄の社員が、地下鉄用の穴は適当に掘るんだから
掘りすぎると地下鉄同士がぶつかるようになるんだよと言っている。
普通はぶつからないように予め路線を設計するよな。
地下鉄の社員が、地下鉄用の穴は適当に掘るんだから
掘りすぎると地下鉄同士がぶつかるようになるんだよと言っている。
普通はぶつからないように予め路線を設計するよな。
米1017
んとね、308の考え自体が全然間違ってるのですよ。
んで、392は、間違いではない。
# 必ずしもそれが正解ではないけど
だから、
まず >>392 を見ます
↓
お茶を口に含みます
↓
次に >>308 を見ます ←←← ここで吹き出す!ってこと
んとね、308の考え自体が全然間違ってるのですよ。
んで、392は、間違いではない。
# 必ずしもそれが正解ではないけど
だから、
まず >>392 を見ます
↓
お茶を口に含みます
↓
次に >>308 を見ます ←←← ここで吹き出す!ってこと
配列
a[0] ←アドレス1番
a[1] ←アドレス2番
・
・
a[n] ←アドレスn番
ってのが普通だと思うんだが、
本スレの308は
a[0] ←アドレス1番
a[1] ←アドレス102番
b[0] ←アドレス2番
b[1] ←アドレス58番
ってばらばらに割り振られるから、
そのうち重なるようになるって言ってるみたい。
OS作ったことはないけどアドレスが重ならないよう
OSが割り振ってくれるもんだと思うけどね。
そんなんで308がOS作ったとか言ってるから2重で面白いってことじゃない?
a[0] ←アドレス1番
a[1] ←アドレス2番
・
・
a[n] ←アドレスn番
ってのが普通だと思うんだが、
本スレの308は
a[0] ←アドレス1番
a[1] ←アドレス102番
b[0] ←アドレス2番
b[1] ←アドレス58番
ってばらばらに割り振られるから、
そのうち重なるようになるって言ってるみたい。
OS作ったことはないけどアドレスが重ならないよう
OSが割り振ってくれるもんだと思うけどね。
そんなんで308がOS作ったとか言ってるから2重で面白いってことじゃない?
じゃあ一生
スタックオーバーフロウとかとは無縁じゃね?
スタックが足りませんとか出るのは
きっちり割り振られているからだろ
スタックオーバーフロウとかとは無縁じゃね?
スタックが足りませんとか出るのは
きっちり割り振られているからだろ
>>1020
全然違わないか?
配列をメモリ上に無作為に割り振ると被ってバグる。
で、誰が割り振ってるかというとOS
つまり自分で、配列をいい加減に割り振ってバグるOSを作ってますよ、と言ってるのでは?
全然違わないか?
配列をメモリ上に無作為に割り振ると被ってバグる。
で、誰が割り振ってるかというとOS
つまり自分で、配列をいい加減に割り振ってバグるOSを作ってますよ、と言ってるのでは?
差し詰め、さすがVIPといったところだ。
こういう奴にプログラムを組ませると、
int i1_0,i1_1,i1_2,i1_3,i1_4,i1_5;
int i2_0,i2_1,i2_2,i2_3,i2_4,i2_5;
char c1_0,c1_1,c1_2;
みたいなの書きそうw
こういう奴にプログラムを組ませると、
int i1_0,i1_1,i1_2,i1_3,i1_4,i1_5;
int i2_0,i2_1,i2_2,i2_3,i2_4,i2_5;
char c1_0,c1_1,c1_2;
みたいなの書きそうw
だれかHR/HMで例えてくれ
※1013
いやいやいや、記憶だけを頼りに書いても、
(一応)現役のOSだけで
Toppers、超漢字、OSASK、モナー
ぐらいはあるぞ。
いやいやいや、記憶だけを頼りに書いても、
(一応)現役のOSだけで
Toppers、超漢字、OSASK、モナー
ぐらいはあるぞ。
※1021
多分、308が作ったOSでは断片化したメモリをつぎはぎして配列領域に
割り当てていて、時々使用中の所も使っちゃうんだよきっと。
多分、308が作ったOSでは断片化したメモリをつぎはぎして配列領域に
割り当てていて、時々使用中の所も使っちゃうんだよきっと。
1021
プログラム学校で習ったきりだからうろ覚えだが
それは308が意図した状態じゃないの?
うろおぼえですまんが、
多分308は配列をとったときのメモリの先頭アドレスが
完全にランダムにスタートしてるといいたいんだと思う。
その上で、メモリ確保をしないといけないといってるんだと思うが、
mallocなりでメモリ確保した状態から?
配列をその確保したメモリにとれるんだっけ?
そうしないと、メモリが確保できなくなった時点で
308がいうにはメモリ領域がかぶり始める?
そういうことが308はいいたいのかな?
プログラム学校で習ったきりだからうろ覚えだが
それは308が意図した状態じゃないの?
うろおぼえですまんが、
多分308は配列をとったときのメモリの先頭アドレスが
完全にランダムにスタートしてるといいたいんだと思う。
その上で、メモリ確保をしないといけないといってるんだと思うが、
mallocなりでメモリ確保した状態から?
配列をその確保したメモリにとれるんだっけ?
そうしないと、メモリが確保できなくなった時点で
308がいうにはメモリ領域がかぶり始める?
そういうことが308はいいたいのかな?
>>1021
ポインタの概念がある言語なら下の例は配列とは言えませんよねえ。まあ仮にユーザー側からアドレスが隠蔽される仕様だとしても、メモリの割り振りをしっかり監視している限りはバグらんでしょ。
「無作為」というのは「メモリのどこから確保するかわからない」という意味だったのかも。どのみち、真っ当なコンパイラだったらどんなに配列作ろうがアドレスを重ねたりしないでしょうが。
ポインタの概念がある言語なら下の例は配列とは言えませんよねえ。まあ仮にユーザー側からアドレスが隠蔽される仕様だとしても、メモリの割り振りをしっかり監視している限りはバグらんでしょ。
「無作為」というのは「メモリのどこから確保するかわからない」という意味だったのかも。どのみち、真っ当なコンパイラだったらどんなに配列作ろうがアドレスを重ねたりしないでしょうが。
ヒープのどの位置からユーザー領域を確保するかは、
確かにある程度ランダムになっていることが多い
これは、たとえば常に先頭から確保するようにすると、
メモリの使用場所が偏りそこだけ磨耗するから。
でも仮想メモリ上でも実メモリ上でも、
1021のように配列の要素ひとつひとつがバラバラになるってことはありえない
これは配列の各要素のアドレスを表示するプログラムを書けば即分かる
>配列を沢山作ると重なる所が出て来てバグる
これはメモリ保護違反であって、プログラム、コンパイラまたはOSのバグ
普通にやったらこうはならない
確かにある程度ランダムになっていることが多い
これは、たとえば常に先頭から確保するようにすると、
メモリの使用場所が偏りそこだけ磨耗するから。
でも仮想メモリ上でも実メモリ上でも、
1021のように配列の要素ひとつひとつがバラバラになるってことはありえない
これは配列の各要素のアドレスを表示するプログラムを書けば即分かる
>配列を沢山作ると重なる所が出て来てバグる
これはメモリ保護違反であって、プログラム、コンパイラまたはOSのバグ
普通にやったらこうはならない
おぃぃぃ※欄にプログラマがいっぱいいすぎて
全く分からんオレは劣等感を感じているわけだが。
全く分からんオレは劣等感を感じているわけだが。
確保した範囲外(別のポインタ等で確保済みの位置)まで参照、書き込みしちゃって、そこが使われてると上書きされるとかはわかるが・・・
※1030の前半
ウェアレベリングはフラッシュメモリとかの話ジャマイカ?
ウェアレベリングはフラッシュメモリとかの話ジャマイカ?
>>1030
> メモリの使用場所が偏りそこだけ磨耗するから。
クソワラタ
マジかよ、それwww
> メモリの使用場所が偏りそこだけ磨耗するから。
クソワラタ
マジかよ、それwww
※1032
バッファ先頭 バッファ終了 バッファ外
┝━━━━━━━━━━┿━━━━━━━━━━┥
88彡ミ8。 /)
8ノ/ノ^^ヾ8。( i )))
|(| ∩ ∩|| / / <ココ!
从ゝ__▽_.从 /
/||_、_|| /
/ (___)
\(ミl_,_(
/. _ \
/_ / \ _.〉
/ / / /
(二/ (二)
バッファ先頭 バッファ終了 バッファ外
┝━━━━━━━━━━┿━━━━━━━━━━┥
88彡ミ8。 /)
8ノ/ノ^^ヾ8。( i )))
|(| ∩ ∩|| / / <ココ!
从ゝ__▽_.从 /
/||_、_|| /
/ (___)
\(ミl_,_(
/. _ \
/_ / \ _.〉
/ / / /
(二/ (二)
あ、ちなみに俺のコメントは
>1021のコメントを揶揄する意図は一切ふくんでいませんよ
>1021のコメントを揶揄する意図は一切ふくんでいませんよ
>>1032
>>308はどこでそんな知識を仕入れたんだ、と思ったけど、
きっとそれだね。
要素外アクセスに気づかずに、
現象だけを見てこんな結論になっちゃったんだろうな。
>>308はどこでそんな知識を仕入れたんだ、と思ったけど、
きっとそれだね。
要素外アクセスに気づかずに、
現象だけを見てこんな結論になっちゃったんだろうな。
前後の内容を読まないと経緯がよくわからんね
読んでもよくわからんだろうけど
というわけで元記事のアドレスを誰か教えてください
読んでもよくわからんだろうけど
というわけで元記事のアドレスを誰か教えてください
俺は308はスタックの存在を知らないに一票
「俺何もしてないのに勝手に配列壊れちゃったよ〜」
「いっぱい配列取ると壊れるから、きっとそうに違いない」
ってなw
「俺何もしてないのに勝手に配列壊れちゃったよ〜」
「いっぱい配列取ると壊れるから、きっとそうに違いない」
ってなw
自作OSがメモリの割り振りだめぽってことでいいのかな?
a[0] ←アドレス1番
a[1] ←アドレス102番
b[0] ←アドレス2番
b[1] ←アドレス58番
自分でもありえないの分かってて書いてるからねぇ。
こういう割り当て方するOSを308が作ってるのかと思ってさ。
これだと配列の意味まったく無しですけどね。
配列の中に配列とか作ったら308の作ったOSではどう割り当ててくれるんだろう?ちょっと試してみたい。
a[1] ←アドレス102番
b[0] ←アドレス2番
b[1] ←アドレス58番
自分でもありえないの分かってて書いてるからねぇ。
こういう割り当て方するOSを308が作ってるのかと思ってさ。
これだと配列の意味まったく無しですけどね。
配列の中に配列とか作ったら308の作ったOSではどう割り当ててくれるんだろう?ちょっと試してみたい。
>配列は無作為にメモリ上で割り振るから
無作為なんだっけ?アドレスがメモリのどこに割り振られるかわかりづらいとは思うけど。
少なくとも開始部からは決まった位置に割り振られていくはず。
>配列を沢山作ると重なる所が出て来てバグる
俺は経験ないんだけど、そういうことってあるの?
無作為なんだっけ?アドレスがメモリのどこに割り振られるかわかりづらいとは思うけど。
少なくとも開始部からは決まった位置に割り振られていくはず。
>配列を沢山作ると重なる所が出て来てバグる
俺は経験ないんだけど、そういうことってあるの?
>>1042
>俺は経験ないんだけど、そういうことってあるの?
俺も無いけど、スタック配列をオーバーランして戻りアドレスを破壊して、毎回現象が変わるバグを作った事ならある。。。
>俺は経験ないんだけど、そういうことってあるの?
俺も無いけど、スタック配列をオーバーランして戻りアドレスを破壊して、毎回現象が変わるバグを作った事ならある。。。
馬鹿なやつだポインタとかやらないのか?
知ったか見たいなのが多いね
308がOS作れるわけねえww
インデックス外まで平気で書いて自爆、かつ普通に誤動作するC
インデックス外で即時エラーで止まる融通の利かないC系以外の言語
インデックス外で即時エラーで止まる融通の利かないC系以外の言語
ポインタでやれ
僕はトマトを栽培しています
トマトは水を与えなくても育つんです!
トマトは水を与えなくても育つんです!
米1030
かじった程度だけど電圧かけて磨耗する物質をパソコン内部というか精密部品につかわねーだろw
というか磨耗する物質ってあんのか?w
かじった程度だけど電圧かけて磨耗する物質をパソコン内部というか精密部品につかわねーだろw
というか磨耗する物質ってあんのか?w
米欄に「そんな配列になるってどんなOSだよ」って意見があるけど、
配列の取り扱いは普通はOSじゃなくて、コンパイラなりインタプリタなりの
仕事じゃね?
配列の取り扱いは普通はOSじゃなくて、コンパイラなりインタプリタなりの
仕事じゃね?
>1050
一応上にも出てるけどフラッシュ(SSDとかも)は磨耗するよ
今流行のSSDとかでも偏らないようにウェアレベリングという機能がある
まぁ磨耗と言う言い方が適切かどうかと言うのはまた別問題だが
一応上にも出てるけどフラッシュ(SSDとかも)は磨耗するよ
今流行のSSDとかでも偏らないようにウェアレベリングという機能がある
まぁ磨耗と言う言い方が適切かどうかと言うのはまた別問題だが
>>1002
こんな感じかなあ
まちこ「わかってないなー。
クリスマスみたいに日にちが特定されるようなイベントの回を書くと
同じ日にちなのに違うイベントが起こる回ができて矛盾するって言ってんの」
389「まちこはどんな漫画かいているの?」
まちこ「サザエさん」
(*年を取らない設定だから矛盾する、そして年を取らない設定にしたのはまちこ自身)
こんな感じかなあ
まちこ「わかってないなー。
クリスマスみたいに日にちが特定されるようなイベントの回を書くと
同じ日にちなのに違うイベントが起こる回ができて矛盾するって言ってんの」
389「まちこはどんな漫画かいているの?」
まちこ「サザエさん」
(*年を取らない設定だから矛盾する、そして年を取らない設定にしたのはまちこ自身)
あぁ!!
ありうる話だと思ったら、自爆か!!
ありうる話だと思ったら、自爆か!!
磨耗しない部品があったら逆に教えてほしいよ
おめーのバグだろゴルァ!!スレでも行ってろw
米1051
プログラム実行時の配列の動的なメモリ割当はOSさんの仕事だろう
インタプリタはまだしも、コンパイラは実行とはもう関係ないし
プログラム実行時の配列の動的なメモリ割当はOSさんの仕事だろう
インタプリタはまだしも、コンパイラは実行とはもう関係ないし
>>1039に一票。
newなりmallocなりを知らない時にデカイ配列がうまいこと動かせなくて悩んだことある。
newなりmallocなりを知らない時にデカイ配列がうまいこと動かせなくて悩んだことある。
メモリ操作をしてくれないOSをつくったんジャマイカと
重なるわけないだろw
それと「何作ったことある」>「OS」って答える奴がいたら
それだけで吹くぐらいありえないからw
自称リア充の武勇伝レベルのウソw
それと「何作ったことある」>「OS」って答える奴がいたら
それだけで吹くぐらいありえないからw
自称リア充の武勇伝レベルのウソw
料理に例えよう。
308
分かってないなあ〜
カレーは塩加減を間違えると、甘くておいしくないっていってんだが。
389
皆さんの職業は?
料理で何が重要です?
392
シェフ
調味料
こんな感じかな。
308
分かってないなあ〜
カレーは塩加減を間違えると、甘くておいしくないっていってんだが。
389
皆さんの職業は?
料理で何が重要です?
392
シェフ
調味料
こんな感じかな。
あまりにもアレな野郎だなw
難解過ぎてわかりづらいネタだな、おい
家をたくさん立てると重なる所が出てきて俺と美少女が同じベッドで寝る事になるな。
勉強中でまだ、自信が持てない知識なのですが。
CPUが定めるアドレスと、実際のメモリ番地は違い、物理的にメモリを見た時にデータイが飛び飛びに入っていたとして、CPUが割り振ったアドレスが順番通りなら大丈夫だったはずです。
ここで問題になっているのはスタックとヒープというメモリを管理する領域の定義がだと思います。
ヒープ領域に限界まで入れれば、>1の仰っている内容もわかります。
スタックオーバーフローはCPUが定めたヒープ領域の限界を超えてメモリに書き込むことによるバグだったと思いますが、一回の書き込みで領域を超える必要があるのでよほどのことをしないかぎり、無理です。
それを逆手にとった攻撃もありますが、>1が仰いたいことは違うことだと思います。
>1の状況を再現するには、スタック領域を定めて、ヒープ領域にfor文でヒープ領域の限界+1個の配列を定めれば確かめることが出来ると思いますが、フリーズしそうなのでやめたほうがいいです。
CPUが定めるアドレスと、実際のメモリ番地は違い、物理的にメモリを見た時にデータイが飛び飛びに入っていたとして、CPUが割り振ったアドレスが順番通りなら大丈夫だったはずです。
ここで問題になっているのはスタックとヒープというメモリを管理する領域の定義がだと思います。
ヒープ領域に限界まで入れれば、>1の仰っている内容もわかります。
スタックオーバーフローはCPUが定めたヒープ領域の限界を超えてメモリに書き込むことによるバグだったと思いますが、一回の書き込みで領域を超える必要があるのでよほどのことをしないかぎり、無理です。
それを逆手にとった攻撃もありますが、>1が仰いたいことは違うことだと思います。
>1の状況を再現するには、スタック領域を定めて、ヒープ領域にfor文でヒープ領域の限界+1個の配列を定めれば確かめることが出来ると思いますが、フリーズしそうなのでやめたほうがいいです。
>>1060
案外こういうヤシがビスタとか作ってるのかもよ?
じゃなきゃあんなゴミOS出来ないだろ?www
ダウングレードってMSN史上何回目?
ま〜メモリ価格破壊起きるのしってたから
無駄にメモリ使う仕様にしたのかもだけど・・・
案外こういうヤシがビスタとか作ってるのかもよ?
じゃなきゃあんなゴミOS出来ないだろ?www
ダウングレードってMSN史上何回目?
ま〜メモリ価格破壊起きるのしってたから
無駄にメモリ使う仕様にしたのかもだけど・・・
投票欄が秀逸でワロタw
お茶うめえ
お茶うめえ
>>1065
真面目そうなのでマジレスすると、
中高生とかで、それなりにちゃんと勉強したいなら
IA-32 アーキテクチャマニュアルの上巻とか読むといいよ。タダだし日本語だし。
大学生や社会人なら、今すぐ悔い改めてタネンバウム読むべき。
現役プログラマなら腹を切って死ぬべき。
真面目そうなのでマジレスすると、
中高生とかで、それなりにちゃんと勉強したいなら
IA-32 アーキテクチャマニュアルの上巻とか読むといいよ。タダだし日本語だし。
大学生や社会人なら、今すぐ悔い改めてタネンバウム読むべき。
現役プログラマなら腹を切って死ぬべき。
>>1066
配列とアドレスの関係すら理解できていないレベルのプログラマはゴミOSすら作れないよ。というより、OSを作るって話をそういう捉え方している時点でID:BoD9qabUO笑えないレベル。
MSNとダウングレードに何が関係あるのか解らんし(MSDNならともかく)、配列とアドレスの関係すら理解できていないプログラマと大容量のメモリを使うOSに因果関係があるとか本気で考えているならばID:BoD9qabUO以下だぞ。
配列とアドレスの関係すら理解できていないレベルのプログラマはゴミOSすら作れないよ。というより、OSを作るって話をそういう捉え方している時点でID:BoD9qabUO笑えないレベル。
MSNとダウングレードに何が関係あるのか解らんし(MSDNならともかく)、配列とアドレスの関係すら理解できていないプログラマと大容量のメモリを使うOSに因果関係があるとか本気で考えているならばID:BoD9qabUO以下だぞ。
配列を単一のメモリブロックだけと捕らえるな方がいらっしゃるようで
なによりです
なによりです
308はJavaしかやってないんじゃねーの?
メモリ管理って自動だろあれ
メモリ管理って自動だろあれ
確保したメモリ領域を保護すればいいのでは。
>>1072
>>1047
といっても、最近はCでもオーバーしたら止まっちゃう事が結構あるけどね。
>>1047
といっても、最近はCでもオーバーしたら止まっちゃう事が結構あるけどね。
働きすぎて精神病んでるんじゃねえのか?
文もなんかおかしい感じが・・・
文もなんかおかしい感じが・・・
プログラムなんて簡単なものしか作ったことなくてわからんけど
308が言うようなことは100%無いの?
なんかありそうな気がするんだけど
308が言うようなことは100%無いの?
なんかありそうな気がするんだけど
翻訳すると「信号機を複数作ると、交差点がすべて青になったり危険」って感じか?
お前らが何話してるのかワカンネ
ハゲるって見えた・・・
ちゃんと管理すればいいだけなのにいい加減な仕事をして、そういうもんだから仕方が無いとぬかしてるわけですよ。
自分の稚拙さが解ってないでOS作ってるとか言ってるところが笑いどころ。
上のほうで深読みしてる人もいるけど多分もっと初歩的な
ネジもキチンと締められないのにエンジン作ってるとか、そんなレベル。
自分の稚拙さが解ってないでOS作ってるとか言ってるところが笑いどころ。
上のほうで深読みしてる人もいるけど多分もっと初歩的な
ネジもキチンと締められないのにエンジン作ってるとか、そんなレベル。
308のようなことは起こらない
起こったらソフトなんて成り立たないし
まぁコンパイラがバグってて、スタックの管理を間違うとかあったら
起こらないことはないけど、そんなの製品にならない
動的に確保する場合は、OS側の管理になるけど、OSがバグって
なかったら起こらない
いくらMSのOSやコンパイラがクソでも、これは無い
仮で最初にデカイメモリを取得して、308みたいなのが、自分で配列に
アドレスを割り当てるとかしてたらスグ起こるかな
結局はバグってるのは308ってことになるけどな
起こったらソフトなんて成り立たないし
まぁコンパイラがバグってて、スタックの管理を間違うとかあったら
起こらないことはないけど、そんなの製品にならない
動的に確保する場合は、OS側の管理になるけど、OSがバグって
なかったら起こらない
いくらMSのOSやコンパイラがクソでも、これは無い
仮で最初にデカイメモリを取得して、308みたいなのが、自分で配列に
アドレスを割り当てるとかしてたらスグ起こるかな
結局はバグってるのは308ってことになるけどな
自作OSでない限り、こんなことおこんねーよwww
というのは無粋か…
というのは無粋か…
Me手がけたマイクロソフト社員とでも名乗ってもらわないと納得デキネェ
>>1075
「正常に使っている限りは、>308のようなことは起こらない」ということをOSやコンパイラなどの作成元が保証しているはず。
実際にそういう問題があるなら、プログラムを作る側が対応する問題ではなく、作成元にバグ報告して直してもらうという種類の問題。
正常に使わなかった場合の例が>>1047。
>>1077
うまい例えになってるかわからんが、農地の割り当てで例えてみる。
ものすごく細長い長方形(1:1000)の農地を、1000個の正方形に区切って、それぞれの正方形を希望者に耕してもらうことにした。
希望者は先着順。「複数個を繋いだ大きい農地」の希望も可能(3個続きの1:3の長方形の農地とか)。
ただし、希望はサイズのみで場所の指定は不可。(「3個続きが欲しい」は可。「3番目から5番目が欲しい」は不可)
また、その時点で希望するサイズの農地が確保できない場合は申請を却下する。
「誰にどの農地を割り当てるか」は行政が決める。
農地がメモリ、農業希望者がメモリを要求するプログラム、行政がOS。
「複数個を繋いだ大きい農地」が配列。
>308が言ってるのは「大きい農地をたくさん割り当てると、一つの農地を複数の農業希望者が耕している状態になる」ということ。
これは、「行政がきっちり割り当てている」「農業希望者が申請した農地しか耕さない」のであれば起こらない。
そして、「行政がきっちり割り当てている」ことは普通の行政なら保証していること。
ここで最初に戻ってみると、
>392「俺は行政の運営をやってる。主な仕事は農地の割り当て」
↓
>308「大きい農地の割り当てを多くすると、一つの土地を複数の人が耕すことになっちゃうんだって」
「正常に使っている限りは、>308のようなことは起こらない」ということをOSやコンパイラなどの作成元が保証しているはず。
実際にそういう問題があるなら、プログラムを作る側が対応する問題ではなく、作成元にバグ報告して直してもらうという種類の問題。
正常に使わなかった場合の例が>>1047。
>>1077
うまい例えになってるかわからんが、農地の割り当てで例えてみる。
ものすごく細長い長方形(1:1000)の農地を、1000個の正方形に区切って、それぞれの正方形を希望者に耕してもらうことにした。
希望者は先着順。「複数個を繋いだ大きい農地」の希望も可能(3個続きの1:3の長方形の農地とか)。
ただし、希望はサイズのみで場所の指定は不可。(「3個続きが欲しい」は可。「3番目から5番目が欲しい」は不可)
また、その時点で希望するサイズの農地が確保できない場合は申請を却下する。
「誰にどの農地を割り当てるか」は行政が決める。
農地がメモリ、農業希望者がメモリを要求するプログラム、行政がOS。
「複数個を繋いだ大きい農地」が配列。
>308が言ってるのは「大きい農地をたくさん割り当てると、一つの農地を複数の農業希望者が耕している状態になる」ということ。
これは、「行政がきっちり割り当てている」「農業希望者が申請した農地しか耕さない」のであれば起こらない。
そして、「行政がきっちり割り当てている」ことは普通の行政なら保証していること。
ここで最初に戻ってみると、
>392「俺は行政の運営をやってる。主な仕事は農地の割り当て」
↓
>308「大きい農地の割り当てを多くすると、一つの土地を複数の人が耕すことになっちゃうんだって」
>>392
のOSでは配列領域確保ではメモリ占有は保障しないということだな。
配列確保後に別の配列確保して書込みした後は壊れているかもしれない。
つまり単一の配列確保後、アプリ側で管理してね、という仕様のOSだね。
そういう仕様なんだから>>308はバグじゃなくて仕様だよ、仕様。
のOSでは配列領域確保ではメモリ占有は保障しないということだな。
配列確保後に別の配列確保して書込みした後は壊れているかもしれない。
つまり単一の配列確保後、アプリ側で管理してね、という仕様のOSだね。
そういう仕様なんだから>>308はバグじゃなくて仕様だよ、仕様。
これはすごい逸材ではないか
配列があっちこっちに管理されるようなOSを作ることができたんだからw
配列があっちこっちに管理されるようなOSを作ることができたんだからw
>>308
分かってないなあ〜
車は勝手な方向に動くから、アクセルを踏むととんでもない所に激突する
って言ってんだが
(さすが俺賢いwwww、バカどもはしょうがないなぁ)
>>389
どんな仕事してる?
後、何からとりかかる?
>>392
車作ってる。
ハンドルとかブレーキ
(そんな動きするわけないだろボケ)
って話
分かってないなあ〜
車は勝手な方向に動くから、アクセルを踏むととんでもない所に激突する
って言ってんだが
(さすが俺賢いwwww、バカどもはしょうがないなぁ)
>>389
どんな仕事してる?
後、何からとりかかる?
>>392
車作ってる。
ハンドルとかブレーキ
(そんな動きするわけないだろボケ)
って話
ブーッ!
↓分かりやすく書くとこうだ(既出ならスマン)
308 以下、名無しにかわりましてVIPがお送りします :2008/12/17(水) 14:19:06.51 ID:BoD9qabUO
分かってないなあ〜
不動産屋は無作為に土地を割り振るから
土地が沢山売買されると重なる所が出て来て土地の所有者同士で訴訟に発展する
って言ってんだが
308 以下、名無しにかわりましてVIPがお送りします :2008/12/17(水) 14:19:06.51 ID:BoD9qabUO
分かってないなあ〜
不動産屋は無作為に土地を割り振るから
土地が沢山売買されると重なる所が出て来て土地の所有者同士で訴訟に発展する
って言ってんだが
元スレの流れ知らんけど、
>配列を沢山作ると重なる所が出て来てバグる
これホントか?
重ならないように割り振ってくれるんじゃないの?
てか、アドレス指定すれば問題ないじゃん
>配列を沢山作ると重なる所が出て来てバグる
これホントか?
重ならないように割り振ってくれるんじゃないの?
てか、アドレス指定すれば問題ないじゃん
要するに
>配列を沢山作ると重なる所が出て来てバグる
これが起きないようにするのがOSの役目なのに
「どんなプログラム作ったことがあるんだ?」
「OS」
てのがバカ過ぎるってことでいいのか?
>配列を沢山作ると重なる所が出て来てバグる
これが起きないようにするのがOSの役目なのに
「どんなプログラム作ったことがあるんだ?」
「OS」
てのがバカ過ぎるってことでいいのか?
※1089
そんな挙動のOSがある訳ないって誰しもが思ったところで
言った本人がOSのしかもメモリの割り振り担当しているなんていうから
お茶を吹くんだろう
そういうOSが実際あるかどうか、308がOS作成に携わっているかどうか
ここが気になったら笑えない
そんな挙動のOSがある訳ないって誰しもが思ったところで
言った本人がOSのしかもメモリの割り振り担当しているなんていうから
お茶を吹くんだろう
そういうOSが実際あるかどうか、308がOS作成に携わっているかどうか
ここが気になったら笑えない
携帯にもデジカメにもOSは入ってる
そして組み込み分野にも残念なプログラマは大勢いる
※1088の説明がわかりやすいな
みんなが不動産屋から買った土地だけ使ってれば何の問題もないが
自分が買った以上の土地を勝手に使う奴がいると酷いことになる、と
そして組み込み分野にも残念なプログラマは大勢いる
※1088の説明がわかりやすいな
みんなが不動産屋から買った土地だけ使ってれば何の問題もないが
自分が買った以上の土地を勝手に使う奴がいると酷いことになる、と
※1092
※1088の説明は同じ土地を別々の人間に売っちまうって話
自分が買った以上の土地をだとバッファオーバーラン
※1088の説明は同じ土地を別々の人間に売っちまうって話
自分が買った以上の土地をだとバッファオーバーラン
確かに自分が買った土地なのにってのが肝だからな
買ってないところを使うのは別の話
買ってないところを使うのは別の話
>>308の作るOSはハッシュテーブルでメモリ管理していて
しかも衝突のチェックをしていないのだと予想。
メモリ使用率が低いうちはまともに動きそうなのが怖い。
マジで怖い。
しかも衝突のチェックをしていないのだと予想。
メモリ使用率が低いうちはまともに動きそうなのが怖い。
マジで怖い。
3次元4次元5次元とかの配列いっぱい作っても重ならないんだよね?
ど素人のオレ様が見当外れな一言を言わせてもらおう!
>1021 学名ナナシ :2009年01月13日 00:07 #
>配列
>a[0] ←アドレス1番
>a[1] ←アドレス2番
>・
>・
>a[n] ←アドレスn番
一番下はアドレスn+1番じゃないの?
>1021 学名ナナシ :2009年01月13日 00:07 #
>配列
>a[0] ←アドレス1番
>a[1] ←アドレス2番
>・
>・
>a[n] ←アドレスn番
一番下はアドレスn+1番じゃないの?
A「こんなバグだらけのOSでプログラムなんて…
B「…いいこと思いついたぜ。グローバル変数で10,000個分の配列を確保して
みんな自分が使う部分を申請するんだ!
C「ヒュー、そいつは名案だぜ
―数日後
A「バグが取れないと思ったら、なんでお前が添え字50を使ってるんだよ
C「昨日、Bに申請して許可貰ったけど?
B「ゴメン、間違えてダブって許可しちゃったみたいだ
A,C「hoge〜
B「…いいこと思いついたぜ。グローバル変数で10,000個分の配列を確保して
みんな自分が使う部分を申請するんだ!
C「ヒュー、そいつは名案だぜ
―数日後
A「バグが取れないと思ったら、なんでお前が添え字50を使ってるんだよ
C「昨日、Bに申請して許可貰ったけど?
B「ゴメン、間違えてダブって許可しちゃったみたいだ
A,C「hoge〜
お気軽に一言お願いします。
⇒最初のコメントへ(98)

