2009年9月28日月曜日

コンテキストスイッチのソースコード

今後手を加える予定なのでここにメモしときます.
(Linux2.6.25 kernel)

●コンテキストスイッチをしている箇所
 kenrel/sched.c 内 context_switch()
 switch_mm() によってプロセス空間の切り替え,switch_to() によって各種レジスタの切り替えを行っている.

●コンテキストを切り替える際に保存する情報
 task_structに格納している
  :定義は include/linux/sched.h l994
 更に,CPU依存の低レベルな実行コンテキストは thread_struct に格納している
  :定義は include/asm-x86/processor.h l315

以下はソースコードコピペ(長すぎて邪魔だったので消しましたw 09/10/15)

2 件のコメント:

サエダ(・・*) さんのコメント...

気持ち悪い(^v^)
バグみたいのかとおもったw

aya さんのコメント...

>サエダ(・・*)
確かにw
それ以上に読みにくいし邪魔だねw
そのうち消すかなw