新トップページ ...

旧トップページ

Linux 日記
  Linux日記08~
  Linux日記2006
  Linux日記2005
  Linux日記2004
  Linux日記2003
  Linux日記2002
  Linuxカーネル
  + メモ ... (3p)
   勉強会
    第〇回
    第一回・予習
    第一回
    第二回・予習
    第二回
    カーネルparamsのR/W

アートでいこう(笑)!
  イラスト日記08〜
  イラスト日記2005
  イラスト日記2004
  イラスト日記2003
  アイコン描こうぜ

UCC(梅丘自転車部)
  活動ログ2003
  活動ログ2001
  活動ログ2000
  その他
  ワシの愛車

自動車関連
  FD3S日記05~
  S202日記2004
  S202日記2003
  S202日記2002
  S202給油等記録
  S202掲示板 (7dy)

自宅前カメラ
EZweb/PCSV用
プロフィール
社会科ノート 2004
社会科ノート 2003
全角半角変換
自家用リンク
視聴予定表
メモ

W/O index
第一回・予習: proc ファイルのつくりかたと、初期化ルーチンツアー

いまいちまだ、何をやっていけばいいのかがよく 分からないのですが、まあそのうち見えてくるでしょう。

proc ファイルを一つ作りましょう。 サンプルの C です。 その Make ファイルです。 小さなもんです。

  $make -f register_proc.mak register_proc.o
  $insmod register_proc.o
以上のようにすれば、printk() によって、/var/log/messages に カーネルからのログが出ます。

今回の見所としては、当たり前のことばかりですが。

  • モジュールなんて、ただの .o(オブジェクトファイル)だ。
  • /proc やモジュールのプログラムは、だいたい 自動化されているので簡単だ
  • チェックサムの取り回しに注意
  • 変なことするとハングするので、注意

おまけ: カーネルソース名所案内 - スタートアップ編。 深く見てゆけば、いろいろなことがわかるはず!(無責任)。 ソースは 2.2.13 と、ちょっと古いけれど、がまん。

  • アセンブリで書かれた初期化ルーチン 1: 最初は、16 ビットの real mode で実行。どうにかして head.S へ跳ぶの だけれど、追いきれないっす(NASM 語(Intel 語?)だし)。 だれかたのむ。 Thu Jul 13 2000: と言ってたら、Go! さんが助けてくれた。
  • アセンブリで書かれた初期化ルーチン 2: protected mode に入ったあとの初期化処理。これは AT&T 語
  • start_kernel(): C 言語で書かれた初期化ルーチン
    • init スレッドの生成: プロセス番号 1 として動く /sbin/init は、ここで生成される
    • init(): ここで dup() と exec() が呼ばれ、/sbin/init が 起動されるので、あとは /etc/inittab のとおり。かくしてカーネルの 初期化は終わり、以降カーネルは、ただ割り込みを待ち続けるだけの 存在になる、と


- ご意見・ご要望は、サイト管理者(那賀樹一郎 (Kiichiro NAKA) <knaka@ayutaya.com>)までお願いします。
- このサイトは、Turbolinux 上の Mozilla w3m でテストされています。Internet Explorer では未確認です
- 言うまでもありませんが、当サイトはリンクフリーです
- W3C の HTML チェックをかけたところ、ズタボロでした。頑張ったけど、ダメだこりゃ……