ユーザ空間とカーネル空間

ユーザ空間とカーネル空間は分離されている。

  • アプリケーションのバグ等によりカーネル空間を破壊してしまうのを防ぐため。
  • アプリケーションがカーネル空間に自由にアクセスできるのはセキュリティ上の重大な問題となるため。
  • SIGSEGVの発生する原因の一つがユーザモード実行時における不正なメモリへのアクセス。

ユーザ空間

アプリケーションが利用するメモリ領域

カーネル空間

カーネルが利用するメモリ領域

システムコール

アプリケーション側がカーネルの機能を利用する場合はシステムコールを利用する。カーネル機能のAPI