タグ

ブックマーク / wiki.bit-hive.com (2)

  • ネームスペース - Linuxの備忘録とか・・・(目次へ)

    ネームスペースという概念はカーネル2.6から導入されたもので、task_struct->nsproxyで参照される各リソースの管理単位となる。ここではファイルシステムについて。mountはvfsmount構造体をmnt_ns下で管理されるマウントツリーのリストを作成する。すなわちこのmnt_nsがプロセス間で異なれば、あるプロセスでmountしたファイルシステムはもう一つのプロセスでは参照できないということだ。 プロセスの作成はdo_fork関数そしてcopy_process関数へと渡っていき、そこでプロセスの複製を行う。ネームスペースに関しては、通常親プロセスを継承する。しかしCLONE_NEWNSが設定されていると、copy_namespaces関数がコールされ、新規のnsproxy(下位のメンバーについても)が確保され、そこに親の内容を複写する。clone関数から戻って子プロセスが起

    shomah4a
    shomah4a 2012/09/13
    namespace とは
  • Loadable Kernel Moduleの作り方 - とみぞーノート

    LinuxのLoadable Kernel Moduleの作り方のHowTo。対象のカーネルバージョンは2.6。 1. SourceとMakefile カーネルにLoad/Unloadできるだけの小モジュールを作ってみる。何処か適当なディレクトリに以下のようにソースとMakefileを作る。ソースとMakefileの中身は以下を参照。.tar.gzにまとめたファイルはこちらから。 xxxxxx/ Makefile - Makefile small.c - モジュールのソース 1.1 Source モジュールのソースコードのサンプルを以下に示す。 最低限必要なのは、モジュールがLoadされた時に呼び出される初期化ルーチン(smallmod_init_module())とモジュールがUnloadされる時に呼び出される後処理用ルーチン(smallmod_init_module())。これらのルー

  • 1