アットウィキロゴ

カーネルサービス

カーネル構成


カーネルは上部と下部に分けられる。
  • カーネル上部
    • システムコールに反応しサービスを提供する。カーネルのデータ構造及びユーザプロセスのコンテクストにアクセス可能。
  • カーネル下部

システムエントリ


システムエントリの方法は3種類しかない。

システムエントリのハンドラには3種類しかない。
  • syscall()
  • trap()
  • ハードウェア割り込みを処理するデバイスドライバの割り込みハンドラ。

コンテキストスイッチの手順。
  1. HWがカーネルモードに移行。これによりメモリアクセスが特権モードで行われる。
  2. HWがプログラムカウンタ、プロセッサ状態ロングワード、トラップの種類を示す情報をプロセスごとのカーネルスタックに保存。
  3. アセンブラ関数により、HWが保存しなかった情報(汎用レジスタ、ユーザスタックポインタ)をカーネルスタックポインタに保存。
  • 参考
  • HWが保存する情報と、アセンブラ関数が保存する情報の違いはなに?何故HWが全部保存してしまわないの?

タグ:

+ タグ編集
  • タグ:
最終更新:2008年09月12日 08:40