タグ

kernelに関するtanarkyのブックマーク (3)

  • マルチスレッドのコンテキスト切り替えに伴うコスト - naoyaのはてなダイアリー

    また Linux カーネルの話です。 Linux では fork によるマルチプロセスと、pthread によるマルチスレッドでの並行処理を比較した場合、後者の方がコストが低く高速と言われます。「スレッドはメモリ空間を共有するので、マルチプロセスとは異なりコンテキストスイッチ時にメモリ空間の切り替えを省略できる。切り替えに伴うオーバーヘッドが少ない。」というのが FAQ の答えかと思います。 が「オーバーヘッドが少ない」と一言にいわれても具体的にどういうことなのかがイメージできません。そこで Linux のスレッド周りの実装を見て見ようじゃないか、というのが今回のテーマです。 3分でわかる(?) マルチプロセスとマルチスレッド まずはうんちく。マルチプロセスとマルチスレッドの違いの図。以前に社内で勉強会をしたときに作った資料にちょうど良いのがあったので掲載します。Pthreadsプログラミ

    マルチスレッドのコンテキスト切り替えに伴うコスト - naoyaのはてなダイアリー
  • 64GB超RAMサポート | OSDN Magazine

    Linuxカーネルのバージョン2.6では、大容量RAMサポート強化が一つの目標とされています。バージョン2.4においても、理論的には64GBまでのRAMがサポートされていましたが、現実的には16-32GB程度が限界でした。先日、Ingo Molnar氏から64GB超のRAMサポートの公開リリースがLinux Kernel MLにアナウンスされました。 Linuxカーネルバージョン2.4のRAMサポート Linuxカーネルバージョン2.4では、カーネルコンパイル時のオプションとして、 RAM容量を選べ、1GB未満、1GB以上4GB未満、4GB以上64GB未満を選べます。 しかし、実際には16-32GB程度が限界でした。なぜそうだったのか、今後どうなるのか、Ingo Molnarは明らかにしています。 Linux 2.6での大容量RAMサポート Linuxカーネルバージョン2.6では、64GB

    64GB超RAMサポート | OSDN Magazine
  • 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