第4章 オペレーティングシステムの構成

4.1 OSのハードウェア構成

実行モード(jikko mode)

名前には非常にばらつきがある
基本的な概念

  • アプリケーションプログラムからできることを制限する
    • 非特権モード(ユーザモード、プロブレムモード、スレーブモード)
    • コンピュータ(プロセッサ)の一部の領域にアクセスできないモード
    • 一部の命令(特権命令)が実行できないようになっている
  • OSはなんでもできる
    • 特権*1モード(カーネルモード、スーパバイザモード、マスタモード)
割り込み(interrupt)と例外(exception)

現在の作業を一旦中止して別の作業に移るような機能の総称

  • 割り込み(外部割込み)
    • 現在プロセッサの実行しているプログラムとは無関係に行われる
    • 入出力割込み・タイマ割り込み
  • 例外(内部割込み)
    • 現在プロセッサの実行しているプログラムが例外的な状況になったというイベントによって発生する
    • 演算例外(0除算例外・オーバーフロー例外)・バスエラー・特権命令違反
    • カーネル呼び出し割り込み(一種の例外的状況)

割り込みの処理

  • 割り込みハンドラ
  • 割り込みサービスルーチン(ISR)
  • 割り込みハンドラは特権モードで実行

例外の処理

  • 例外ハンドラ
  • 例外ハンドラも特権モードで実行
  • カーネル呼び出し割り込み
    • スーパバイザコール
    • ソフトウェア割り込み
    • トラップ

割り込みマスク

  • 割り込みを禁止している状態のこと
  • 例外はマスクされたら困るのでマスクしたり禁止したりはできないのが普通

4.2 割込みとマルチプログラミング

そのまんま

4.3 OSの核:カーネル(kernel)

カーネルのつづりを入力していると頭の中でけーねになってしまう
一般的に特権モードで実行される

  • 実行するプログラムを切り替(換)える
  • 割り込みが起こったら対処する
  • 入出力装置への指令
  • カーネルのほとんどの動作は割り込み禁止モードで行われる。
    • 割り込み処理中に割り込みが発生することを防ぐことができる
プリエンプトカーネル
  • 横取り可能なカーネル(割り込み処理中に割り込みを発生させられる
  • 割り込み処理が遅くて処理が遅れることを防ぐことができる。

*1:privileged