タグ

ブックマーク / homepage3.nifty.com (3)

  • メモリ管理

    ◆ メモリ管理とは? UNIX では、どうやって複数のプログラムを実行しているのでしょうか? 具体的には、以下の3つの目標を実現する必要があります。 複数のプログラムを同時に実行すること。 物理メモリを効率良く管理すること。 あるプログラムの暴走や異常終了が他のプログラムの実行へ影響しないこと。 そのためには、メモリ管理機構にどのような機能が必要でしょうか? 物理メモリサイズより大きいサイズのプログラムを実行できること 理想的には任意のサイズのプログラムを実行できること 部分的にロードされたプログラムを実行できること プログラムのスタートアップ時間を減らすためにも 一度に複数のプログラムがメモリに存在できること プログラムをメモリ上の任意の場所(アドレス)にロードでき、 実行中に移動できること プログラムが再配置可能であること 物理メモリのサイズや構成に関係なく、プログラムを記述で

  • カーネルモジュールを作る

    ○ はじめに Linux® でのデバイスドライバは、カーネルに静的にリンクする形式と、動的にロードすることができるモジュール形式で作成することができます。 Webではカーネルモジュールの作成方法を説明します。 "C 言語によるプログラミングでは main() 関数から実行される" という約束事があるように、モジュールプログラミングにもこうしなければならないという約束事があります。 ここでは、簡単なモジュールを作ってみることでモジュールプログラミングに最低限必要な知識を説明します。 サンプルプログラム サンプルプログラムの説明 複数ファイルに分割して作成する printk の使い方 kmalloc / kfree によるメモリの確保 / 解放 module_init / module_exit マクロについて ○ サンプルプログラム カーネルへのロードおよびカーネルからのアンロードの

  • /proc インタフェースを使う

    ○ はじめに Linux® では、/proc ファイルシステムというファイルシステムがサポートされています。/proc ファイルシステムは、実ファイルが存在するわけではなく、カーネル内のソフトウェアと情報のやりとりをするためのインタフェースです。例えば ps 等は、/proc 以下のファイルから情報を収集して画面に表示しています。 ここでは、/proc 以下にエントリを作成し、ユーザプロセスとやりとりする方法を説明します。 サンプルプログラム サンプルプログラムの説明 ○ サンプルプログラム /proc/driver/samplproc という /proc インタフェースに対応したサンプルプログラムproc.c です。はじめに のページから、全てのサンプルプログラムを 固めた tar ボールをダウンロードすることもできます。 insmod で組み込むと、/proc/driver/sampl

  • 1