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

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

■ このスレッドは過去ログ倉庫に格納されています
0001login:Penguin01/10/02 17:44ID:38KkZsUQ
メモリ管理、プロセス、ファイルシステム色々ありますが
カーネル全般について語り合うスレッドです。
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
0474people02/09/22 19:02ID:RIhA1MQQ
N-on-M モデル について解説希望
0475login:Penguin02/09/22 19:15ID:L7SWaJdw
複数のCPUで複数のスレッドが動くってやつか?
0476login:Penguin02/09/22 19:57ID:ZMoD+eSk
複数のスレッドを複数のLWPに割り当てるやつ。
0477login:Penguin02/09/22 20:30ID:EPpsCLH7
スレッドとプロセスって何が違うの????????
0478login:Penguin02/09/22 20:40ID:ZMoD+eSk
このスレどんどん馬鹿になっていくな。
0479login:Penguin02/09/23 00:11ID:SuKTDRxG
ベンチマーク来たー

http://www.uwsg.iu.edu/hypermail/linux/kernel/0209.2/1581.html
NPT(NativePosixThread)はNGPTの4倍速いそうだ。
0480login:Penguin02/09/23 02:33ID:oSMBuhdV
4倍とは穏やかじゃないね。
0481login:Penguin02/09/27 23:32ID:nDbC1gzq
スレッド NT
プロセス UNIX

0482login:Penguin02/10/05 20:06ID:IheoajWb
現在カーネルをメンテナンスしている18歳のブラジル人について詳細希望
0483login:Penguin02/10/05 20:25ID:IheoajWb
ftp://mirrors.unagi.org.uk

REd hat 8 どうなんでしょうか?
0484login:Penguin02/10/05 20:36ID:CZ0W55rF
>>482
http://www.marcelothewonderpenguin.com/
0485login:Penguin02/10/05 20:46ID:IheoajWb
Unix のその他の実装 (AIX または Solarisのような) とは違って、Linux カーネル自
身は、複数のカーネル・スレッドを 1 プロセス内でまとめることができる抽象化機能
を持っていません。代わりに、fork() システム・コール (clone() とも呼ばれる) が
実装され、ユーザーは、子プロセスをその親と同じアドレス・スペースで実行するよう
指定できます。次いで、このシステム・コールは、Linux スレッド化ライブラリーによ
り使用され、ユーザーにスレッド・プログラミングの抽象化機能を提供します。ユーザ
ー・インターフェースの観点から見れば、すべての POSIX スレッド・インターフェー
スは、実際、Linux の下で全面的にでサポートされていますが、実装面では 信号 に
問題があって、完全には POSIX に準拠していません
0486login:Penguin02/10/05 20:52ID:qui8pQ9v
で Linuxカーネルが、
そのPOSIXとやらに完全準拠するとパフォーマンスが大幅に向上すると?
0487login:Penguin02/10/05 21:02ID:IheoajWb
>>484
http://bazar.conectiva.com.br/~marcelo/pics/dsc00051.jpg
http://bazar.conectiva.com.br/~marcelo/pics/dsc00090.jpg
0488login:Penguin02/10/05 21:04ID:CZ0W55rF
NPTL(linuxthreads2)でPOSIX準拠とパフォーマンスの両方が
改善される.待つべし
0489login:Penguin02/10/05 21:43ID:IheoajWb
Linuxでプロセスとスレッドの違っている部分はどこかといいますと、
タスクを生成する時にメモリと、シグナルハンドラとファイルディスクリプタが
別個の存在になっていればプロセス、共有していればスレッドとなります。
処理単位(タスク)として見た場合だと、扱う側(スケジューラ)からは見分けが
つかないようです。
0490login:Penguin02/10/05 23:40ID:CZ0W55rF
>>489
kernel内なんかどうなっていても,user spaceが適切な機能を
正しく高速に実現できるような機能を提供できればそれでいいじゃん?
0491login:Penguin02/10/06 02:07ID:bFXVWfMC
Threads are "light weight processes" (LWPs).
The idea is a process has five fundamental parts:
code ("text"),
data (VM),
stack,
file I/O,
and signal tables.
0492login:Penguin02/10/06 02:21ID:bFXVWfMC
http://www-6.ibm.com/jp/developerworks/linux/001208/j_posix1.html
0493login:Penguin02/10/06 12:28ID:enH5nZqJ
>>491,492
そのような一般論をお書きになっても、ここは/.JPでは
ありませんので誰もプラスモデレートしてあげられません。
Linuxの方針はアホだとかScheduler Activationや
KSEは所詮論文ネタにすぎないといった殺伐とした
カキコを期待します。
0494login:Penguin02/10/15 00:44ID:QWvdQZ6c
実は6〜7年前銭湯で幼稚園ぐらいの女の子に「パパー この人のちんちん大きー」と指をさされて大声で言われた。
確かに俺の息子は大きい方だったが、指をさされたのは初めてだった。俺は特にタオルで隠すことはしなかったので特に目立ったのだろう。
その子のお父さんは「すみません」と恥ずかしそうに謝っていた。

しかし、それだけでは終わらなかった。
俺が体を洗っているとその女の子が友達の女の子2人を連れてきて「ほら、この人のちんちんとっても大きいんだよ」とわざわざ見に来た。
お父さんが「やめなさい」と言ったのと同じくらいに女湯の方から「○○ちゃ〜ん、なにお話してるの?」と同じくらいの女の子の声が
聞こえてきた。すると「この人、とってもちんちんが大きいの。ゾウさんみたいなの」とありったけの大声で叫んでいた。
すると男湯、女湯の両方からくすくすと笑い声が聞こえた。
俺はとんでもなく恥ずかしくなって石鹸を流して早く上がろうと思い立ち上がったとき、不覚にも勃起してしまった。
その場にいた女の子3人から「わっ!」と声が上がり「○○ちゃ〜ん、大変〜、この人のちんちん
上にいっちゃったの〜、パオーンしてるの〜」と女湯に向かって叫んだ。男湯・女湯同時に
大爆笑がおこった。その女の子達は「すごーい! すごーい!」と俺の息子に向かって拍手をしていた。
それを見た男湯の人たちがさらに爆笑し、その爆笑につられて女湯でもいっそう大きな爆笑になった。
俺は逃げ出すようにして銭湯から出て行った。

その日以来、その銭湯へは行かなくなった…。
0495login:Penguin02/10/15 01:28ID:fNmJTfkz
>>494
なつかしいコピペだな。
0496login:Penguin02/10/20 19:44ID:ibUwKkfe
Linuxのカーネル勉強ねえ。そんなこと勉強して何かに役に立つ?
そんな時間あるなら、道路工事のバイトでもしてソープ行った方が何倍もいい。
0497login:Penguin02/10/20 19:56ID:g7nwg/f0
>>496
凄い煽り文句だなあ
0498login:Penguin02/10/20 20:38ID:IzpswdB0
>>496は”正しい”
適性と本能とを十分に吟味すると・・・
0499login:Penguin02/10/20 21:29ID:o5SkVp+g
>>496
面白いから許す。
0500login:Penguin02/10/20 21:53ID:g68BLgUd
>>496
なにをいっておるのか.カーネルをヨム.こんな悦楽は他にはない.
ヨムだけで飽き足らなくなったらカイてみるのだ.
カイたコードがパニックしてみろ.射精する.
コードをカクのは極楽だあ.セックスだあ.
..では今夜も逝ってくる.
0501login:Penguin02/10/22 20:14ID:AiS+bb4w
悔しいけど、やっぱり496は正しいと思う。
Linuxのカーネルなんかよりも、綺麗なネエチャンとHする方が絶対いいと思う。
つーか、Hするよりも、Linuxのカーネルに触れたいと思う香具師っているの??
0502login:Penguin02/10/22 20:21ID:nhAAklvz
>>501
そりゃ居るだろうよ。
世の中Hするのが面倒って香具師もいるし。
0503login:Penguin02/10/22 21:16ID:JDhHENtH
みもふたもない話だ
0504login:Penguin02/10/23 16:12ID:Y8yrR3XD
500はどう見てもイタ過ぎる。頼むからROMっててくれ
0505名無しさん@Emacs02/10/24 00:42ID:bb9TFS/Q
ねぇねぇ BitKeeper 使ってる人いる?
0506login:Penguin02/10/24 01:00ID:ET3a/VkV
>>505 ライセンス大丈夫だっけ?
0507login:Penguin02/10/24 19:57ID:b/KVmODi
そりゃあセクースしてる時や美味いもん食ってる時は、誰だって幸福を感じるよ。

だけど、四六時中できるもんじゃないし、それだけじゃ、時間が余ってしまう。

だから他の楽しみを見つけるわけだ。音楽でも映画でも、ゲームでも何でもいい。

Linuxだって、いっぱいある楽しいことの中のひとつ。
0508login:Penguin02/10/26 01:12ID:rW1xbOyc
ここはカーネルの仕組みを勉強するスレです。
0509login:Penguin02/10/26 06:57ID:D0xVkV9N
勉強して、どうするのですか?
0510login:Penguin02/10/26 15:04ID:UK314aqB
>>509
そういう質問しないでくれ
0511login:Penguin02/10/26 16:27ID:hpgBvCrL
勉強しないでどうするのですか。
0512login:Penguin02/10/27 04:11ID:9Wnyh1Y2
スレッドを作る方法がいまいちわかんない
Pスレッドで作ってもなんかプロセスが見えるんだけど
そういうもんだっけ?
0513login:Penguin02/10/27 10:33ID:67Tkky68
>>512
cloneで作ってるなら見える。
linux-threadはclone使うし。
0514login:Penguin02/10/27 20:02ID:9Wnyh1Y2
>>513
(゚∀゚)サンクスコ
Pスッドレは中でclone呼んでるっぽいし
しょうがないのか
0515login:Penguin02/10/29 06:45ID:JuHHTy9a
LinuxをC++なぜで書かないのかって質問に、カーネル開発者は
・開発初期のg++コンパイラが良くなかった。
・今から書き換えると、(コードの行数を作業時間で割って)とてつもなく無駄だ。
と言う理由らしいのは周知かと思いますが、
実際仮にC++でこれから書いたとしたら、どうなりますか。
実行速度や、開発のしやすさとか、いろいろありますが。
(質問が抽象的でゴメソ)
0516login:Penguin02/10/29 07:58ID:U+AOr944
このOSはboot部以外C++で書かれてるな
http://sourceforge.jp/projects/higepos
0517login:Penguin02/10/29 14:33ID:rOSc35bh
2.4.20-pre*
のパッチって、何に当てるんですか?
2.4.20にあてるのかとおもったけど、まだでてないよ
2.4.19にあてるの?
0518login:Penguin02/10/29 14:40ID:kF5lRjj2
C++でのメリットってあるかなぁ。
0519login:Penguin02/10/29 14:54ID:3y33Wm74
>>517
ノーミソにでも当ててなさい。
0520login:Penguin02/10/29 14:59ID:rOSc35bh
>>519
ヒントお願いします
0521login:Penguin02/10/29 15:08ID:3y33Wm74
>>520
-preのイミをかんがえろ。

ここは勉強スレであって質問スレではない。
0522login:Penguin02/10/29 15:27ID:rOSc35bh
>>521
pre=前
だから、pre20だったら20個前、pre1ならひとつ前=最新
ということ?
0523login:Penguin02/10/29 15:52ID:kF5lRjj2
>>247
2.4.20は出てないけど、
2.4.20-preは出てる。
0524login:Penguin02/10/29 16:17ID:U+AOr944
2.5.44でxconfigしようとするとエラーになるんだが..
0525login:Penguin02/10/29 16:29ID:bTPS0Lxn
せめてエラーの内容くらい書けや。
何とも言えん。
Tcl/Tkのバージョンが上がったとかじゃないのか?

…あと、開発版カーネルで文句があるならさっさとバグレポートしてcontribute。
0526login:Penguin02/10/29 16:36ID:rOSc35bh
結論は
2.4.19のソースに2.4.20-pre*を当てるってことか
0527名無しさん@Emacs02/10/29 16:49ID:7wlFWLa1
>>526
では 2.4.20-rc* はいかがなさる?
ttp://linux.bkbits.net:8080/linux-2.4/[email protected]?nav=index.html|ChangeSet@-1d
0528login:Penguin02/10/29 17:28ID:rOSc35bh
>>527
そんなのないじゃん
rc*って出てるやつにあたるんじゃないの?
0529login:Penguin02/10/29 18:25ID:F8Jhdnom
>>528
rc の意味を考えてみレ.それとさぁ >>527 のリンク先見たの?
0530login:Penguin02/10/29 18:32ID:rOSc35bh
>>529
見たよ。
rcってのもpreと同じく一つ前のにあたるってこと?
0531login:Penguin02/10/29 18:37ID:rOSc35bh
だいたいマスターした
0532login:Penguin02/11/02 09:32ID:HLU1eDtI
三連休、リナックスで遊んでるヤツは不幸だと思う。
0533login:Penguin02/11/02 16:08ID:bV/vZkvY
>> 532
世の中は三連休。リナックスで仕事してる漏れは幸せだね。畜生!
0534login:Penguin02/11/02 16:58ID:Dd2p8WWe
3連休ってなんのこと?
0535login:Penguin02/11/03 23:04ID:I26+7Mmp
3Com(R) Megahertz(R) 10/100 LAN PC Card
Product 3CCFE574BT
をサポートするカーネルのヴァージョンが知りたいのですが
いろいろ調べたのにわかりませんでした。
ちなみにSlackware 3.5.0 Ker.2.0.2 です。
0536login:Penguin02/11/03 23:18ID:YjxntTz6
>>535
スレ違いな気もするが…

まずは対応しているpcmcia-csを調べろ。
カーネルはたぶん2.2以降。
0537login:Penguin02/11/03 23:32ID:I26+7Mmp
ありがとです。一応2.2以降を調べたんですが。。。
0538login:Penguin02/11/03 23:51ID:eky+Yott
>>537
手元の pcmcia-cs 3.2.1 の SUPPORTED.CARDS によると
3c574_cs.o で使えるよ。
0539login:Penguin02/11/03 23:54ID:YjxntTz6
>>537
そいつのドライバが入ってるのは、pcmcia-csだから、
そっちからあたった方がいいよ。
2.4ならkernel pcmcia-csで対応してると思うが。
0540login:Penguin02/11/05 18:27ID:Mw3FkA2f
皆さんが優秀なハッカーの方たちと見込んでお聞きしたいのですが、
RedHat7.2上でデバイスドライバを作っていて、それを最近リリースされた
RedHat8に移植しようと思っているのですが、何故かコンパイルが
通ってくれません。
自分のソースに不具合があるのかと思い、
ttp://ime.nu/www.hemamu.com/dev/linux/pci/index.html
で公開されているソースをコンパイルしようとしましたが、
それでもできませんでした。

どなたかこのような不具合の解決方法をご存知でしたら、
ご教授下さい。
0541login:Penguin02/11/05 18:36ID:5JSfVnIm
>>540
たまにあるけど、構造体の定義が変わってるとか。
kernel-headerをインストールしてなかったと言うオチは禁止。
0542login:Penguin02/11/05 18:41ID:aQPE60cC
>>541
かなり落としてしまいますが、kernel-headerの意味が
わかりません(´д`)
たぶんOSのインストールの際の事だと思うのですが…。
現在のシステムは7.2からのアップグレードで、
少し不安があったのでフルインストール(Up Grage)
しました。
0543login:Penguin02/11/05 20:14ID:D2HLArIF
kernel-headerの意味が分からなくて、デバドラ作った君に乾杯。
(´・ω・`)
0544login:Penguin02/11/05 20:18ID:Kq5dWAfB
>>542
Red Hat 7.2 までは kernel-headers パッケージが存在したのだが、
Red Hat 7.3 以降では無くなってしまった。
代わりに kernel-source パッケージをインストールして、
/lib/modules/バージョン/build/include/ にあるカーネルヘッダを使え。
/usr/include/linux/modversions.h も見れ。説明が書いてある。
0545login:Penguin02/11/05 23:12ID:Unrjw0px
>>542 コンパイルが通ってくれません
であれば、原因しぼれるでしょ。動きませんなら少し難しいけど。そんなファ
イル無いとか、そんなstructのメンバ無いとか、そんなのとちがう?

■ このスレッドは過去ログ倉庫に格納されています