トップページ⇒linux
986コメント359KB

☆Linux カーネルの仕組みを勉強するスレ☆

■ このスレッドは過去ログ倉庫に格納されています
0001login:Penguin01/10/02 17:44ID:38KkZsUQ
メモリ管理、プロセス、ファイルシステム色々ありますが
カーネル全般について語り合うスレッドです。
0002先生01/10/02 17:57ID:eJtCpXEo
知ったかぶるなよ
0003login:Penguin01/10/02 18:33ID:E7mCRr2I
>>先生
メモリ管理について教えてください。
仮想メモリってなんですか?
もはやメモリをケチる必要がないので
仮想メモリシステムは過去の遺物なのでは?
0004login:Penguin01/10/02 18:37ID:qNtnxrRQ
hayaku nihonngo ga tukaeru youni naritai
0005生徒A01/10/02 18:43ID:ozLMsuOI
>>3
先生は逃げたみたいなので代わりに回答.

仮想メモリがないとメモリが分断されまくる.
あ,でもメモリ空間が64ビットならば不要?
いや,年単位で連続運用するならやっぱいるか.
0006login:Penguin01/10/02 18:51ID:E7mCRr2I
>>5
レスありがとうございます。
でもなかなか難しいですね。

カーネルの勉強するにはどこから入ればいいのでしょうか?
0007login:Penguin01/10/02 18:59ID:OaJKhMPg
http://www.oreilly.co.jp/BOOK/kernel/

この辺でも読んでみれば?
俺は読んでないから(w、良いのかどうか知らんけど。
0008login:Penguin01/10/02 19:04ID:E7mCRr2I
引き続きレスありがとうございます。
しかしこれまた難しそうですね(笑
でもカーネルを勉強するからにはやっぱり避けられないのでしょう・・・・
頑張って読んでみます。ありがとうございました。
0009生徒A01/10/02 19:15ID:ozLMsuOI
Linuxカーネルは巨大なので,OS全般について学びたい
なら,マイクロカーネルのITRONやMINIXなど,小さいもの
から学ぶのが良いと思われ.

ファイルシステムも標準出力も無いが,メモリやプロセスの
管理など,基本的な部分が学べる.

ところでこのスレには,先月のLinux Kernel Conferenceに
参加した猛者はおらんのか? 漏れは猛者では無いが参加
した.カーネルの概要など,一般的な部分が多かったが,
勉強になった.
0010login:Penguin01/10/02 19:47ID:OjgDyI7M
肥大化する前のコンパクトなバージョンなので、
このあたりから眺めてみるのもいいかも。
ftp://ftp.kernel.org/pub/linux/kernel/Historic/linux-0.01.tar.bz2
0011login:Penguin01/10/02 22:28ID:6FKAXCY.
Linux使うならカーネルを勉強したいよね。

有名どころだけど
http://www.linux.or.jp/JF/ の
http://www.linux.or.jp/JF/JFdocs/The-Linux-Kernel.html
0012login:Penguin01/10/02 22:30ID:6FKAXCY.
カーネルまでいくと流石に簡単じゃないね。
でもカーネルに踏み込んでいって初めてLinuxの楽しさがわかりますなぁ。
0013名無しさん01/10/02 22:46ID:zSfn87tE
slab accellarator のことを
くわしくおしえてください
0014login:Penguin01/10/02 23:05ID:5C40lEU6
>>13
slab allocatorなら教えてあげられるけど・・
0015名無しさん@お腹いっぱい。01/10/02 23:11ID:YMg.KQfs
http://www03.u-page.so-net.ne.jp/da2/h-takaha/internal24/
これはいいよ。おれもよく眺めてるw
0016login:Penguin01/10/02 23:17ID:oluBGeaw
別にプログラムするのにカーネルのお勉強なんて無駄だよ(藁
なにお熱くなってるんだ?
0017login:Penguin01/10/02 23:22ID:72q63jd2
>16
興味ない奴は、別に気にしなくてもいいよ。
0018login:Penguin01/10/02 23:49ID:wFiCO6hI
>13

slab ってのは、

ページサイズより小さな領域を効率よく割り当てる

仕組み。いくつかの「オブジェクト」をまとめて割り当てて、そこから割り当てるようになってる。

特徴的には、Linuxだと

- キャッシュラインをずらしてキャッシュヒット率を上げてる。
- 2.4 だと CPU ごとのプールがあって、競合しにくくなってる。

ぐらいか。

オリジナルは Sun のやつで、論文がでてる。slab allocator Sun とかで検索かければたくさんヒットするよ。
Sun のは、無駄な再初期化を減らす方に主眼が置かれてたみたいだけど、Linux はそういう使い方はしてない。
0019login:Penguin01/10/02 23:53ID:2Dl0has6
この板のレベル高い人は本当にレベルが高いからほんと勉強になります。
0020login:Penguin01/10/03 00:29ID:qmOPlmH.
>>15
LinuxJapanのやつだよね。
雑誌のほうがきちんとかかれているので、高いけど我慢して買ってます。
0021login:Penguin01/10/03 00:30ID:qmOPlmH.
>>19 同感
0022login:Penguin01/10/03 00:49ID:hQhC8R6E
小学館から出ている
オープンソースコメンタリー(?)とかいうヤシは
参考になりますか?
0023login:Penguin01/10/03 15:39ID:OoBvWckA
一昔前の(とはいっても未だに最先端に近い) UNIX カーネルの話題は、
UNIX Internals: The New Frontiers / Uresh Vahalia
(邦訳:最前線 UNIX のカーネル)
一冊でほとんど網羅してるので、質問する前に必ず読め。
0024login:Penguin01/10/03 19:06ID:2CGhO19g
>>23
UNIXカーネルとLINUXカーネルは別物ではないですか?
0025生徒A01/10/03 20:26ID:L1U0davc
>24 どうしてもLinuxのカーネルでないとだめ?
OSの構造なんて,大体似たようなもんだから,1つわかれば
別のOSについてもわかるので,わかりやすい物から攻略すべし.
って漏れも修行中なんだけど.

Solarisなんかは結構すっきりしていて良いかと.
0026login:Penguin01/10/03 20:34ID:OZlrqpPM
>>22 ちと疑問です。

オライリーの新しいのもあります。これも難しい....

詳解 Linuxカーネル
ttp://www.oreilly.co.jp/BOOK/kernel/
00272201/10/03 20:56ID:hQhC8R6E
>>26
立ち読みしてみたけど。あまりよくないみたいっす。小学館。
詳解Linuxカーネル、買おうと思っていたんだけど、
ギリギリ足りなかったので、
「Lions' Commentary on UNIX」ってのを買いました。
最初、「ヤッチマッター」とか思ったんですが、
よく読むと結構面白いデス。
0028??????01/10/03 21:06ID:bEXvgoqg
http://www.linux.or.jp/JF/JFdocs/linus-lecture/kernel-writing.html
の中で、
「カーネルはずいぶん巨大なプログラムになっているが、カーネルについて
勉強するとすれば、どこから手をつければいいのか?」
という質問に、リーナスさんが答えてます。
0029login:Penguin01/10/03 21:15ID:WC8.1bjo
>最初、「ヤッチマッター」とか思ったんですが、
どの本も高いからね。失敗は許されない(笑

ところで生徒Aさんは理系の学生ですね?
「 . 」と使うのは理系の学生ということを最近知りました。
全然関係ないのですが・・・・・・

学生のあいだじゃないとKernelの勉強する余裕も暇も無いんだろうなぁ
0030login:Penguin01/10/03 21:33ID:7HwwpjBY
>>27
Lionsの本はいいよ。まだ小さいころのUNIXだから楽に読める。
ただ、うちの学生に読ませるとPDP/11の構造とか昔のCの
特異なシンタックスとか、ユーザー空間とカーネル空間の
マッピングなんかが分かりにくいから少し丁寧に解説しなくては
ならなくてめんどい。

>>18 誤爆だよ。>>13はslab accellarator って書いてるんだよ。
00312201/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:Penguin01/10/03 23:58ID:eXoVUEs6
>>32
そうそう。カーネルを勉強したからといってどうせOSを作るわけでもないんだろ?
はっきりいって仕事でそんな知識は必要ありません。必要なのは体力、根性です(藁
0034login:Penguin01/10/04 00:06ID:qcYQ0G.s
>>33
カーネルハックして、自分の環境に
より適合させたいってのはあるんですが。

それに、コンピューター関連の仕事なら
かなり役に立つらしいですよ。
0035login:Penguin01/10/04 00:19ID:IJ/BVV8A
>>34
御意。カーネルを読むことによってプログラミング
することが楽しくなり、おまけにコンピュータに
関する様々な知識が得られるでしょう。
0036login:Penguin01/10/04 01:37ID:TP.JpGmU
>>33
仕事でカーネルいじってますが、何か?
0037生徒A01/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:Penguin01/10/04 05:17ID:Up.CcwEM
>>32
カーネルデザインってのはソフトウェアエンジニアの一般教養の一つだろ。
一般教養はえてして practical には見えんもんだけど。
でも、物事に対する造詣の深さってのはそういう一般教養の積み重ねなんだよ。
薄っぺらいつまらんエンジニアで一生を終えたいんなら必要ないけどな。
0039login:Penguin01/10/04 12:17ID:qcYQ0G.s
>>37
調べてみた。
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:Penguin01/10/04 12:54ID:7fdQf4Ts
http://www.amazon.co.jp/exec/obidos/ASIN/4894710471/ref=sr_aps_d_1_1/250-2499176-5469014
はよさげ。
0041401/10/05 00:23ID:gYIiu.Dk
3日もかかった。
0042login:Penguin01/10/05 00:28ID:x.kXOwPc
>>41
オメデトーアゲ
00434101/10/05 19:30ID:b1Ltl45Y
(*^_^*)
00444101/10/05 19:30ID:b1Ltl45Y
(*^_^*)
0045login:Penguin01/10/05 22:02ID:s1QC/7Fg
>>41
(´-`).。oO(オメデト...)
■ このスレッドは過去ログ倉庫に格納されています