☆Linux カーネルの仕組みを勉強するスレ☆
■ このスレッドは過去ログ倉庫に格納されています
0001login:Penguin
01/10/02 17:44ID:38KkZsUQカーネル全般について語り合うスレッドです。
0002先生
01/10/02 17:57ID:eJtCpXEo0003login:Penguin
01/10/02 18:33ID:E7mCRr2Iメモリ管理について教えてください。
仮想メモリってなんですか?
もはやメモリをケチる必要がないので
仮想メモリシステムは過去の遺物なのでは?
0004login:Penguin
01/10/02 18:37ID:qNtnxrRQ0005生徒A
01/10/02 18:43ID:ozLMsuOI先生は逃げたみたいなので代わりに回答.
仮想メモリがないとメモリが分断されまくる.
あ,でもメモリ空間が64ビットならば不要?
いや,年単位で連続運用するならやっぱいるか.
0006login:Penguin
01/10/02 18:51ID:E7mCRr2Iレスありがとうございます。
でもなかなか難しいですね。
カーネルの勉強するにはどこから入ればいいのでしょうか?
0007login:Penguin
01/10/02 18:59ID:OaJKhMPgこの辺でも読んでみれば?
俺は読んでないから(w、良いのかどうか知らんけど。
0008login:Penguin
01/10/02 19:04ID:E7mCRr2Iしかしこれまた難しそうですね(笑
でもカーネルを勉強するからにはやっぱり避けられないのでしょう・・・・
頑張って読んでみます。ありがとうございました。
0009生徒A
01/10/02 19:15ID:ozLMsuOIなら,マイクロカーネルのITRONやMINIXなど,小さいもの
から学ぶのが良いと思われ.
ファイルシステムも標準出力も無いが,メモリやプロセスの
管理など,基本的な部分が学べる.
ところでこのスレには,先月のLinux Kernel Conferenceに
参加した猛者はおらんのか? 漏れは猛者では無いが参加
した.カーネルの概要など,一般的な部分が多かったが,
勉強になった.
0010login:Penguin
01/10/02 19:47ID:OjgDyI7Mこのあたりから眺めてみるのもいいかも。
ftp://ftp.kernel.org/pub/linux/kernel/Historic/linux-0.01.tar.bz2
0011login:Penguin
01/10/02 22:28ID:6FKAXCY.有名どころだけど
http://www.linux.or.jp/JF/ の
http://www.linux.or.jp/JF/JFdocs/The-Linux-Kernel.html
0012login:Penguin
01/10/02 22:30ID:6FKAXCY.でもカーネルに踏み込んでいって初めてLinuxの楽しさがわかりますなぁ。
0013名無しさん
01/10/02 22:46ID:zSfn87tEくわしくおしえてください
0014login:Penguin
01/10/02 23:05ID:5C40lEU6slab allocatorなら教えてあげられるけど・・
0015名無しさん@お腹いっぱい。
01/10/02 23:11ID:YMg.KQfsこれはいいよ。おれもよく眺めてるw
0016login:Penguin
01/10/02 23:17ID:oluBGeawなにお熱くなってるんだ?
0017login:Penguin
01/10/02 23:22ID:72q63jd2興味ない奴は、別に気にしなくてもいいよ。
0018login:Penguin
01/10/02 23:49ID:wFiCO6hIslab ってのは、
ページサイズより小さな領域を効率よく割り当てる
仕組み。いくつかの「オブジェクト」をまとめて割り当てて、そこから割り当てるようになってる。
特徴的には、Linuxだと
- キャッシュラインをずらしてキャッシュヒット率を上げてる。
- 2.4 だと CPU ごとのプールがあって、競合しにくくなってる。
ぐらいか。
オリジナルは Sun のやつで、論文がでてる。slab allocator Sun とかで検索かければたくさんヒットするよ。
Sun のは、無駄な再初期化を減らす方に主眼が置かれてたみたいだけど、Linux はそういう使い方はしてない。
0019login:Penguin
01/10/02 23:53ID:2Dl0has60020login:Penguin
01/10/03 00:29ID:qmOPlmH.LinuxJapanのやつだよね。
雑誌のほうがきちんとかかれているので、高いけど我慢して買ってます。
0021login:Penguin
01/10/03 00:30ID:qmOPlmH.0022login:Penguin
01/10/03 00:49ID:hQhC8R6Eオープンソースコメンタリー(?)とかいうヤシは
参考になりますか?
0023login:Penguin
01/10/03 15:39ID:OoBvWckAUNIX Internals: The New Frontiers / Uresh Vahalia
(邦訳:最前線 UNIX のカーネル)
一冊でほとんど網羅してるので、質問する前に必ず読め。
0024login:Penguin
01/10/03 19:06ID:2CGhO19gUNIXカーネルとLINUXカーネルは別物ではないですか?
0025生徒A
01/10/03 20:26ID:L1U0davcOSの構造なんて,大体似たようなもんだから,1つわかれば
別のOSについてもわかるので,わかりやすい物から攻略すべし.
って漏れも修行中なんだけど.
Solarisなんかは結構すっきりしていて良いかと.
0026login:Penguin
01/10/03 20:34ID:OZlrqpPMオライリーの新しいのもあります。これも難しい....
詳解 Linuxカーネル
ttp://www.oreilly.co.jp/BOOK/kernel/
002722
01/10/03 20:56ID:hQhC8R6E立ち読みしてみたけど。あまりよくないみたいっす。小学館。
詳解Linuxカーネル、買おうと思っていたんだけど、
ギリギリ足りなかったので、
「Lions' Commentary on UNIX」ってのを買いました。
最初、「ヤッチマッター」とか思ったんですが、
よく読むと結構面白いデス。
0028??????
01/10/03 21:06ID:bEXvgoqgの中で、
「カーネルはずいぶん巨大なプログラムになっているが、カーネルについて
勉強するとすれば、どこから手をつければいいのか?」
という質問に、リーナスさんが答えてます。
0029login:Penguin
01/10/03 21:15ID:WC8.1bjoどの本も高いからね。失敗は許されない(笑
ところで生徒Aさんは理系の学生ですね?
「 . 」と使うのは理系の学生ということを最近知りました。
全然関係ないのですが・・・・・・
学生のあいだじゃないとKernelの勉強する余裕も暇も無いんだろうなぁ
0030login:Penguin
01/10/03 21:33ID:7HwwpjBYLionsの本はいいよ。まだ小さいころのUNIXだから楽に読める。
ただ、うちの学生に読ませるとPDP/11の構造とか昔のCの
特異なシンタックスとか、ユーザー空間とカーネル空間の
マッピングなんかが分かりにくいから少し丁寧に解説しなくては
ならなくてめんどい。
>>18 誤爆だよ。>>13はslab accellarator って書いてるんだよ。
003122
01/10/03 21:36ID:hQhC8R6E>>29
Lions' Commentary on UNIX 、イイです。
他のカーネル解析本が5、6、7千円する中、
3800円という値段だし、ソースのコメントも、
解説も、厨房の漏れにも簡単に理解できます。
UNIX6thEditionのソースだけど。。。
ま、まぁ、かなり良書だと思います。
PDP-11モッテルヒトニトッテハナー (・∀・)
ヒガイシャハオレダケジャイヤダナー(・∀・)
カッテクレーカッテクレー (T∀T)
0032
01/10/03 21:59ID:6FwjUW2sほんまむだやで。
0033login:Penguin
01/10/03 23:58ID:eXoVUEs6そうそう。カーネルを勉強したからといってどうせOSを作るわけでもないんだろ?
はっきりいって仕事でそんな知識は必要ありません。必要なのは体力、根性です(藁
0034login:Penguin
01/10/04 00:06ID:qcYQ0G.sカーネルハックして、自分の環境に
より適合させたいってのはあるんですが。
それに、コンピューター関連の仕事なら
かなり役に立つらしいですよ。
0035login:Penguin
01/10/04 00:19ID:IJ/BVV8A御意。カーネルを読むことによってプログラミング
することが楽しくなり、おまけにコンピュータに
関する様々な知識が得られるでしょう。
0036login:Penguin
01/10/04 01:37ID:TP.JpGmU仕事でカーネルいじってますが、何か?
0037生徒A
01/10/04 02:20ID:BnS2BE2U本棚からお勧め書籍を紹介。
●A.S.タネンバウム, A.S.ウッドハル/ オペレーティングシステム
・設計と理論およびMINIXによる実装, ピアソン, ¥8,800
個人的にはOSの本を1冊かうならコレ。マイクロカーネルのUNIX
(下位)互換のOS、MINIXの解説本。図版も適切でわかりやすく、
巻末に解説付きソースコードとCD-ROMが付属。
●A.S.タネンバウム / 分散オペレーティングシステム
(プレンティスホール)¥6,400
基本的に分散アーキテクチャの本だが、スレッドやセマフォ、
メッセージパッシングなどといったOSの基本を学ぶのに最適。
マルチプロセッサに関してもかなり詳しい。
ほかにも色々あるけど、とりあえず2冊。
0038login:Penguin
01/10/04 05:17ID:Up.CcwEMカーネルデザインってのはソフトウェアエンジニアの一般教養の一つだろ。
一般教養はえてして practical には見えんもんだけど。
でも、物事に対する造詣の深さってのはそういう一般教養の積み重ねなんだよ。
薄っぺらいつまらんエンジニアで一生を終えたいんなら必要ないけどな。
0039login:Penguin
01/10/04 12:17ID:qcYQ0G.s調べてみた。
http://www.amazon.co.jp/exec/obidos/ASIN/4894710471/ref=sr_aps_d_1_1/250-2499176-5469014
http://bookweb.kinokuniya.co.jp/guest/cgi-bin/wshosea.cgi?W-NIPS=9971429985
あと、MINIXに関する本は
http://bookweb.kinokuniya.co.jp/guest/cgi-bin/wshosea.cgi?KEYWORD=%4D%69%6E%69%78
0040login:Penguin
01/10/04 12:54ID:7fdQf4Tsはよさげ。
00414
01/10/05 00:23ID:gYIiu.Dk0042login:Penguin
01/10/05 00:28ID:x.kXOwPcオメデトーアゲ
004341
01/10/05 19:30ID:b1Ltl45Y004441
01/10/05 19:30ID:b1Ltl45Y0045login:Penguin
01/10/05 22:02ID:s1QC/7Fg(´-`).。oO(オメデト...)
0046生徒A
01/10/08 17:37ID:ckosTg1k>「C言語初歩段階」の私が、Linuxのカーネルを「読んで理解出来るよ
>うになる」段階に到達するには、一体どんな本を勉強すればよろしいの
>でしょうか?
別スレの質問だが、「C言語初歩段階」なんて言っているくらいなら
C言語をマスターするのが先。プログラム板でC言語関連の書籍を捜す
べし。
とりあえずC言語で1万行くらいのプログラムを書け。話はそれからだ。
期待しているよ。
0047login:Penguin
01/10/08 17:59ID:b/ngw8PEclassぐらいは理解できんときついわな!!
0048login:Penguin
01/10/08 18:40ID:a7vO/utYコード数、UNIX6Editionの主要部分より
多いし。
0049login:Penguin
01/10/08 21:03ID:x5IDA3B2解説してくれる人いますか?
SE用の実装で、ILRの向こうの8259をどう扱えば良いか、悩んでるんですが。
0050login:Penguin
01/10/08 21:04ID:x5IDA3B20051生徒A
01/10/08 22:34ID:YM3gMNoMSH-4は割り込みが1本にまとめられていて、割り込み要因が
どれかはソフトウェアで判定しなければならないため、
PC/ATの割り込みコントローラをエミュレートする形で
割り込みを判定するルーチン…でいいのかなぁ。
もし全然嘘だったらごめんなさい。
念のため、Linux/SHのページを貼っておきます。
http://linuxsh.sourceforge.net/docs/abe/doc/linux-sh-kernel-bootup_J.php3
■ このスレッドは過去ログ倉庫に格納されています