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

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

■ このスレッドは過去ログ倉庫に格納されています
0001login:Penguin01/10/02 17:44ID:38KkZsUQ
メモリ管理、プロセス、ファイルシステム色々ありますが
カーネル全般について語り合うスレッドです。
0374名無しさん@Emacs02/03/16 06:42ID:O4su64/c
仮想メモリってリニアとは限らないよね。
今時はふつうリニアだろうけど。
037536502/03/16 08:51ID:NOghNGWY
> 仮想メモリというのはメモリを抽象化するというシステム、あるいは概念を
> 示す言葉であって手段(スワップファイルとかhogeアドレス空間とか)を示す
> ものではないというように理解しているがどうよ?

なるほど、”仮想メモリは概念”っていうのはすごくしっくりくる。
x86系だと普通はプロセッサのメモリ抽象化サポートと
カーネルのページングメカニズムのサポート、この2つによって
仮想メモリは実現されるが、他のOSの場合はそうとは限らんしな。
0376login:Penguin02/03/19 18:33ID:GPZ5tDZe
http://radioqualia.va.com.au/freeradiolinux/
http://www.hotwired.co.jp/news/news/culture/story/20020306205.html

みんなでカーネルを聴いてみない?
0377login:Penguin02/03/23 05:06ID:U94iusfQ
カーネルに、main()はありますか?
0378login:Penguin02/03/23 18:14ID:3L96kgxa
>>377
ないっぽ
0379login:Penguin02/03/24 18:24ID:p75aMmZg
>>378
マジっすか。
main()でなくてもいいんだけど、ここからスタート! っていう
目印なところが無いというか。
0380もなー君@お腹いっぱい。 02/03/24 18:29ID:FVW+u6eT
>>379
( ´ー`)y-~~~ ↓ここに詳しく載っている。
http://lkh.linux.or.jp/24kernel/source/html4/boot.html
0381login:Penguin02/03/26 12:05ID:nV5s0H8I
BIOSコールというのはROMに書き込まれている関数を呼び出す事ですか?
そうだとすればどんなBIOSコールがあるのでしょうか?
0382login:Penguin02/03/27 14:43ID:BgVFN3rf
http://ime.nu/lkh.linux.or.jp/24kernel/source/html4/boot.html

の勉強会しようぜぃ
0383login:Penguin02/03/27 18:30ID:sGm5Hb2n
>>382
http://lkh.linux.or.jp/24kernel/source/html4/boot.html
imenuつけんなクソッタレ
0384login:Penguin02/03/27 20:23ID:DIx0PeFc
>>383
http://pinktower.com/lkh.linux.or.jp/24kernel/source/html4/boot.html
生はいやよ
0385login:Penguin02/03/28 03:30ID:ZK8cq26O
bootsect.S
とLiloは別物ですよね?
0386login:Penguin02/03/28 03:46ID:msez0qYs
>>385
どうしたらその2つが同じものに?
0387login:Penguin02/03/30 16:23ID:SfYnsylz
結局どこからソースを読みはじれめればいいんだい?
0388login:Penguin02/03/31 13:19ID:WhFkwY90
ふつうならstart_kernelからでいいんでは?
0389login:Penguin02/04/01 23:59ID:8vevsllb
hage
0390login:Penguin02/04/02 21:20ID:9DbcWQiH
本屋行ったらLinuxカーネル2.4インターナル
とかいう本の訳本が置いてあったんですけど、
誰か買った人います?

ちょっとプロセスの辺だけ眺めたたら
訳が下手だったんで買いませんでしたが。
0391login:Penguin02/04/02 21:22ID:9DbcWQiH
スマソ書名まちがえた

Linux 2.4 インターナル
http://www.shoeisha.com/book/Detail.asp?bid=1339
だたよ
0392名無しさん@お腹いっぱい。02/04/05 22:27ID:8Q1S/UyJ
>391
読む目的がないとソースよんだって意味がない
目的は?
0393login:Penguin02/04/05 22:36ID:e8an97D8
>>390
下手なんてもんじゃないだろ。排水溝の底のヘドロみたいな訳だ。
0394login:Penguin02/04/05 23:51ID:1X3bLXpd
Solarisカーネルインターナル超面白いぞ!買え!
そしてパクってLinuxにマージするのだぁ!
0395login:Penguin02/04/09 00:20ID:O0rtlCLU
「entry.S」のentryテーブルにあるシステムコールの定義はどのファイルでしてるの?
0396login:Penguin02/04/09 01:04ID:4N3q8p7g
>>359
ユーザーランド側はglibcじゃない?
カーネル側はsys_hogecall()を
asmlinkage void sys_hogecall()
としてそれぞれの関係するところで宣言してる。
asmlinkageはinclude/linux/linkage.h
かな。
0397login:Penguin02/04/09 10:17ID:Sk6YzNPZ
Linuxカーネル2.5 最新開発動向
http://www.atmarkit.co.jp/flinux/special/kernel25/kernel25a.html
0398名無しさん@お腹いっぱい。02/04/10 05:42ID:uJzcEA3d
>>397
ありがとう。わかりやすかったよ、そこは。
0399 02/04/10 07:52ID:0lkBeC02
>>397
/. でも話題になってたね。
http://slashdot.jp/article.pl?sid=02/04/09/0723249&mode=nested&threshold=-1

> O(1)スケジューラに対してはさまざまなベンチマークが取られており、
> いずれの結果からも大きく性能が伸びることが示されている。
> Molnar氏が取ったベンチマーク結果では、スケジューラの性能が通常の
> 単一CPUシステムでも数十%、SMPシステムでは最大600%近い伸びを示すなど、
> 大きな成功を収めている。

それにしても、O(1)スケジューラすごいなー。
0400login:Penguin 02/04/11 21:02ID:paUG3Ip4
400get!!!

ところでLinuxではトラップに対して切ってある定数は
どこで定義してあるんでしょうか?
0401login:Penguin02/04/12 01:05ID:6kq0713T
>>397
漏れも勉強になた。ありがと。

ついでにSamba 3.0の記事も読んじゃったYO!
0402login:Penguin 02/04/12 05:44ID:FjR6S1/8
>>394
それにはおれも同意。
あの本は凄いよ。
0403login:Penguin02/04/12 18:03ID:LUY70a8V
詳解Linuxカーネルの方が優れもの
0404login:Penguin02/04/14 16:15ID:1Jdu/56r
こんなパッチがKernel MLに流れたが、どうも目立ちたがりやの
中学生なのではないかと思う。
http://www.uwsg.indiana.edu/hypermail/linux/kernel/0204.1/att-1011/01-3c59x.patch
0405login:Penguin02/04/14 22:59ID:rMaBm7Ab
>>403
読んでから言ってね
0406login;02/04/15 00:09ID:oRH5PO1X
ありゃ,Linux2.4インターナル立ち読みせずに発注しちゃったYO...

Lions Commentary はイイYO!

悪魔本とか読んで,イキナリカーネルソース読んで挫折して...を
繰り返した後読むと,スイスイと...
0407login:Penguin02/04/15 03:45ID:GiNG6vcB
>>405
このパッチが出てきた文脈を知らないんだけど、なんか別のパッチの一部?

これ単体では意味をなさないような
0408login:Penguin02/04/16 00:00ID:Gq3Gz/c2
LinuxのスレッドってWindowsより性能が悪いと思ってたけど、
そうでもないようですね。

http://www-6.ibm.com/jp/developerworks/linux/020412/j_l-rt7.html
0409login:Penguin02/04/16 00:09ID:r9JjnCrt
>>408
スレッドの生成スピードだけが全てではないけれど、
それにしても意外なベンチマーク結果だね。
Windows もカーネルベースのスレッドなんだろうか?
0410login:Penguin02/04/16 00:25ID:r9JjnCrt
>>407
ん? >>404 のパッチの事? Tagged VLAN 対応っしょ。
0411login:Penguin02/04/16 02:00ID:toifQdqP
>>410
商用UNIXがあたりまえのようにtagged vlanに対応してるけど、
linuxの対応はちょとね
0412login:Penguin02/04/16 03:18ID:Ped1nJiT
高橋さんのzerocopy NFS 速そうやね。
0413login:Penguin02/04/16 03:26ID:Ped1nJiT
>>411
2.4.x にも 2.5.x にもモリモリ入ってるYO。
NICのハードウェアtvlanに対応しているのもあるし。
0414login:Penguin02/04/16 08:04ID:yHB8Yz14
>>412
そのコードどこにあんの?
0415login:Penguin02/04/16 09:53ID:Ped1nJiT
>>414
ttp://www.uwsg.iu.edu/hypermail/linux/kernel/0204.1/0429.html
ここから続くスレッドで。
0416login:Penguin02/04/16 11:07ID:yHB8Yz14
>>415
さんきゅー
読んでみるわ
0417名無しチェケラッチョ02/04/21 23:08ID:ccHtxK1Q
http://www-6.ibm.com/jp/developerworks/linux/001124/j_linux-nt.html
0418デフォルトの名無しさん02/04/23 12:39ID:f2RdN7Qr
http://www.idg.co.jp/lw/back/200007/20000728_01_report.html
0419login:Penguin02/04/27 23:04ID:e5IKsX9A
scsi error handling rewrite 期待 age

http://www.andante.org/scsi_eh.html
0420名無しさん@お腹いっぱい。02/04/30 16:36ID:0lZUrbHd
Linux システムコールプログラムって本どうですか?
0421login:Penguin02/04/30 16:40ID:ozCXgXAB
不要。APUE を読め。
0422login:Penguin02/04/30 16:42ID:MJcEiblG
>>420
似た名前の本がいっぱいあるから、amazoあたりへの
リンクぷりーず。
0423名無しさん@1周年02/04/30 21:11ID:TGbiUZt2
>>422
アスキーから出ている本です。
かなり前に出版された本ですが、
版を重ねて新しいのが常に店頭にあります

読んだ感じは、わかり易い。
有名なシステムコールについて、わかりやすくかいている
fork ,exec
それ以外は421の言うとおりかもしれない
0424login:Penguin02/04/30 21:25ID:x3t7pobP
mallocに関して、
外人が、sbrkを使うとフラグメンテーションの問題があるから
memmapを利用するという投稿をニュースでチラッと見た記憶が
あるけど、これ間違ってない?
最近別スレで128kb境界問題が出てきて思い出した。
0425login:Penguin 02/05/15 15:53ID:rs0ae66r
カーネルのソースって2.2系から比べてもどんどんと汚くなってることない?
gccと比べたらまだいいのかもしれないけど。。。
0426login:Penguin02/05/15 16:28ID:Rs+cx4KM
具体的にどこがどう汚くなった?
0427もなー君@お腹いっぱい。 02/05/20 00:01ID:f4n8AHGc
良スレ保守
0428login:Penguin02/05/27 03:28ID:k9GgAUwV
良スレage
0429☆解説キボーン!☆02/05/29 00:33ID:46fyOTxK
誰か解説してくれ!
--------------------------------------------

TSSの制限:
・104バイトのメモリを一度にロード,アンロードする必要があり,遅い。
・プロセスのカーネルスタックとタスク状態が,カーネルアドレス空間に存在しない。
・各プロセスのスタックが,アクティブ時に同じ仮想アドレス空間に存在する。
・ネスト可能な配置の複数プロセスからなるスレッド群を構築できない。
・プロセス終了時に,終了しようとしているコンテクストでアドレス空間を復元できない。
0430login:Penguin02/05/29 02:03ID:WGjCN8PQ
>>429
ウゼェ厨だねお前。
0431login:Penguin02/05/31 22:43ID:AGbA9dZA
>>409
win32もカーネルベースのスレッド。
つか1スレッドの作成に1msもかからないのね。もっと遅いと思ってた。
0432login:Penguin02/05/31 22:58ID:sbY2Cg79
5/29(水)〜5/31(金)、「LINUX WORLD」をやっていましたが、
どうでしたか?

行きたくても、行けなかった、へぼな技術者より。
0433people02/06/09 01:09ID:hI+hJJCq
利ナック巣はノンプリエンティブなカーネルだが、プリエンティブな
カーネルはどうして尾バーヘッドが大きくなってしまうのか
0434login:Penguin02/06/09 04:26ID:eXI64/k4
2.5カーネルではプリエンプティブ機能も取り込まれてるよ。
コンフィグで設定可能。

オーバーヘッドは大きくなるが、応答性やスループットがよくなる。
0435people02/06/09 17:40ID:hI+hJJCq
応答性やスループットがよくなる原因は?
0436login:Penguin02/06/26 14:22ID:knPs+H7Y
Kernel Summit Wrapup
http://slashdot.org/article.pl?sid=02/06/25/1351223
0437login:Penguin02/07/27 14:50ID:YRW6HDbB
保全sage
0438ANONYMOUS02/08/04 19:52ID:OQzedWlY
age
0439つち ◆AdmGVg7c 02/08/05 20:44ID:Su+a+rqn
てっきり忘れていた。
>>432
のときの資料がここにPDFであります。

http://www.valinux.co.jp/technical/event/va_kernel_forum.html
0440login:Penguin02/08/09 22:24ID:NfDvV172
Linux Japan の Kernel2.4 解説記事の連載は,
書籍にならないのかな.
0441login:Penguin02/08/10 13:18ID:RJXz1T6O
最終号で全連載のPDFがCD-ROMに収められたって事は
書籍にならないんじゃない?
連載時からだいぶ時間がたってるから今の2.4カーネルと食い違ってる
ところもあるし。
0442login:Penguin 02/09/03 02:51ID:rckhdKiC
>>435
ハードウェア割り込みにより、
カーネルモードで動作してるプロセスから制御を奪えるからかな。

間違っていたら訂正キボンヌ。
0443login:Penguin02/09/03 04:58ID:/eCx0MNB
>>442

それは、応答性が上がる説明にはなっても、スループットが上がる説明には
ならんよ。基本的に、応答性とスループットは、チューニングの上では相反
することが多い。特にハード・リアルタイム性の保証というレベルで
応答性を重視した場合、スループットは犠牲になると考えるべきだ。

リアルタイム・カーネルを使ってスループットがもし向上したなら、それは
TSS的手法でのスループット向上の余地がまだまだあるということを意味して
いると考えた方が良い。
0444login:Penguin 02/09/03 08:25ID:rckhdKiC
>>443
激しい突っ込みどうもです。
0445login:Penguin02/09/03 09:05ID:0hIwx27+
>>441
>連載時からだいぶ時間がたってるから今の2.4カーネルと食い違ってる
>ところもあるし。

改訂版が出る可能性も。
0446login:Penguin02/09/03 09:25ID:rckhdKiC
>>445
詳細を知りたかったら自分の興味あるバージョンのカーネルの
中に入っていかないとだめでしょ。うちはUnderstanding〜の
2.4 anticipatingでとりあえずは満足です。
0447login:Penguin02/09/04 21:45ID:LYCQm1JB

PS/2キーボードのaキーを押して端末にaの文字が表示されるまでの仕組み
を教えてくれろ。
0448login:Penguin02/09/04 22:03ID:Wi+p0yRy
bならおしえてあげる (´ε`)チュッ
0449login:Penguin02/09/05 01:34ID:DWBmmIUd

その先もきぼん。
0450login:Penguin02/09/05 01:42ID:OpRaeHU5
>>448
恋のB級アクション か・・・懐かしいな。 かーみーかーぜーのー
0451名無しさん@Emacs02/09/05 06:50ID:dV7dMjTj
2.4になってからUSBとかかなり使いやすくなったけど
2.6で新しく入る機能でいちばんつかえるものってなにになるんだろ。。
0452login:Penguin02/09/05 07:33ID:9CK0WvFX
そりゃもちろんACPI対応でしょう。これで腐れBSDより一歩抜きん出た。
0453login:Penguin02/09/05 08:23ID:jbkaZ2a1
AIBOが/dev/aiboで制御できるようになります。
2.6最大の目玉です。
0454login:Penguin02/09/05 14:29ID:kYgJBhoQ
AIBOクレ
0455login:Penguin02/09/05 19:35ID:DWBmmIUd

数年前に最前線UNIXのカーネル読んでみたけど、完全に忘れてるし
全く身についてない。
ソース読んでみても、何をやってるのかは分かるが、その後なんか
生かされたかっていうと、そんなこともない。
Linux Japan のカーネル解説は毎月読んでたけど、読んだだけでは
分かった気がしないし、身についてる気もしない。
単なるコンピュータ好きの理系学生です。

プログラミングするのは好きなんですが、
こーいうのは向いてないのでしょうか?
なんか、楽しくカーネルハックする方法ってないですかね?
0456login:Penguin02/09/05 19:40ID:PHblvNqM
>>455
まず 2ch に来るのをやめれ。
そしてプログラミング以外の趣味を見付ける事だ。
0457login:Penguin02/09/05 19:43ID:DWBmmIUd

>>456のいわんとしてることがわかりかねる
0458へぼ02/09/05 22:24ID:yOuLsem/
>>455
カーネルはいじらないとわかんないとこが多いよ.
たとえば,コンソールに"Helo"と出力するだけのシステムコールを作ってみては?
うまくいったら,次は,cat /proc/helo で "Helo"を出力するカーネルモジュールを
作ってみよう.
0459login:Penguin02/09/06 11:28ID:pbumUvTr
>>457
学生のくせに偉そうだな。
0460login:Penguin02/09/06 12:53ID:GXI6GQhX
>>459
園児のくせにえらそうでちゅ..
0461login:Penguin02/09/06 16:26ID:/rYnSyOH
>458
ありがとうございます。
なんか、温かい言葉をかけてもらって涙ぐみました。
0462login:Penguin02/09/06 17:47ID:Y7BSSDDG
このスレは絶対、Part2を立てるぞ、ゴルァ!
とりあえず>>970が次スレ立ててくれ。
0463970になる予定02/09/06 18:27ID:MYpQaAKh
>>462
ヤダ。おまえが立てろ
0464login:Penguin02/09/06 21:40ID:J1Wkvxow
2.5.xでgrub-0.92で、MBRに書き込む方法教えて。
起動すると、固まるんだ。プロセスがSに成る。
0465login:Penguin02/09/06 21:46ID:x9S5w6Pj
>>464
2.4.xにする
0466login:Penguin02/09/07 19:50ID:KVnNwClL
>>465
2.4.xだと書き込めるんだけどね。
みんなLilo使っているのかな。
0467login:Penguin02/09/18 10:38ID:sPjt+sc2
2.5.35のソースについてのことです。

linux/fs/exec.cのde_thread( )関数内において
wait_task_inactive( )関数を呼び出しているのですが、
この関数はlinux/kernel/sched.cにおいては
CONFIG_SMPで囲われています。
つまり、SMPマシンでないとどうしてもコンパイルエラーが
でるということになりますが、みなさんはどう対処され
ましたか?

問題の関数を呼び出しているところだけCONFIG_SMPとした
だけでいいものなんでしょうか。。。
0468login:Penguin02/09/18 13:00ID:sPjt+sc2
467です。2.5.36のパッチがさっき出たようです。
とりあえずfs/exec.cの該当個所にも手が入ってるので
それを試してみます。どうもすみませんでした。
0469login:Penguin02/09/20 12:18ID:DfRVVlpc
新しいスレッドPOSIXスレッドライブラリは
結局 N-on-M モデルではなく 1-on-1 に
なった模様。
0470login:Penguin 02/09/22 05:27ID:qgNMD4Z1
>>469
ソースは?
0471login:Penguin02/09/22 11:36ID:U79Ebj4m
>>470
冷静に考えても N-on-M を採用するとは考えられないだろ?
理由がわからないならお前はLinux使う価値なし。

まーどうせわかんないんだろうけど(w
0472login:Penguin02/09/22 13:59ID:uJodz/km
>>471
君もちゃんと勉強して早く理解しようね。
0473login:Penguin02/09/22 18:17ID:n3nilxsR
本物のPOSIXスレッドライブラリ
http://slashdot.jp/article.pl?sid=02/09/21/1613222
■ このスレッドは過去ログ倉庫に格納されています