Tweet

bottom half と top half

Linux カーネルの場合,

top half
割り込みコンテキスト
bottom half
割り込みの後に実行される,非割り込みコンテキスト.現在ではソフト割り込み or タスクレットで実行される.

という切り分けだと思ったが,他の UNIX 系 OS では

top half
非割り込みコンテキスト
bottom half
割り込みコンテキスト

というような使いかたをされているようである (例えばここらへん).

ところで,一般的なデバイスドライバでは,ドライバの開始処理と終了処理を除けば

  1. システムコール
  2. 割り込み処理
  3. 割り込みの後処理

の3つのコンテキストがある.

ここに上記の Linux と FreeBSD の場合を当てはめてみると

コンテキストLinuxFreeBSD
システムコール(名無し)top half
割り込み処理top halfbottom half
割り込みの後処理bottom half(名無し)

ということになるのかなぁ?

おしえて,えらいひと.

本日のツッコミ

  • 今日はお目にかかれて感激です.一般的にシステムコールからカーネルに突入するのをプロセスコンテキスト,割り込みからカーネルに突入するのを割り込みコンテキストと言うのだと思っています.BSDの場合の遅延処理(割り込みの後処理)はソフトウェア割り込みと呼ぶ気がします.用語がややこしい. -- りょうせい? 2006-05-26 (金) 18:11:45

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2006-05-26 (金) 18:11:46 (4435d)