[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:19053] Re: システムコールの追加



ebihara> 1キロバイトのメモリを確保して、そのポインターを表示するだけです。
ebihara> 実行したらアドレスが表示されます。その数値覚えといてくださいね。
ebihara> CTRL+C押さないで、プロセスを動かしたままにしておいてくださいね。
ebihara> 
ebihara> じゃ、別な端末(ALT+F2など)からログインして、もう一個同じプロセスを
ebihara> 動かして見てください。
ebihara> 
ebihara> そのアドレスいくつになりました?
ebihara> 同じになるはずです。
ebihara> 
ebihara> # 家ではこうなりました。  pointer=0x80494b0
ebihara> 
ebihara> UNIX ではプロセスが違うと全然別のメモリ空間を持つので(多重仮想記憶)
ebihara> プロセス間でポインター渡しても全然意味ないです。
やってみると家でも確かに同じ数値はでますし、一応気づいてます。
でもLinuxのカーネルはプロセス毎にページテーブルを管理していますよね??
このページテーブルを特定するためにPidを引数に持たそうとしているんですが・
・。確かに仮想アドレスはプロセス毎に同じでも実アドレスはちがいますよね?
って、やっぱり無謀なんですかね・・・・