1 名前:見習デーモン [01/10/17 18:35] これからsys/kern/init_main.c読んでみます。 【参考】 ・「The Design and Implementation of the 4.4BSD Operating System」 の第2章 www.freebsd.org/doc/en_US.ISO8859-1/books/design-44bsd/index.html ・*BSDでのアセンブリ www.int80h.org/bsdasm/ なんか検索してみてもあんまりハックサイトひっかからないね。 Linuxより伝統あるはずなのに。
276 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/24 18:08] ヘッダファイルこそがソースの肝なのに。。。
277 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/24 20:59] NetBSD のカーネルハック本(和訳)って、 BSD Magazine の Vol.13 のことじゃないのか?
278 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/25 02:44] >>276 そうなんだよね。本当に。
279 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/26 10:15] /usr/includeの下は丸暗記するぐらいの勢いで読みまくった。 これはいきなりカーネル読み始めるよりも、効率的だし、 実用的だったよ。
280 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/26 13:48] へたれプログラマなんですが、なんでそんなにヘッダファイルが重要なのか わからないんですが、理由を教えていただけませんか?
281 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/26 14:31] >>280 これは計算機科学の教科書の練習問題だと思うぞ。 こんなものかな。採点キボンヌ(配点20点) ヘッダファイルにはデータ構造、関数定義など、モジュール間のインターフェイスと なるものが記述されており実装の詳細を見ずに全体を把握する事が可能である。 また、一つのプロジェクト内のモジュールのインターフェイスというだけでなく、 異なるシステムとの間の相互運用性を確保するためにも必要である。
282 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/26 19:07] ↑ 俺の採点だと20点満点。素直に。 敢えてアラ探しやればできるだろが、練習問題という設定なら十分な回答だろ。 2ch的でない(奇をてらわない保守的な)回答だけど、そういう地味さにも好感。
283 名前:280 mailto:sage [03/10/27 08:00] >>281 ありがとうございます。 なんか目から鱗でした。
284 名前:くだ質の534 mailto:sage [03/10/27 14:29] そうか、ヘッダファイルってそんなに重要なんだ…。言われて みればたしかに。 漏れも>>279 みたいに凄い勢いでヘッダ読んでみまつ。勉強に なったサンクスコ。
285 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/27 16:22] 重要は重要だけど、本で言えば目次だけ読むようなもんだから 偏食にならないようにネ
286 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/28 11:09] >>280 頭(head)だからです。 頭だけとか体だけとかは駄目なんです。
287 名前:名無しさん@お腹いっぱい。 mailto:sage [03/11/04 23:33] sys/kernel.h -- #defineSYSINIT(uniquifier, subsystem, order, func, ident)\ C_SYSINIT(uniquifier, subsystem, order,\ (sysinit_cfunc_t)(sysinit_nfunc_t)func, (void *)(ident)) funcを2重にキャストする意味って何?
288 名前: [03/11/19 22:40] 興味ありあげ
289 名前:名無しさん@お腹いっぱい。 [03/11/23 13:51] BSDがSCOによって血祭りにあげられるまであと何日ですか?
290 名前:名無しさん@お腹いっぱい。 mailto:sage [03/11/23 19:47] BSDによってSCOが血祭り、なんだろうな
291 名前:名無しさん@お腹いっぱい。 mailto:sage [03/11/23 20:15] というか既に血まみれで死にそうなSCOが あちこちに血しぶきを撒き散らして嫌がらせしてるんだろ。
292 名前:名無しさん@お腹いっぱい。 [03/11/23 22:11] >>290-291 おまいら何もわかってないな 技術泥棒なんだよ ギ ジ ュ ツ ド ロ ボ ウ わかるか?
293 名前:名無しさん@お腹いっぱい。 mailto:sage [03/11/23 22:21] >>292 煽り乙。どうせなら犬板のSCOスレ逝った方が人多くて楽しいと思われ
294 名前:名無しさん@お腹いっぱい。 mailto:sage [03/11/25 00:18] 同感
295 名前:名無しさん@お腹いっぱい。 mailto:sage [03/12/01 01:14] BSDのカーネル読むにはどのBSDのソースがとっつきやすいですか?
296 名前:名無しさん@お腹いっぱい。 mailto:sage [03/12/01 03:31] あなたの使っているものが一番じゃない?
297 名前:名無しさん@お腹いっぱい。 mailto:sage [03/12/06 12:38] ソースなんて綺麗とか汚いとかほざくまえに、 動いてるコードなんだから黙って読むんだよ! 今じゃろくなコード書けない人間までコードが 云々なんて言い出す始末だからな。もうブチキレですよ。
298 名前:名無しさん@お腹いっぱい。 [03/12/09 18:58] カーネルによって違うのかもしれませんが、 各種スレッドというのは、スタックセグメントだけを スレッドごとに固有にもち、それ以外のセグメントは プロセス内の全てのスレッドで共有するという感じなのでしょうか? そうすると、ページディレクトリテーブルも共有で、 スタックセグメントだけを仮想メモリの機能として 別々の物理ページに割り当てるといった感じになっているのでしょうか? それとも全てのスレッドに対してCR3を割り当てるのかな? どうもプロセス内のスレッドとVMの関係がよく分りません。
299 名前:名無しさん@お腹いっぱい。 mailto:sage [03/12/09 19:45] >>298 実装にもよるんだろうけど、スタックも含め、スレッドがいくつあろうと アドレス空間は1プロセスで同じもの。スタックはスレッド毎に 切り替えて違うアドレスを指してあるだけ。
300 名前:名無しさん@お腹いっぱい。 mailto:sage [03/12/09 22:30] >>298 コンテクストスイッチ発生させると、プロセスのコンテクストスイッチと 変わらんし...それじゃあ、スレッドの意味がない...
301 名前:名無しさん@お腹いっぱい。 mailto:sage [03/12/09 23:19] >>297 逆だよ。ろくにコード組めないから、綺麗なコード読みたいんだよ。 まぁ清濁併せ呑む度量があれば一番なんだが、そんな人間は黙って 読んでるよ。
302 名前:名無しさん@お腹いっぱい。 mailto:sage [03/12/19 20:33] おまいらカーネル**ckしてますね。
303 名前:名無しさん@お腹いっぱい。 [03/12/19 21:11] >>302 そんなタイトルの日記があったな…
304 名前:Win厨 mailto:sage ぉ、刺身にしよか? [03/12/19 23:11] >>303 あ、それ書いてたの、おれっちです。 最近NetBSDも忙しくて触って無いからカーネルファックもご無沙汰です。 厨房でもカーネルぐらい気合で理解できること証明したかったけど、 自分にはちょっと厳しかったです。また再開したときはよろしくです。
305 名前:名無しさん@お腹いっぱい。 mailto:からあげ [04/01/14 17:37] あげてみる
306 名前:名無しさん@お腹いっぱい。 [04/02/13 00:25] バッファをたくさんとれるようにカーネルイジってたら、 All mbuf clusters exhausted, please see tuning(7). と出るんですが、クラスタ数を多く割り当てたり、 別の目的で利用されている、クラスタを借りたりすることはできないでしょうか?
307 名前:名無しさん@お腹いっぱい。 mailto:sage [04/02/13 03:27] a.具体的に何をしていたのかを書いてみよう。 (たとえばkern.ipc.nmbclustersをほにゃららにしてみたとか options NMBCLUSTERS = ほげ したら config におこられるとか) b.もし、具体的な目的があるのであればそれも書いてみよう。 (たとえば 負荷が高いWebサーバーをなんとかしたいとか。) あと環境もちゃんと書いてみよう。
308 名前:名無しさん@お腹いっぱい。 mailto:sage [04/02/16 05:49] 一度の関数呼び出しで何回もパケットを 送出しようとするときインタフェースカードで データパケットが落とされることってありますか?? もし落とされたときは、ip_outputの返値は返ってきますか? また、それは「0」以外の値ですか? ループバック関数で戻ってきたパケットは欠如していません。 別のマシンでキャプチャーすると欠落しています。 原因・対策などありましたら、お願いします。
309 名前:名無しさん@お腹いっぱい。 mailto:sage [04/02/16 06:11] >>308 当然あるだろ。ip_output は if_output 呼んでるだけだから、 あとはネットワークインターフェイス依存。 etherなら、netinet/ip_output.c、net/if_ethersubr.c、 と追いかけていって、NICのデバドラまで読んでけ。 まぁ単に送信バッファ溢れてるだけだろうがな。
310 名前:名無しさん@お腹いっぱい。 mailto:sage [04/02/16 06:39] >>309 なるほど。。。参考になりました。 しかし、送信バッファがあふれても ip_outputの返値が0になるというのは問題なのでは?? ソケットバッファの場合はちゃんと制御できるのに。。。
311 名前:名無しさん@お腹いっぱい。 mailto:sage [04/02/16 07:20] >>310 ぜんぜん問題じゃない。君の考え方のほうが問題。 ソケットは到達保証するが、IPは到達保証しない。 まだわからない?
312 名前:名無しさん@お腹いっぱい。 mailto:sage [04/02/16 08:20] >>311 ソケットが送信保証をするためには、ip_outputの返値が0である必要があるし、 ip_outputの返値で0を返すためには、ether_outputの返値が0である必要がある。 ちなみに、ネットワークに出力されたあとは、ソケットも到達保証しないよ。 仮にできるのなら、何も苦労しない。。。
313 名前:名無しさん@お腹いっぱい。 mailto:sage [04/02/22 01:46] PF_ROUTEソケットについて調べてるんですがどうもいまいち… (いまいちなのはもちろん自分) 4.4BSDの本見てから、ソース見たけど????です PF_ROUTEソケットを調べだしたのは。rtadvdで受けている メッセージを見ていたところ、ioctl()などのリクエストでkernelから生成してるはずの メッセージ数と合わない、こんなところからです。 orange.kame.net/dev/cvsweb.cgi/kame/kame/kame/rtadvd/rtadvd.c?rev=1.88 socket(PF_ROUTE, SOCK_RAW, 0)) やはりRAWだから一気に生成したメッセージはどこかで落されてしまうんですかね…。 落される場所がわからない… できれば落さないように改造してみたいんですが…
314 名前:名無しさん@お腹いっぱい。 [04/05/24 19:37] 保
315 名前:名無しさん@お腹いっぱい。 mailto:sage [04/06/12 00:45] 二年半前のスレか・・・ 見習いデーモンは一人前になったのだろうか。
316 名前:名無しさん@お腹いっぱい。 mailto:sage [04/06/12 01:22] 現在、まだ半人前とみた。
317 名前:名無しさん@お腹いっぱい。 mailto:sage [04/08/11 20:10] >>1 の参考 ...半分ぐらい読むには読んだけど、むつかし。 ので、いったん撤退して、こっち↓に着手。 Commentary on the Sixth Edition UNIX Operating System tp://www.lemis.com/grog/Documentation/Lions/ そのうちリベンジの予定。
318 名前:名無しさん@お腹いっぱい。 mailto:sage [04/08/12 00:25] >>317 よし!俺が今から 「The Design and Implementation of the 4.4BSD Operating System」 を読んで>>317 を追い抜いてやるぜ!!
319 名前:名無しさん@お腹いっぱい。 mailto:sage [04/08/18 08:41] しかし、"こっち"も... -- m40.s -- / initialize systems segments mov $KISA0,r0 mov $KISD0,r1 mov $200,r4 clr r2 mov $6,r3 1: mov r2,(r0)+ mov $77406,(r1)+ / 4k rw add r4,r2 sob r3,1b
320 名前:名無しさん@お腹いっぱい。 mailto:sage [04/08/18 08:43] ~~ 0619: KISA0 and KISD0 are the high core addresses of the rst pair of kernel mode segmentation registers. The first six kernel descriptor registers are initialised to 077406, which is the description of a full size, 4K word, read/write segment. The first six kernel address registers are initialised to 0, 0200, 0400, 0600, 01000 and 01200 respectively. ~~ sob Subtract one from the designated register. If the result is not zero, branch back "offset" words; ... ...
321 名前:名無しさん@お腹いっぱい。 mailto:sage [04/09/07 03:06] スタック --interrupted routine-- ps : old PS pc : old PC --vector-- r0 : old r0 --trap(assembler version)-- nps: new PS after trap r1 : old r1 sp : old SP for previous mode dev: masked new PS tpc return address in "call" --csv--- old r5 <- r5 old r4 old r3 old r2 cret <- sp r5r5r5r5r5 r5<-r5<-r5<-r5<-r5<-r5 うーん... service routine(dev, sp, r1, nps, r0, pc, ps) { u.u_ar0 = &r0 なんとも...
322 名前:名無しさん@お腹いっぱい。 mailto:sage [05/01/28 11:37:58 ]
323 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/07/29(金) 01:02:14 ] お前らXenのdom0に*BSDタンを担ぎ上げてください。
324 名前:名無しさん@お腹いっぱい。 [2005/07/29(金) 01:03:08 ] お前らdomUはなんでもいいとおもいませんか。
325 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/10/24(月) 01:11:31 ] 「BSDカーネルの設計と実装 --FreeBSD詳解--」 www.ascii.co.jp/books/detail/4-7561/4-7561-4679-1.html
326 名前:名無しさん@お腹いっぱい。 mailto:sage [2005/11/13(日) 16:17:31 ] >>325 よーし、俺のコレクションに加えちゃうぞー。 積読用に。
327 名前:見習デーモン mailto:age [2006/07/19(水) 15:21:55 ] ひさしぶりに来ました。 >>316 半人前どころか四半人前ぐらいです。 スレたてたの約5年前なんですね…全く成長してないのに 自分でもショック。 仕事終わったら『BSDカーネルの設計と実装』買って帰ります…
328 名前:見習デーモン mailto:sage [2006/07/24(月) 15:25:26 ] こんにちは。 上の本、順調に読み進めてます。 Netgraphハッカーになりてーなんて思ってたら Netgraphがカーネルの中で一番ボリュームが多いって知って さっそく挫けそうです。 OSMでバリバリ記事書く佐藤広生さんSUGEEEEEEE
329 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/07/26(水) 02:45:29 ] ん?多分ソースツリーの構成上だけの問題だと思うけど? 今netgraph関係は一部のモジュールを除いて、 ほとんどフラットに展開されてるから。それなりに数もあるし。 見る必要があるのはng_sample.cぐらいじゃない?
330 名前:見習いデーモン [2006/12/28(木) 17:49:40 ] 緊急浮上。 2007年はこれ www.packetmischief.ca/openbsd/snmp/ と、OpenBSDのtcpdumpのpfに関連した拡張をFreeBSDに移植します。
331 名前:見習いデーモン mailto:age [2007/05/09(水) 14:28:39 ] 着手しました。 まだOpenBSD上で本家パッチの内容を調査してる段階。 すんなり移植できるといいな・・・
332 名前:見習いデーモン mailto:sage [2007/05/10(木) 12:09:26 ] すまん、よく見たらカーネルと関係なかった。 回線切って首吊ってきます。
333 名前:名無しさん@お腹いっぱい。 [2008/06/04(水) 08:45:13 ] カーネルの最新情報なら www.kernel.org/
334 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/06/04(水) 09:24:35 ] 板違いだ ケンタッキーでも食ってろ
335 名前:見習いデーモン mailto:age [2008/09/26(金) 10:31:54 ] 仕事がつらくてモチベーションが下がったとき、このスレを開くと 元気が出る。 今の俺は、7年前の俺が目指した俺になっているだろうか。