- PR -

kernelソースの読み方

1
投稿者投稿内容
yuuta_papa
会議室デビュー日: 2002/05/21
投稿数: 13
投稿日時: 2002-05-28 23:11
こんばんは、ゆうたパパです。

すご〜く具体的な質問でなく悪いんですが、
Linuxのカーネルの読み方のコツのようなもの
をご存知なかたがいらっしゃったら、ぜひ
教えていただきたいです。ちなみに、この前
オライリーの詳解Linuxカーネルという本を
購入したのですが、難しすぎて本棚に眠って
おります。カーネルのメイリングリストに
もはいったのですが、こちらはさらに敷居
がたかかったです。

識者のみなさまよろしくお願い致します。
H2
ぬし
会議室デビュー日: 2001/09/06
投稿数: 586
お住まい・勤務地: 港
投稿日時: 2002-05-28 23:41
カーネルを読む前にOSの知識をつけた方が良いと思いますよ。一応、色々な理論があるわけで、基礎となる知識を蓄えてからのほうが分かりやすいのでは。
ざっと検索すると
「オペレーティングシステム概説 その概念と構造」なんて本があります。(実際に読んだわけではないので良いかわかりませんが)私は、授業でその名もずばり「Operating Systems」(英語です)なんて教科書を使いました。

OSはブートアップ、プロセス管理やメモリ管理、スケジュール管理、様々なAPIやシステムコールの提供などいろいろやるソフトなので、先に理論を学んだ方が面白いですよ。

ちなみに、うちの大学の教科のひとつ「Operating System」へのリンクは http://www.cse.unsw.edu.au/~cs3231/ です。英語ですが講義ノートや教育用OS、Topsyなどがあります。
あと、ソースコードブラウザも
http://om.cse.unsw.edu.au/lxr/linux/http/source/?v=2.2.1-L4MIPS にあります。

[ メッセージ編集済み 編集者: H2 編集日時 2002-05-28 23:49 ]
yuuta_papa
会議室デビュー日: 2002/05/21
投稿数: 13
投稿日時: 2002-05-29 01:01
H2さん早速の回答ありがとうございます。
linuxばかりに目をむけてしまい、基礎の
ことなど考えておりませんでした。
参考URIありがとうございます。早速見させて
いただきます。その後、LINUXカーネルの本
熟読したいです。(なにしろ5800円もしたもんで・・・)
ひろま
会議室デビュー日: 2001/08/23
投稿数: 11
投稿日時: 2002-05-29 14:06
こんにちは。

Linuxをはじめオープンソースソフトウエアは、誰でもソースコードを見たり修正できる
から発展する、とはよく言われますが、実際に巨大なソースコードを見て理解し、
ましてや修正を行うなんてごく一握りの人にしかできないのが実体でしょうねぇ。

私のような平凡な技術者の端くれにできることは、せいぜいログを追加して動作確認
することぐらいですが、取り敢えず、下記のサイトは良く参照します。

Cross-Referencing Linux
http://lxr.linux.no/source/

UNIXカーネルソースコードツアー
http://www.tamacom.com/unix/index-j.html

あと、カーネル付属のドキュメントは一通り目を通すと参考になります。
JFに(全部ではありませんが)和訳もあります。

では、頑張って下さい。
かえる
ぬし
会議室デビュー日: 2002/01/07
投稿数: 459
投稿日時: 2002-05-29 14:35
OSのカーネルの根本的な心臓の理論は、熟成期も終わり、
ほぼ、理論面では、大きな変更は無いのでは?
と、思います。
Windowsを無視し、さらに、時間があるのであれば、
数学的な理論から一度入り、構造も理論も、違いますが、
OSのカーネルの心臓と言う部分では、
Linuxが出来る前後かそれより前に教育用に作られた、
Minixから入るのもいいかと思います。
でも、Minixを教育目的で作った教授と、Linuxを大学生の時に作った方とで
当時、大きな喧嘩までは行かないまでも、いろいろな議論が話題になったのは
有名だと思います。
Linuxは、実用性があったため、また、だから普及してるんですが、
大きくなりすぎ、いきなり飛びつくには、一人では非常に苦しい部分もあるかも
しれません。
「Minix」は、基礎的なモジュール構造は、Windowsに近い部分を持ってますが、
使える基本機能は、LinuxやUNIXをターゲットにしたものである。
さらに、教育目的で作られた。
考え方に違いがあっても、「Minix」があったが為に、「Linux」が生まれたとも
極例では言えると思います。
「UNIX」は、「Multics(スペルあってたかな?マルティクスで発音いいんでしたっけ?)」
が、あったから、作られた、出来たとも言える。
こういう、観点から見れば、「Minix」と「Linux」も、似てると思います。
「UNIX」と「Multics」との関係に。
なので、「Minix」まで遡って入って、そこから、「Linux」を、バージョンを飛ばして
今のソースをもう一度見れば、理解しやすいのでは無いでしょうか?

遠回りが近道になることもある。

そう、思います。
yuuta_papa
会議室デビュー日: 2002/05/21
投稿数: 13
投稿日時: 2002-05-29 19:07
ゆうたパパです。

みなさま本当に良い情報をいち早く
教えていただいてありがとうございます。
色々勉強することは多いですが、頑張ってみます。

ところで、かえるさん。minixはi386のましんに
普通にインストールできるのでしょうか?
初歩的に質問でごめんなさい。できれば、おしえて
下さい。宜しくお願い致します。
H2
ぬし
会議室デビュー日: 2001/09/06
投稿数: 586
お住まい・勤務地: 港
投稿日時: 2002-05-29 19:52
Minixはi386とSparcで走るようです。

Minix の本家 http://www.cs.vu.nl/~ast/minix.html
わざわざMinixのためにPC1台無駄にすることもないような・・・。i386のBochaとかいうシミュレータの上でも走るそうですよ。
ed17
ベテラン
会議室デビュー日: 2002/05/24
投稿数: 53
投稿日時: 2002-05-30 13:10
引用:

H2さんの書き込み (2002-05-29 19:52) より:
Minixはi386とSparcで走るようです。

Minix の本家 http://www.cs.vu.nl/~ast/minix.html
わざわざMinixのためにPC1台無駄にすることもないような・・・。i386のBochaとかいうシミュレータの上でも走るそうですよ。



MinixはTannenbaumの教科書とセットで学ぶと良いと思います。
http://linux.ascii24.com/linux/news/today/2000/04/12/433792-000.html
の記事末尾に書誌データあり。
もっとも、私は初版しか読んだことがありません。
ASCIIの日本誤訳は翻訳がいまいちという記憶があります。原書も平易な英語です。
1

スキルアップ/キャリアアップ(JOB@IT)