sbrkでシンプルなmallocを実装しているのはネット上でいくつか見つけたんだけど、sbrkとmmapと両方使っている実装はそれなりに手の込んだものばかりな気がしたので、両方使う単純なmallocを作ってみた。
できたものは<こちら>に置きました。
僕のようにC言語学ぶためにmalloc自作する人は他にもいると思うので、メモも兼ねて参考になった資料を紹介しておきます:
- とても単純なmalloc、freeの実装。
- sbrkのみ利用。
- データブロックのヘッダはリスト構造ではない。
Write a simple memory allocator
- 単純なmalloc、free、realloc、callocの実装。
- sbrkのみ利用。
- データブロックのヘッダはリスト構造。
- スレッドセーフ。
- 英語。
- glibcのmallocの実装の紹介。
- 詳しい解説。