|
0から作るOS開発 ヒープとkmallocとスラブアロケーター
|
前回までの内容
これまでで、
- DMA転送を行うことでデータ転送中にCPUは別の処理を行うことができる
- フロッピーディスクで使用するDMAはISAで規定されている低速なDMA
- DMAコントローラーに転送アドレスと転送バイト数を教えるとDMA転送を行う
- DMA転送で、アクセスきるアドレスは64KBまで
- DMAコントローラーはPICと同様にマスターとスレーブが接続されている
- DMAコントローラーとして代表的なICとして8237Aがある
-
DMAコントローラーの制御レジスターとして
がある。
-
これらのレジスターを制御するDMAドライバーの簡単な実装
についてわかりました。それではカーネルを0から開発していきましょう!
ヒープとkmallocとスラブアロケーター
今回はカーネルで使用するヒープ領域についてその実装方法である
スラブアロケーターを見ていきます。また、kmallocについての実装も
見て行きましょう!
-
ヒープとkmallocとスラブアロケーターその1 概略
-
ヒープとkmallocとスラブアロケーターその2 実装
-
ヒープとkmallocとスラブアロケーターその3 改良