Hatena::Grouphackathon

zrail (a.k.a. tobira17, h14i, ...) の Learning Log

2010-08-06

[][][]malloc の実装とかしたい 13:34 malloc の実装とかしたい - zrail (a.k.a. tobira17, h14i, ...) の Learning Log を含むブックマーク はてなブックマーク - malloc の実装とかしたい - zrail (a.k.a. tobira17, h14i, ...) の Learning Log

ふと思ったんだけど、そういえば自分で malloc を実装したことなかったな。

いやもしかしたら K&R に載ってる alloc*1は作ったかも。

その辺の理解が結構曖昧な気がしてきたのでもうちょい突っ込んでみようと思う。


このエントリで言うところの離散数学とコンピュータアーキテクチャにあたるのかなぁ。

データ構造はまぁ当然のように考えなきゃいけないし、それなりの速度を出せるようにするならアルゴリズムも工夫しなきゃいけない。

んで、メモリを OS から借りてこなきゃいけないわけだから、 OS の知識と若干のハードウェア知識も必要だろう。*2


malloc のことを勉強するのはとても楽しそうなんだけど、最近 GC 積んでる言語ばっかり使ってるせいで malloc そのものの使い方を忘れてきちゃってる。

僕の頭はもうダメかも。


*追記

などと上で書いたけれど、 OS のシステムコールを使えばデータ構造だとかアルゴリズムってそんなに強く意識しなくてもいけるんじゃないか?知らんけど。

っていうか別に作らなくてもいいや。

人が書いた malloc のコードを読むだけでもかなり勉強になるんじゃね。

*1:alloc で合ってたっけ?と思って調べたら K&R の p.123 に載ってた

*2K&R の alloc は別。あれは自前でバッファを確保してるから、その範囲でしか使えない