Tuesday, 21 January 2014

OS のメモリの課題

毎年同じもの出しているのに、

何故か、今年動かないものがある

本当に一体全体何故なんだってくらい。

fragmentation を実際に見てみる
http://www.ie.u-ryukyu.ac.jp/%7Ekono/lecture/os/ex/problem/139.html

という課題ですけどね。Perl/Tk なので動かせる人は限られていると思うけど、パラメータを返ると結構面白いです。

64bit がdefaultになったわけだけど、

OS X のmallocは、たまに 0x7000000000000000 なaddressを返す

理由は不明。program のbugかも。32bit だと、これがあっても問題ないんだけど、64bit だと表示する時に、比率的に残りが全部0になっちゃう。あらら。

安直だけど、それを除いてやたら動いた。

あと、Perl 側で 0x な値を 10進に直すんですが、eval("0x10") が "0x10" を返す。え、なんで? hex("0x10") も 0。え、なんで? と思ったんだけど、授業が終わってから試してみると、ちゃんと動く。え? なに? どうして? 気のせいだったのか。

Mountain Lion からメモリ管理が劇的に良くなって、一つのアプリがメモリを大量に食ったぐらいだと、他のアプリへの影響があまりないのがつまらないです。Linux で、やると面白いんだ、これが。

No comments: