Linux Kernel(2.6)の実装に関するメモ書き

ブロックデバイス


Rev.1を表示中。最新版はこちら

デバイスの登録

デバイスドライバは初期化時にregister_blkdev()でデバイスをカーネルに登録する。引数にはデバイスのメジャー番号とデバイス名を指定する。

RequestQueue

ブロックデバイスはI/O Requestを受けつけるためのRequestQueueがある。RequestQueueはblk_init_queue()で作成する。

Request処理ルーチン

RequestQueueを作成する時、blk_init_queue()の引数rfnでRequestを処理(I/Oを実行)するルーチンを指定する。このルーチンはelv_next_request()でElevator(I/Oスケジューラ)からRequestを取りだしてRequestQueueに入れて、デバイスにI/Oを発行していく。


[関連ページ]
I/Oスケジューラ


最終更新 2006/07/21 01:00:42 - kztomita
(2006/07/21 01:00:42 作成)


リンク
最近更新したページ
検索