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より伝統あるはずなのに。
12 名前:sage mailto:sage [01/10/18 01:13] ところで、「お前ら○○しますか?」というフレーズが 微妙に流行ってるのか?
13 名前:名無しさん@お腹いっぱい。 mailto:sage [01/10/18 01:44] >>12 すでに微妙に流行遅れ。
14 名前:login:Penguin mailto:sage [01/10/18 01:44] こっちにも飛び火してます mentai.2ch.net/test/read.cgi/network/1003037538/
15 名前:名無しさん@お腹いっぱい。 mailto:sage [01/10/18 01:46] >>11 /usr/manとかそのあたり探してみれば?
16 名前:見習デーモン mailto:sage [01/10/18 01:55] >>15 鬱だ・・・単純に覗けばいいんだった・・・ init_main.c:start_init()がなんとなくわかってきた。 prepare_usermode()の定義が見つからないのが鬱だけど、そろそろ寝よう
17 名前:あへあへ [01/10/23 22:25] あへ
18 名前:見習デーモン [01/10/23 23:36] #先日の情報処理試験のためハック休んでました。今日から再開。 /sbin に myinit を作って(へろーわーるどの後whileで停止するだけ)、 start_init() の init 探すパスを myinit 指すように書き換えてみたけど、 kern_exit.c の exit1() で止まるねぇ。 どういう経路でここまで来たのかまだちょっとわからん。 global + Namazu 駆使して頑張ります。おー
19 名前:見習デーモン mailto:sage [01/10/25 03:59] kern_exec.c: execve() の exit1() で止まることがわかった。 vmspace_destroyedフラグがたっちゃってるのね。 image_params にセットされる値追いかけなくちゃ・・・
20 名前: [01/10/25 20:20] おやおや、こんなスレが。僕もちょうど読もうとしてた(のに2ヶ月間ほ ったらかしてた)から参加しよう。 arch/include/pmap.h 以外で、全arch共通の pmap インタフェースを記述 した文書なりファイルってありますか?
21 名前:名無しさん@お腹いっぱい。 mailto:あげ [01/10/26 18:02] あげ
22 名前:名無しさん@お腹いっぱい。 [01/10/26 22:27] man page に pmap(9) がある。(NetBSD-current の場合)
23 名前:名無しさん@お腹いっぱい。 [01/10/30 17:50] BSDマガジンの第4号はカーネル初心者必携です。
24 名前:nana4 [01/10/30 18:31] ソフトウェアRAIDなのですが /dev/hda5 7GB (/home) /dev/hdb1 7GB (linuxraid) としたばあいで RAID0を組みたいのですが 詳しいページご存知無いでしょうか? 赤帽7.1を使っているのですが… /etc/raidtabが変なようで 起動時にこけます raidtabを一旦削除した後の再起動でまともに起動しますが RAID0は手動でしか動きません
25 名前: [01/10/30 18:34] >>22 おお、ありがとう。でもこれってuvmのやつだよね。 cvsweb.netbsd.org/bsdweb.cgi/sharesrc/share/man/man9/pmap.9?rev=1.9&content-type=text/x-cvsweb-markup NetBSDを読む機会があったら参考にするよ。 >>24 板&スレ違い。
26 名前:名無しさん@Emacs [01/10/30 23:45] >>3 えっと、もうmain()って名前じゃなくてmi_startup()という 名前に代わってるよん>init_main.cの関数。 FreeBSDの場合だと、mi_startup()はSYSINITマクロで作られた配列を 順番に実行するように作られてます。割と追いにくいです。 /sys/sys/linker_set.h /sys/sys/kernel.h あたりに小細工があります。
27 名前:名無しさん@Emacs [01/10/31 01:14] >>19 あのー、ルートファイルシステムは切ってあります? 切ってあればld-elf.so並びに共有ライブラリにアクセス できてないんじゃないの?
28 名前:名無しさん@お腹いっぱい。 mailto:sage [01/11/01 15:22] ttp://unix.za.net/~kobz/freebsd.jpg デーモン萌え
29 名前:名無しさん@お腹いっぱい。 [01/11/01 20:42] そういやビルくんを f*** する画像もどっかにあったな... しかしスレ違いでは。 GNUのウシ pc.2ch.net/test/read.cgi/unix/1002725230/ が適切か?(w
30 名前:名無しさん@お腹いっぱい。 mailto:sage [01/11/03 01:52] で〜もん君のイラストって、キモくないですか? BSD関連のよさげな本には(よさげでない本にもですが)必ずあれが あって鬱になるんですけど。
31 名前:名無しさん@お腹いっぱい。 [01/11/13 12:40] >>30 オレもそう思う。
32 名前:名無しさん@お腹いっぱい。 mailto:sage [01/11/13 15:39] 8頭身のデーモンはキモい!
33 名前:名無しさん@お腹いっぱい。 [01/11/13 17:03] 確かになー Linuxのペンギンのがかわいいよなぁ
34 名前:名無しさん@お腹いっぱい。 mailto:sage [01/11/13 17:17] 僕は linux user だがデーモン君の方が好きだな.
35 名前:login:Penguin mailto:sage [01/11/14 00:53] netbsdのサイトのメイン画面は好きだよ
36 名前:名無しさん@お腹いっぱい。 mailto:sage [01/11/14 02:08] >>35 あれは誰かがバタくさいといってて笑った.
37 名前:名無しさん@お腹いっぱい。 mailto:sage [01/11/15 03:03] >>36 あれはアメリカ軍の硫黄島占領をパクったもので、だいぶ前に 「他にいい絵があったら差し替えてもいいよー」 という話になってますが、いまだに代わりになる「いい絵」がないようです。
38 名前:名無しさん@お腹いっぱい。 mailto:sage [01/11/17 11:18] >>37 これか。 ttp://shinkiro.com/paro/191/ ttp://www.fsinet.or.jp/~news101/usa11.htm ttp://www.ne.jp/asahi/hp/sumei/anno/art/m_iwojima.htm
39 名前:名無しさん@お腹いっぱい。 [01/11/18 07:07] >>37 なんかのパロディっぽいとは思ってたけど、勉強になりました。 アメリカ人ならみんな知ってる有名な銅像なのだろうか。
40 名前:名無しさん@お腹いっぱい。 mailto:sage [01/11/18 07:11] >>39 銅像より元ネタになった報道写真のほうが 著名なんではないかと。
41 名前:デフォルトの名無しさん mailto:sage [01/11/18 07:13] そもそも元ネタがヤラセなんだよねw?
42 名前:名無しさん@お腹いっぱい。 mailto:sage [01/11/18 07:17] ヤラセっつーより仕込みのような。 報道写真なんてそんなもの〜♪
43 名前:名無しさん@お腹いっぱい。 mailto:sage [01/11/18 10:47] そんな絵を使ってるのに日本人 committer の多い NetBSD 萌え。
44 名前:名無しさん@お腹いっぱい。 mailto:sage [01/11/18 14:52] そういう絵だったのか...
45 名前:名無しさん@お腹いっぱい。 mailto:sage [01/11/18 20:38] www.mainichi.co.jp/life/family/syuppan/chronicle/1945_3.html
46 名前:名無しさん@お腹いっぱい。 mailto:sage [01/12/06 11:08] >>43-44 変えようとかいう話も以前出てた気もするけどどーなったんだろ(w
47 名前:名無しさん@お腹いっぱい。 [01/12/31 18:04] おせーてくださいませ。 caddr_t ってどーいう意味なのですか。 ヘッダファイル見たら core address ってコメントしてあったけど、 よくわかりませんです。 ってこれはカーネルの話題じゃないのかな?
48 名前:名無しさん@お腹いっぱい。 mailto:sage [01/12/31 18:20] >>33 ペンギンかわいいか?目にまったく生気がなくてうつむいてるし、 ぐったりしてるように見えるんだけど。カモメの方が好きだった。
49 名前:名無しさん@お腹いっぱい。 mailto:sage [01/12/31 22:07] 正直、linuxペンギンは気持ち悪い。
50 名前:名無しさん@お腹いっぱい。 [02/01/11 07:01] >>26 SYSINITの所で、つまずいたです。 出来れば簡単に説明して頂けるとうれしいのですが。。
51 名前:名無しさん@お腹いっぱい。 [02/01/13 20:52] ager
52 名前:26 [02/01/14 18:50] 以下の実験は実行ファイル形式としてELFを使用しgccをコンパイラとして 利用している事が前提である。 実験1. まず以下のソースをコンパイルし結果を見よ。 --------a.c extern int __start_b; extern int __stop_b; static int a1 __attribute__((__section__("b"))) = 0; main() { int *a; for(a = &__start_b; a < &__stop_b; a++){ printf("%d\n",*a); } } ------- 実験2 上のソースと次に挙げるソースをリンクし、結果を見よ。 ----b.c int a2 __attribute__((__section__("b")))=1; int a3 __attribute__((__section__("b")))=2; ----- 実験3 /boot/kernel/kernelと、今作った実行ファイルそれぞれに対し objdump --all-headers をかけて結果を見よ。 考察欄
53 名前:名無しさん@お腹いっぱい。 mailto:sage [02/01/14 18:56] $ objdump --all-headers /boot/kernel/kernel /usr/libexec/elf/objdump: /boot/kernel/kernel: No such file or directory $ uname -sr FreeBSD 4.4-RELEASE
54 名前:52 mailto:sage [02/01/14 18:59] みゅ。悪い。4系だと/kernelだね。
55 名前:名無しさん@お腹いっぱい。 mailto:sage [02/01/14 22:59] Linux(ELF)でも、(おそらく)同じ結果になった。 __attribute__や__section__の定義を探して /usr/includeなんかをfind+grepしたけど見つからない。どこかなー
56 名前:52 [02/01/15 00:31] >>55 >>26 参照。
57 名前:26 mailto:sage [02/01/15 00:34] それから、__attribute__はgccの拡張だよ。info参照。
58 名前:歴史に名を残すかもしれない男 [02/01/15 01:59] 僕は、超研究員大学生でありウィザドですが、 既存のOSはしょーもないので新しく作ります。 そこで質問です。 FreeBSDってカーネルとか弄ったりして、 ソフトとか入れて整形したものを Linuxのディストリビュージオンみたいに配ってもいいですか? または、FreeBSDなどを参考にして、 一から作ったOSウォ、VokuBSDみたいに名乗ってもいいですか。
59 名前:50 mailto:sage [02/01/15 02:04] 26さん、ありがとう!! objdump --all-headersの出力は、はっきり言って分からなかった んですが、ヒントは掴めたです。 ______________________________ // a.c extern int __start_my; extern int __stop_my; static void test1(void) { printf("test1\n"); } static void test2(void) { printf("test2\n"); } static void (*__p1)(void) __attribute__ ((section ("my"))) = test1; static void (*__p2)(void) __attribute__ ((section ("my"))) = test2; int main(void) { void (**p)(void); for (p = &__start_my; p < &__stop_my; p++) { (**p)(); } return 0; } ______________________________ // b.c static void test3(void) { printf("test3\n"); } static void test4(void) { printf("test4\n"); } static void (*__p3)(void) __attribute__ ((section ("my"))) = test3; static void (*__p4)(void) __attribute__ ((section ("my"))) = test4; が動いて一人感動しております。 最初、関数のコード部分もmyセクションに入れてしまって core吐きまくったです。
60 名前:納期に間に合わないかもしれない男 mailto:sage [02/01/15 02:37] >58 既存のソゥースについたBSD スタァイルのコピーライトオンを改変しなけれヴぁ 問題にないはずです。 頑張ってくださイね。
61 名前:見習いデーモン [02/01/15 02:45] おひさしぶりです。 己の能力不足ですっかりカーネルの深海に溺れて土左衛門になって スレに出入りすることもなかったんですが、 まだ地味に続いてたんですね。 26さんが情報提供してくださったりして、スレの雰囲気は良い方向 に向かってますね。 全然ついていけないんですけど、今MINIXいじって基本を勉強してるんで いつか追いつければなぁと思ってます。 っつーかみなさんどうやってそんなにスキルつけたんですか。
62 名前:名無しさん@お腹いっぱい。 [02/01/15 09:06] >>61 oskitで遊ぶ
63 名前:26 [02/01/17 00:04] >>58 どんな簡単な物でもいいから、とりあえずドライバ書いて見たら? 今まであるドライバからコピペしたり、/usr/share/examples/にある スクリプトを使ったテンプレートを元に書けばそんなに難しくないよ。 頭から追っていくってのは正直言うとかなり効率の悪い方法だと思う。 カーネルがprintf(9)で吐くメッセージをたよりにしたりしながら 調べるのが吉。そうすれば例えばSYSINITの実装はとりあえず理解しなくても 先に進むことが出来るし。
64 名前:名無しさん@お腹いっぱい。 mailto:sage [02/01/17 00:15] なんか面白そうだな。 *BSD 入れたくなってきた。
65 名前:名無しさん@お腹いっぱい。 [02/01/22 08:54] Solarisのカーネルハックもここでいいの?
66 名前:名無しさん@お腹いっぱい。 [02/01/22 14:24] Solarisの kernel source見ると、変な copyrightに汚染されませんか? # 会社の決算期にあたって、bladeが来ない...
67 名前:age [02/01/30 23:31] age
68 名前:名無しさん@お腹いっぱい。 mailto:sage [02/01/31 00:12] >>63 日本人がBSDにドライバ書くのは見飽きたにょ VFSとかに挑んでみてくれ
69 名前:名無しさん@お腹いっぱい。 mailto:sage [02/01/31 00:33] Uniform Driver Interfaceどうよ?
70 名前:名無しさん@お腹いっぱい。 mailto:sage [02/01/31 13:57] えと、えと。そうしてほしいの?おにいちゃん。ってのはともかく。 要はいじりたいコンポネントからせめて行くのが得策なわけで。 頭から見ても良い事はあんまり無いと言うのが本質ですな。 他機種移植だったらそれが一番大事だけど。 (もっとも、例にだしたのがドライバなのは私がその見飽きた事を しているからでして。)次はportalfs元にいじるかな。小さくて簡単そうだし。 kernfsあたりも簡単そうだったけど。FreeBSDからは消えたし。 UDIですかぁ。うーん。努力は認めるけど....
71 名前:68 mailto:sage [02/02/02 00:17] >>70 個々のファイルシステムじゃなくてVFS。 VMいじれとまでは言わないっす。ドライバ書きは多いけど、そっから 昇格するやつがいないと思ったみょ。 わしも、しょうもないドライバを昔書いたけど、それいらいカーネルは いじってないでし。(もはや一介の犬厨です)
72 名前:名無しさん [02/02/09 10:55] ソラリスのカーネルスレッドがマッチするよう Sparcは設計されているのですか?
73 名前:名無しさん@お腹いっぱい。 [02/02/23 09:22] あげ
74 名前:名無しさん@お腹いっぱい。 mailto:sage [02/02/23 16:55] ドライバ書きより VFS いじる方が格が上だとでも? ただのレイヤ違いじゃん。
75 名前:名無しさん@お腹いっぱい。 mailto:sage [02/02/26 00:00] >>74 本当にそう思う? みなさまもそう思う?
76 名前:名無しさん@お腹いっぱい。 mailto:sage [02/02/26 14:20] 禿同 >>74
77 名前:74 mailto:sage [02/02/28 15:46] >>75 心からそう思っております。
78 名前:名無しさん@お腹いっぱい。 [02/03/08 23:27] age
79 名前:仕様書無しさん [02/03/09 17:23] これも
80 名前:名無しさん@お腹いっぱい。 [02/03/11 00:24] つづきプリーズ揚げ
81 名前:名無しさん [02/03/11 04:30] BSDに誰か じゃーなりんぐできるFS実装してくれたまへ。 あと、圧縮できるFSもキボンヌ
82 名前:名無しさん@お腹いっぱい。 mailto:sage [02/03/11 04:50] jfs4bsd.sourceforge.net/
83 名前:名無しさん@お腹いっぱい。 mailto:sage [02/03/11 06:19] >>82 ライセンスどうするんだろ? JFSもGPLだったよね?
84 名前:名無しさん@お腹いっぱい。 mailto:sage [02/03/11 07:31] >>83 コードの再利用をせずにスクラッチで書けば良いんではないかい?
85 名前:83 [02/03/11 10:41] うーんやっぱそうなるよねぇ。先が長そうだ... とりあえず応援age
86 名前:名無しさん@お腹いっぱい。 mailto:sage [02/03/11 21:46] JFS ってわざわざスクラッチから作るほどイイの?
87 名前:名無しさん@お腹いっぱい。 mailto:sage [02/03/12 00:04] とりあえずジャーナリングするファイルシステムがひとつは欲しい
88 名前:名無しさん@お腹いっぱい。 mailto:sage [02/03/12 16:19] JFS for Linux を移植するよりスクラッチから書いた方が早い
89 名前:名無しさん@お腹いっぱい。 mailto:sage [02/03/12 18:17] >>88 その情熱をLFSに注いでクレ
90 名前:名無しさん@お腹いっぱい。 mailto:sage [02/03/13 00:28] LFSとかsoftupdateみたいなディスクへのリクエストの順序で整合性を保つ方式は そろそろダメというのが世間のコンセンサスな気がする
91 名前:名無しさん@お腹いっぱい。 mailto:sage [02/03/13 00:49] ジャーナリングって ディスクへのリクエストの順番と 実際書き込まれる順番が デタラメになっても問題ないの?
92 名前:名無しさん@お腹いっぱい。 mailto:sage [02/03/13 08:05] >>91 そんなことはないが、ディスクキャッシュのフラッシュなどの 同期命令の発行がかなり少なくてすむ 少なくともメタデータ一個書くごとにフラッシュする必要は無い
93 名前:名無しさん@お腹いっぱい。 mailto:sage [02/03/13 08:39] 書き込み順序保証ってSCSIやATAのtagged queuingじゃダメなの?
94 名前:名無しさん@お腹いっぱい。 mailto:sage [02/03/14 00:16] >>93 その手の機能をすべてのメタデータの書き込みに対して使うと遅いよ
95 名前:名無しさん@お腹いっぱい。 mailto:sage [02/03/14 01:15] >>90 LFS はセグメント毎にフラッシュすれば十分なんでないの? ダメ?
96 名前:名無しさん@お腹いっぱい。 mailto:sage [02/03/14 09:44] >>95 そうですな。すまんかった
97 名前:名無しさん@お腹いっぱい。 [02/04/07 06:03] age てみよう。
98 名前:名無しさん@お腹いっぱい。 [02/04/09 19:11] 勉強のため、FreeBSD 4.5-RELEASE 上で俺ファイルシステムを 作りたいと思っています。とりあえず、procfs のように、カーネルの 覗き穴的な fs がいいかなと。 が、サパーリわかりません。というわけで、fs のスケルトンが欲しい のですが、よいスケルトンはどれでしょうか。 ファイルサイズ的に miscfs/deadfs/ かなぁと思うのですが、deadfs は どういう目的の fs なのかがわかりません。ぜひアドバイスをお願いします。
99 名前:98 mailto:sage [02/04/09 19:26] deadfs は mount 方法もわからないし (そもそも mount できるのか どうかもわからん) kernfs の方がいいかな…。
100 名前:名無しさん@お腹いっぱい。 mailto:sage [02/04/09 19:32] procfs を換骨奪胎すればいいのでは?
101 名前:名無しさん@お腹いっぱい。 [02/04/09 19:57] やっぱnullfsが基本では。 procfsはpseudofsレイヤができたから応用ききづらいかも。
102 名前:100 mailto:sage [02/04/09 20:21] nullfs は読むのに layerfs と行ったり来たりしなきゃ いけないので面倒かもと思ったので。(NetBSD) よく見たら >98 はFreeBSDか。 てゆーか msdosfs あたりでも見たほうがむしろ分りやすいかもとか 思ったり。
103 名前:98 mailto:sage [02/04/09 20:37] なんだこれ、ちょーかんたんじゃん! というわけでメモメモ。 /sys/conf/files に追加。 miscfs/orefs/orefs_vfsops.c standard miscfs/orefs/orefs_vnops.c standard /sys/sys/vnode.h に VT_OREFS を追加。 enum vtagtype { ... VT_OREFS, /* 追加 */ }; # mkdir /sys/miscfs/orefs && cp /sys/miscfs/kernfs/* /sys/miscfs/orefs /sys/miscfs/orefs/* を片っ端から s/kern/ore/ # cd /sys/i386/conf && config GENRIC && cd ../../compile/GENERIC # make depend && make make install # ln -s /sbin/mount_kernfs mount_orefs # reboot # mkdir /ore # mount_orefs orefs /ore # ls -l /ore -r--r--r-- 1 root wheel 9 Apr 9 20:30 oresama # cat /ore/oresama oresama!
104 名前:98 mailto:sage [02/04/09 20:54] UNIX 使い始めて はや7年。やっとカーネルの世界にちょっとだけ足を踏み入れる ことができたかな…。漏れみたいなヘタレには一生無理かとおもてたよ。感激。 というわけで、とりあえずの目標は rootvfs/da0s1a -> vnode/1 rootvfs/ad0c -> vnode/2 vnode/1/v_flag vnode/1/v_count みたいな (まだわかってないので構成は適当)、各種構造体をマッピングした ファイルシステムを作ろうと思います。 > やっぱnullfsが基本では。 nullfs の本来の使い方がいまいちわからないので、 一番サイズの小さい kernfs で行くことにしましたっす。
105 名前:名無しさん [02/04/09 21:59] カーネルのコンパイルについて質問です。 FreeBSD4.5でカーネルをいじってmake && make installを しているんですが不要な部分を除いてコンパイルの時間を 短くできないでしょうか?そんな都合のいい話は ないかもしれませんがよろしくお願いします。
106 名前:あぼーん mailto:あぼーん [あぼーん] あぼーん
107 名前:名無しさん@お腹いっぱい。 [02/04/09 22:47] >>105 パソコンかえればはやくなるんじゃないかな。 PentiumIII1G以上だったら1分ぐらいで終わるし。
108 名前:名無しさん@お腹いっぱい。 mailto:sage [02/04/09 22:51] >>105 本来スレ違いなんだけど… www.jp.freebsd.org/www.FreeBSD.org/ja/handbook/kernelconfig.html さらに何か疑問があればFreeBSD質問スレにGo
109 名前:名無しさん@お腹いっぱい。 [02/04/20 02:22] NULLFSは正直お勧めできない。 あれは、スタッカブルファイルシステムのテンプレ。 そうそう。Linuxネタだけど、これどうよ。(カーネル空間でORBit動かす) korbit.sourceforge.net/ これ一瞬移植しようかと思ったけど、geom入ったせいで glibと名前空間がぶつかりそう。
110 名前:名無しさん@お腹いっぱい。 [02/04/21 00:27] うーん。 NetBSDからスタッカブルファイルシステム系全部持ってきたほうが 面白いかなぁ。
111 名前:名無しさん@お腹いっぱい。 mailto:sage [02/04/21 16:04] >>109 ORBit カーネルで動かすとなんかいいことあるの? > you can write Linux device drivers in Perl とか言われてもなあ(w
112 名前:学生 [02/05/08 22:11] カーネル書けるとスゴいって書き込みよく見かけますが 学生で書けたらすごいですか? ウチの教授は書けますかね?
113 名前:名無しさん@お腹いっぱい。 mailto:sage [02/05/08 22:27] >>112 そんな書き込みどこで見かけた? 2ちゃんねるぢゃあないよな?
114 名前:名無しさん@お腹いっぱい。 mailto:sage [02/05/08 22:39] >>113 ここと思われ: Free Unix での経験は職歴に入らないか? (428) pc.2ch.net/test/read.cgi/unix/995637081/12
115 名前:学生 [02/05/08 23:02] ビンゴです。 あと、以前他のスレでも見ました。 で、どうなんですか。 カーネルは上級のプロじゃないと書けないんですか? お前ら真面目にレス下さい。
116 名前:名無しさん@お腹いっぱい。 mailto:sage [02/05/08 23:10] >>115 べつにプロである必要はこれっぽっちもないわけだが
117 名前:学生 [02/05/08 23:19] >>116 どのくらい難しいのでしょうか 3年間くらい勉強すれば学生でもかけますか
118 名前:名無しさん@お腹いっぱい。 mailto:sage [02/05/08 23:21] >>117 やってみりゃ自分でわかるだろ? つべこべ言ってないでさっさとカーネルをハク汁
119 名前:名無しさん@お腹いっぱい。 mailto:sage [02/05/08 23:24] >>117 自分の頭の中のフローチャートを実際にプログラムに 起こせる人間であれば、多分1年くらいで出来ると思う。 漏れは3年くらいかかったけど(鬱
120 名前:名無しさん@お腹いっぱい。 mailto:sage [02/05/08 23:27] >>117 学生かどーかは関係ないし。 1ヶ月くらいやってみて無理そうなら当分無理。
121 名前:117 [02/05/08 23:37] レスありがとうございます。 ここで言う「書ける」というのは、白紙からの状態から自分で書けるという意味ですよね? 既存のプログラムを改造するとか、書籍を見て書くとか、そういう意味ではないですよね?
122 名前:名無しさん@お腹いっぱい。 mailto:sage [02/05/08 23:38] >>115 むしろカーネルをスクラッチから書くなんてこと 学生にしかできないから、今のうちに頑張れ。 「上級のプロ」にそんな暇なんてありません。
123 名前:名無しさん@お腹いっぱい。 [02/05/08 23:41] >>122 UNIX使いになるためには、やっといて損はないですか?
124 名前:名無しさん@お腹いっぱい。 mailto:sage [02/05/08 23:44] >>123 人によって"損"の感じ方が異なります 私の損とあなたの損は違います
125 名前:名無しさん@お腹いっぱい。 mailto:sage [02/05/08 23:46] >>124 うーん 将来ネットワーク関係のソフトウェアを開発したいのですけども。 そーゆー人にとっては有益でしょうか?
126 名前:T大理系 [02/05/08 23:49] みんな理系? 凄いです 尊敬します
127 名前:名無しさん@お腹いっぱい。 mailto:sage [02/05/08 23:59] >>125 そういう具体的な目標があるのなら、カーネルに拘らずに最初から ネット周りのプログラムをハクした方がいいと思われ。 カーネル書ける奴はスゴイが、カーネル書ける奴だけがスゴイわけじゃない。
128 名前:名無しさん@お腹いっぱい。 mailto:sage [02/05/09 00:08] 俺的にはドライバをバリバリ書き捲くってるような人が プログラマとして尊敬に値すると思ってる。 カーネルはどっちかって言うと設計するものって感じだしねぇ。
129 名前:名無しさん@お腹いっぱい。 mailto:sage [02/05/09 00:10] >>128 実務家っぽい御意見…
130 名前:名無しさん@お腹いっぱい。 mailto:sage [02/05/09 00:11] 人に訊いてからじゃないと始められない奴は結局何もできない。 hackなんてのは気づいたらやっているか、やらないと夜が明けないかのどちらかだ。
131 名前:名無しさん@お腹いっぱい。 mailto:sage [02/05/09 01:13] >>125 ネットゲーのサーバとかのように、非同期に発生する大量の要求を うまく捌かなければならないプログラムを書くのは、 カーネルを書くのと似たようなセンスが必要な気がする。 # RDBMSとかもそうだな。 こういうシステムをうまく設計できる奴は 非常に使えるね。
132 名前:名無しさん@お腹いっぱい。 mailto:sage [02/05/09 12:11] >>130 がいいこと言った。
133 名前:学生 [02/05/10 19:33] みなさんどうもありがとう ところでみなさん理系ですか? もしくはコンピュータで飯を食っている人達ですか?
134 名前:名無しさん@お腹いっぱい。 mailto:sage [02/05/10 19:44] >>133 理系かそうでないかなんてどうでもいいことだ。 とりあえずやってみろ >>130 どっかで聞いた気がするが、イイね
135 名前:名無しさん@お腹いっぱい。 mailto:sage [02/05/10 20:22] >>133 俺も学生。経営情報学科というとこにいる。 理系だか文系だかわからん。
136 名前:名無しさん@お腹いっぱい。 mailto:sage [02/05/11 05:29] あーあ カーネルいじって遊んでたら もー朝だよ... 寝よーっと。
137 名前:名無しさん@お腹いっぱい。 mailto:sage [02/05/11 14:10] カーネル・ハッカースおじさんのAAキボンヌ
138 名前:名無しさん@お腹いっぱい。 mailto:sage [02/05/21 11:26] hack より fuck だと最近痛感 おっかけさぼりすぎで make world 不能状態
139 名前:26=52=..... mailto:sage [02/05/25 03:44] 某誌のネタにしますた。
140 名前:名無しさん@お腹いっぱい。 [02/06/03 01:15] 保守age
141 名前:名無しさん@お腹いっぱい。 mailto:sage [02/06/03 01:59] 見習いデーモンは死んだのか?
142 名前:名無しさん@お腹いっぱい。 [02/06/09 05:21] ど な たか、いらっしゃい ま せ ん か ?
143 名前:名無しさん@お腹いっぱい。 mailto:sage [02/06/21 07:49] 誰かハックしてる人いますかー。 BSDのkernel読み始めるとしたら、手をつけるところは どこがおすすめですかねぇ
144 名前:名無しさん@お腹いっぱい。 mailto:sage [02/06/21 08:28] >>143 過去ログ
145 名前:名無しさん@お腹いっぱい。 mailto:sage [02/06/21 09:23] >>143 current の SMPng
146 名前:名無しさん@お腹いっぱい。 [02/06/25 23:38] >>143 まぁ、過去ログにもいろいろあるけど、手足から見て行くのがいいと思うね。 デバイスドライバ、ファイルフォーマット毎のプロセス実行サブシステム(imgact_*)、 簡単なファイルシステム、低水準の初期化部あたりは割とコンパクトに まとまってて読みやすいんじゃないの? >>145 ほぅ。じゃぁ、具体的に何処のファイルがSMPngに関係してるのか言ってみ。 PERFORCEのリポジトリは見てるんだろうね。
147 名前:名無しさん@お腹いっぱい。 mailto:sage [02/06/26 00:06] >>146 の後半 ネタにマジレスカコワルイ
148 名前:名無しさん@お腹いっぱい。 mailto:sage [02/06/26 00:28] >>146 FreeBSD以外の*BSDってperforce使っているんですか? FreeBSDのperforce treeってanonymousでソースを取れるんでしょうか? できるんなら見てみたいと思っています。
149 名前:名無しさん@お腹いっぱい。 [02/06/26 01:08] >>148 他の*BSDでは使ってないです。 でもSMPngっていったらFreeBSDでしょ。 リポジトリのブラウズならここでどうぞ。 people.freebsd.org/~peter/p4db/ 手元に置きたければ people.freebsd.org/~peter/p4cookbook.txt に取り方が書いてある。
150 名前:名無しさん@お腹いっぱい。 [02/07/03 03:05] FreeBSDのブートについて質問させてください。 sys/boot/common/load_elf.c を読んでるんですが、 /kernelのエントリアドレス(当方では0xc012b130)に0xff000000をマスクして 符号反転してオフセット(off)を0x40000000にしている意味がわからないです。 コメントの「i386 relocates after locore」っていうのも呪文ですし… で、結局/kernelのプログラムヘッダの仮想アドレス(当方では0xc0100000)と さっきのoffを加算して桁あふれさせて0x100000にして、 最終的にはこのアドレスに/kernelをロードしてるようなんですが、 なんかえらくまわりくどくないですか?私の読みが浅いだけでしょうか。
151 名前:@夜勤雀棟 ◆YaKINcTg mailto:sage [02/07/03 05:48] >>150 sys/boot/common/load_elf.c > off = - (off & 0xff000000u); /* i386 relocates after locore */ offの最上位の1バイトをクリアするだけだと。 e.g. 0xc012b130 -> 0x0012b130 >/* i386 relocates after locore */ boot2内で/kernelを16MB以下のリニアアドレス(0x00100000-)へ展開しておき、 locore.sにおいて適切なアドレス(0xc0100000-)へmapするのだと思われます。 (locore.s内でページングをenableにしている) #ざっと眺めただけなので保証はしませんが :-p
152 名前:名無しさん@お腹いっぱい。 mailto:age [02/07/03 21:52] 良サイト宣伝中〜〜。 www.interone.jp/~game-k/ 注)私はサイト関係者とは無関係ですよ。
153 名前:名無しさん@お腹いっぱい。 mailto:sage [02/07/04 03:20] >>152 BSD カーネルのハックに関する良サイトかと思って見に行っちゃったよ :-)
154 名前:名無しさん@お腹いっぱい。 mailto:sage [02/07/04 05:05] アドレスの最後の方のgameがgmakeに見えて、見に行っちゃったよ。。
155 名前:名無しさん@お腹いっぱい。 [02/07/06 20:57] >>151 その通り。なぜ、&= ~(0xff000000)じゃないのかよう分からんけど。 で、じゃあ何故ELFヘッダの開始番地が0x100XXXなんかじゃ無くて 0xc01000XXになってるかっていうと、paging開始後はカーネル仮想メモリ アドレスは全て0xc0000000以降になっていて、 カーネルで使用している メモリアドレスは全てそこにマップされるから。(リンカとELFフォーマット の機能を使えばそういう状況にも実は対応できたりするような気もするけど) 特にkernelとISAメモリ空間は(物理アドレス+0xc0000000)の位置にマップされます。 locore.sでページングを開始するまでに絶対アドレッシングが必要な 時は #define R(foo) ((foo)-KERNBASE) 定義されるマクロを使ってアクセスしてます。
156 名前:150 [02/07/06 21:47] >>151 , >>155 お二人のレスを見ると自分がはずしまくってるのかニアミスなのか すげぇ悩みます。 load_elf.cに↓のようにコード追加して -- 228行目あたり if (kernel) { printf("before [%p]\n", (void *)off); ←これを追加 #ifdef __i386__ off = - (off & 0xff000000u); /* i386 relocates after locore */ printf("after [%p]\n", (void *)off); ←これを追加 -- # make # make install として祭起動すると before [0xc012b130] after [0x40000000] となるんで、あぁそうかと思ってたんですけど、お二人は 最上位の1バイトをクリアしてるとおっしゃてますし。 でも/kernelを0x100000へマップするのはあってるんですよね?
157 名前:@夜勤雀棟 ◆YaKINcTg mailto:sage [02/07/06 22:25] >>156 > off = - (off & 0xff000000u); /* i386 relocates after locore */ スマソ。コードを読み違えました。 off -= (off & 0xff000000u); だったら最上位バイトのクリアですね。
158 名前:150 mailto:sage [02/07/06 23:16] >>157 まぁ「保証はしない」っておっしゃってましたしね =) さてすっきりしたところでつぎはbtx.sでものぞいてみますか…
159 名前:名無しさん@お腹いっぱい。 [02/07/18 02:40] せっかくだから俺は、ed0からtcpパケットがユーザランドまで行くまでを追って見るぜ edintr-> ed_rint(dev/ed/if_ed.c)-> ether_input ->ether_demux(net/if_ethersubr.c)->(queueへ) (queueからnetisrで)->ipintr->ip_input(netinet/ip_input.c)-> tcp_input->(順序を組み立てる為のqueueへ?) ぐらいまで読めましたが、そっからどうなってるのかわかりますか?
160 名前:名無しさん@お腹いっぱい。 mailto:sage [02/07/19 00:02] 上から来るぞ! 気をつけろ! TCP は置いといてとりあえず UDP 追ってみては?
161 名前:名無しさん@お腹いっぱい。 [02/07/21 04:14] おい、>>160 ,見習いデーモン,生きてるか? udpの場合ip_inputの後 udp_input@udp_usrreqで配送先のプロセスを探して、sowakeupで起こす そうすると、sbwait()で待ってた soreceive()(uipc_socket.c)->recvit()でcopyoutされ、 recvitからはrecvfromに戻ってシステムコール完了と言った感じですか。
162 名前:名無しさん@お腹いっぱい。 [02/07/29 19:56] ここなかなか良さそう。ただしSimplified Chinese。 opensource.zjonline.com.cn/
163 名前:150 mailto:FreeBSD 4.6R です。 [02/07/30 09:23] おはようございます。 PICの解説で参考になるページ見つけたんで貼っておきます。 www.asahi-net.or.jp/~WR7S-NKMR/BeOS/Documents/IRQ.html www.cqpub.co.jp/column/books/2001a/34331PC_Legacy/default.htm で、また質問させてください。 sys/boot/i386/btx/btx/btx.s を読んでるんですが、 220行目あたりの「Launch user task」からがサッパリわかりません。 TSSの働きとタスク切替えがよく理解できてないからだと思うんですが、 248行目のiret命令で何が起こるのかわかりません。 (コメントには「To user mode」って書いてあるんですが…) iretでタスクを切替える場合はフラグレジスタにNTビットがセットされて なければならない、とインテルのマニュアルにも「はじめて読む486」にも 書いてあるんですが、248行目に到達するまでにNTビットがセットされたような 様子もないんですが… 何かヒントだけでもお願いします。
164 名前:名無しさん@お腹いっぱい。 [02/07/30 10:45] 基本的にはbtxではタスク切替え使ってない筈。(そんな豪勢なことする ほどのサイズも無いし)単純に、EFLAGSもPOPすることで、 特権を切替えてbtx_hdrにあるモニタルーチンのエントリーへ 飛んでるだけのことと思う。
165 名前:@夜勤雀棟 ◆YaKINcTg mailto:sage [02/07/30 15:06] >>163 この場合はTSSは関係ないですね。(V86用に使うだけ) 割り込みが起こったことにしてiretしているだけです。
166 名前:150=163 mailto:sage [02/07/31 19:46] レスどうもです。 はやとちりしてました。iretはタスク切替えだけで使うものではなかったんですね。 インテルのマニュアルの命令リファレンスで確認しました。 でも、pushしておいたEIP(btx_hdr+0xc)がiretで特権を切替えたあと 実行される番地みたいですけど、btx_hdr+0xcって btx_hdr: .byte 0xeb # Machine ID .byte 0xe # Header size .ascii "BTX" # Magic .byte 0x1 # Major version .byte 0x1 # Minor version .byte BTX_FLAGS # Flags .word PAG_CNT-MEM_ORG>>0 xc # Paging control .word break-start # Text size .long 0x0 # Entry address ←ここですか? 特権を切替えて、また同じコードを辿ってくってこと???
167 名前:@夜勤雀棟 ◆YaKINcTg mailto:sage [02/07/31 20:21] >>166 >でも、pushしておいたEIP(btx_hdr+0xc)がiretで特権を切替えたあと >実行される番地みたいですけど >pushl btx_hdr+0xc# Set EIP これは間接参照でbtx_hdr+0xc番地の内容(long)をpushするという意味です。 # operandに'$'が付いていないことに留意。
168 名前:150 mailto:sage [02/08/03 14:17] >>これは間接参照でbtx_hdr+0xc番地の内容(long)をpushするという意味です。 にしても、特権切替えたあとはどのコードが走るのか全然わからないです。 EIPが0x0なんですよね?0x0番地のコードって…?
169 名前:名無しさん@お腹いっぱい。 mailto:sage [02/08/03 18:45] 実際のバイナリをhexdumpしないとダメっすよ。ローダがいじるに決まってるでしょ。 /boot/boot2より 00000200 eb 0e 42 54 58 01 01 80 f6 0f 80 07 00 10 00 00 |..BTX...........| <eb> btx_hdr: . byte 0xeb <0e> . byte 0xe <42 54 58 > . ascii "BTX" <01> .byte 0x1 <01> . byte 0x1 <80> .byte BTX_FLAGS <f6 0f> .word PAG_CNT-MEM_ORG>>0 xc <80 07> .word break-start <00 10 00 00> .long 0x00001000 簡単にするならコメントを信じて次のbtxクライアント(boot2又は/boot/loader本体) へ進めってことです。ちなみに/boot/loaderは更にbtxldrが走ったりするっす。
170 名前:名無しさん@お腹いっぱい。 [02/08/03 19:30] >>実際のバイナリをhexdumpしないとダメっすよ。ローダがいじるに決まってるでしょ。 おぉ、盲点でした。 こういうのはMakefileを丁寧に追っていけばわかることですか? 今ちらっとsys/boot/i386/boot2/Makefileを見たら ORG2に代入された0x1000がbtxldコマンドのオプションとかに使われてて 「ほうほう」と思ってたんですけど。 ソースにとらわれすぎて本質を見失ってました。 でも>>169 さんのおかげでまた少し前進できそうです。ありがとうございました。
171 名前:150=170 mailto:sage [02/08/03 19:31] sage忘れ欝だ死のう…
172 名前:名無しさん@お腹いっぱい。 [02/08/04 22:06] sageなくても良いんじゃない? まぁ、強いていえば「特殊なローダを必要とする」「0x0なんて番地に飛ぼうとする」 という2点から勘を働かせた結果かな。
173 名前:見習デーモンへ [02/09/09 04:58] スレ キトク スグカエレ 〜ハハヨリ〜
174 名前:名無しさん@お腹いっぱい。 mailto:sage [02/09/11 00:13] >>173 知らなかったのか?見習いデーモンは 半年前に勇者に殺されたんだぞ。
175 名前:名無しさん@お腹いっぱい。 [02/09/15 00:10] もし!毒蛇に噛まれたら、 切り口を素早くナイフでえぐり、 急いで口で吸え! ほら、言ってみろ!!
176 名前:名無しさん@お腹いっぱい。 mailto:sage [02/09/15 00:37] 虫歯がある時にそれやったら死んでしまう罠。
177 名前:名無しさん@お腹いっぱい。 [02/09/15 01:44] ごめんなさい クックロビンを殺したのは私です。。。。
178 名前:名無しさん@お腹いっぱい。 [02/09/15 01:44] boot0.sコードので分らない部分があるのですが、 61 movw $LOAD,%sp # stack 66 movw %sp,%si # Source 67 movw $start,%di # Destination 68 movw $0x100,%cx # Word count 69 rep # Relocate 70 movsw # code この部分は、MBRを再配置するコードだと考えているのですが、 アドレスLOAD(0x7c00)からの512バイトの領域を、現在実行して いるstartで表されるアドレスからの512バイトの領域にコピーする という意味なのでしょうか?
179 名前:名無しさん@お腹いっぱい。 mailto:sage [02/09/15 07:34] >>178 MBRが読み込み・実行される際のセレクタの値 引用してるコードの上の方で設定してるセレクタの値 セレクタとオフセットから得られる実効アドレス について調べましょう。 # 個人的には、今さらIA32の16bitモードについて勉強しても # 得る物はあまり多くない気がする。
180 名前:見習いデーモン mailto:sage [02/09/21 18:19] むしょうにデバイスドライバを書いてみたくなって、 www.jp.freebsd.org/www.FreeBSD.org/doc/en_US.ISO8859-1/books/developers-handbook/x10069.html ↑やってみたらすげー簡単でびっくりしました。 秋月のLCDキットとかをシリアルかなんかでつなげて、 echo "Hello" > /dev/mylcd とかできるようになりたいんですけど、あとは↓ www.daemonnews.org/200010/blueprints.html とか読んどけばできるようになりますか? 実際のドライバってどんななんだろうと思って/sys/dev/fxp/if_fxp.c なんかのぞいてみて頭から煙だしたりしてます…
181 名前:名無しさん@お腹いっぱい。 mailto:sage [02/09/21 23:15] おまえの見てるのデバドラのつくり方じゃねぇじゃん。(藁
182 名前:見習いデーモン mailto:sage [02/09/21 23:34] うお、もしかして空回りですか… でもKLDでカーネル領域に自分のコード置けるとおもうとワクワクするんですが
183 名前:名無しさん@お腹いっぱい。 mailto:sage [02/09/22 23:32] カーネルを再構築しても自分のコードは置けますが何か?
184 名前:名無しさん@お腹いっぱい。 [02/09/24 00:43] >>181 ハンドブックで解説されている部分は部分はデバイスドライバ (ツリーを形成する実デバイスを叩くもの)ではデフォルトで呼ばれる ものがあるので気にしなくていいです。 おまいさんの目的ではどう見てもfxpを見るのは間違いだと 思いますし、そもそもシリアルならsio使ってtermios 叩いたほうが....... で、ご希望にそえるものなら例えば、spic(4)あたり簡単そうかな?
185 名前:名無しさん@お腹いっぱい。 mailto:sage [02/09/29 01:58] spic は デバイスの仕様が不明なので、 読んでもあまりピンとこないのでは。
186 名前:鬼軍曹 [02/11/01 04:36] ============ お知らせ ================== あー、只今よりこのスレは、見習デーモンの学習を見張るスレになりました。 ====================================
187 名前:名無しさん@お腹いっぱい。 [02/12/16 05:14] 保守
188 名前:名無しさん@お腹いっぱい。 [02/12/26 15:56] NETBSD入れたらまずカーネルハックするぞぉ!
189 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/26 16:13] おまえのいうハックってカーネルの再構築のことだろ?ぷ
190 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/26 23:09] 千里の道も一歩から
191 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/26 23:34] 千里の道を一歩だけ
192 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/27 01:01] 千里を歩き通すのは大変だよ……。
193 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/29 14:10] 千里ちゃんって誰?
194 名前:名無しさん@お腹いっぱい。 mailto:sage [02/12/29 15:51] homepage3.nifty.com/senri/
195 名前:193 mailto:sage [02/12/29 16:57] >>194 そんなの僕の千里ちゃんじゃないやい。
196 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/07 22:31] >>193 千里中央に行くには新御堂筋に一歩踏み出せばあとは 北上するだけで着くので解りやすいと言う諺だよ。
197 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/09 16:29] >>196 それはちとローカルではないかと。
198 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/10 08:36] なかおくんだろ?
199 名前:山崎渉 mailto:(^^)sage [03/01/15 13:10] (^^)
200 名前:山崎渉 mailto:(^^)sage [03/01/16 03:35] (^^)
201 名前:名無しさん@お腹いっぱい。 mailto:sage [03/01/18 12:17] >>194 大江千里も随分としけたもんだね。オフィシャルサイトが niftyとは。。。
202 名前:山崎渉 mailto:age [03/02/24 10:15] (^^)オレダッテ タマニハ マジデ ホシュ スルyo!!
203 名前:山崎渉 mailto:(^^) [03/04/17 12:29] (^^)
204 名前:あぼーん mailto:あぼーん [あぼーん] あぼーん
205 名前:あぼーん mailto:あぼーん [あぼーん] あぼーん
206 名前:名無しさん [03/06/04 18:51] カーネル内で、擬似的ではないランダムな値を使うにはどうすればいいですか??
207 名前:名無しさん@お腹いっぱい。 mailto:sage [03/06/04 19:01] ガイガーカウンタをつないでカウントして乱数を発生させる
208 名前:名無しさん@お腹いっぱい。 mailto:sage [03/06/05 00:53] ガイガーカウンタは計数するんじゃなくて時間を測るんだよね。 線源なしのバックグラウンドが相手だとパルス数が少なすぎて ちょっとトロい。
209 名前:名無しさん@お腹いっぱい。 mailto:sage [03/06/05 01:09] つーか、Intelチップセットの乱数ジェネレータとか使えばいいんでないの? OpenBSDがサポートしてるのは知ってるけど、他はどう?
210 名前:名無しさん [03/06/05 01:52] カーネル内で擬似的ではないランダムな値を使うためにはどうしたらいいですか??
211 名前:名無しさん [03/06/05 01:53] すいません、ダブってしまいました。m(_ _)m
212 名前:名無しさん@お腹いっぱい。 mailto:sage [03/06/05 02:34] NetBSD の場合、キーボードやシリアルその他のデバイスから エントロピーを集めている。 この結果から得られた乱数は rnd_extract_data(9) で取得できる。 例えば sys/netinet/tcp_subr.c では、TCP の初期シーケンス番号 を、この乱数源から得るようになってるので、ここを見てみれば 使い方は分かる筈だ。
213 名前:名無しさん [03/06/06 00:25] 当方FreeBSDで「TCPの初期シーケンス番号」からヒントを得て、 そこからip識別子(ip_id)の初期化の手順へ行き、そこからシステムクロックをとるtime.tv_secを 知ることができました。 ありがとうございました。
214 名前:名無しさん@お腹いっぱい。 mailto:sage [03/06/06 00:30] それちがうやろ....
215 名前:名無しさん [03/06/06 02:30] 確かに違いました。^^; 利用したい値の有効桁数が少なかったのでこれでも乱数として利用できるかと思ったんですが、 他の関数に利用する場合も考えてTCPの初期シーケンス番号の関数を利用したいと思います。 ご指摘ありがとうございました。
216 名前:名無しさん@お腹いっぱい。 mailto:sage [03/06/06 02:31] >>210 どういう目的に使うの?
217 名前:名無しさん@お腹いっぱい。 mailto:sage [03/06/06 02:38] >>212 「エントロピーを集める」という表現は気持ち悪いな。NetBSDの世界では普通に使うのか?
218 名前:名無しさん@お腹いっぱい。 mailto:sage [03/06/06 02:43] 別に NetBSD に限らず、乱数のセキュリティ方面への利用では、 普通に使います。試しに "collect entropy" でググってみるべし。
219 名前:名無しさん [03/06/06 03:14] マルチキャスト通信においてNAKにより信頼性を持たせようと思っているのですが、 そのとき全ての受信者がNAKを出すタイミングが重なるとトラフィックが一気に 増大するのでそのタイミングをずらすために乱数が必要となりました。 アプリケーションプログラムと違い、カーネルでの乱数の求め方がわかりませんでした。^^;
220 名前:名無しさん@お腹いっぱい。 mailto:age [03/06/08 05:50] ただいまBSDのKernel SoruceをReadしてるので Context Switchするわけにはいかぬ。
221 名前:名無しさん@お腹いっぱい。 mailto:sage [03/06/10 01:05] 擬似的でない乱数って…
222 名前:名無しさん@お腹いっぱい。 [03/06/15 00:29] 自分でnumerical recipe使って書け
223 名前: mailto:sage [03/06/15 04:05] プ > numerical recipe
224 名前:*BSDハックさん [03/06/17 05:58] UDPのudp_inputにおいて ユニキャストとマルチキャスト・ブロードキャストで 処理が分かれいるところで、ユニキャストの方は分かるのですが、 マルチキャスト・ブロードキャストの方でUDPPCBをfor文でスキャンして いくのはなぜですか? 同じPCBは複数存在するのですか?
225 名前:あぼーん mailto:あぼーん [あぼーん] あぼーん
226 名前:あぼーん mailto:あぼーん [あぼーん] あぼーん
227 名前:名無しさん@お腹いっぱい。 mailto:sage [03/06/17 11:44] >>224 ブロードキャストの方はaliasついてりゃ、それぞれ同じポートつかえる。 マルチキャストは良くわからない。
228 名前:*BSDハックさん [03/06/18 01:42] >>227
229 名前:*BSDハックさん [03/06/18 01:50] >>227 もしよろしければブロードキャストにおける同じポートを使える クライアントサーバのプログラムをいただけないでしょうか?
230 名前:227 mailto:sage [03/06/18 14:12] >ブロードキャストの方はaliasついてりゃ これ嘘。複数使えるけどブロードキャスト宛を受信できなかった。 ↓ブロードキャストアドレス宛は受信できるけど、ユニキャストアドレス宛は受信できない。 foreach (リモートアドレス) { udpソケット作る。 SO_REUSEADDRする。 ローカルアドレスとしてブロードキャストアドレスにbindする。 リモートアドレスにコネクトする。 }
231 名前:あぼーん mailto:あぼーん [あぼーん] あぼーん
232 名前:名無しさん@お腹いっぱい。 [03/08/09 17:06] FreeBSD4.7のカーネル内の関数についてお聞きしたいんですが、 timeout(ftn, arg, to_ticks) timeout_t *ftn; void *arg; register int to_ticks; において ftnの引数の数を任意の数にしたいのですが やり方がわかりません。どなたか教えてください。よろしくお願いします。
233 名前:名無しさん@お腹いっぱい。 mailto:sage [03/08/09 17:16] マルチuzeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee!!!!!!!!!!!!!!!!!!!!!!!!!
234 名前:名無しさん@お腹いっぱい。 [03/08/12 14:34] >>232 できませんが、構造体を定義して、それを確保してポインタで渡すというのは だめですか。こんな感じ struct example_arg { int arg1; char *arg2; }; void example_ftn(void *arg) { struct example_arg *ea = arg; /*Some useful stuff*/ }
235 名前:あぼーん mailto:あぼーん [あぼーん] あぼーん
236 名前:あぼーん mailto:あぼーん [あぼーん] あぼーん
237 名前:名無しさん@お腹いっぱい。 mailto:age [03/08/15 04:24] ついに キタ━━━━━━( )(゚ )(∀゚ )(゚∀゚)( ゚∀)( ゚)( )━━━━━━ !!!!! 【4.4BSDの設計と実装】 アスキー ISBN: 4-7561-4346-6 価格: \5,800 発売日: 2003/9/18
238 名前:名無しさん@お腹いっぱい。 mailto:sage [03/08/15 06:27] >>237 おお、とうとう出るのか。 ソースが見たいな。
239 名前:名無しさん@お腹いっぱい。 mailto:sage [03/08/15 07:15] 自分で調べてみたけど、確かに出るみたいだね。 www.fukkan.com/sell/index.php3?mode=detail&i_no=14024728
240 名前:名無しさん@お腹いっぱい。 mailto:sage [03/08/15 07:34] 復刊??
241 名前:名無しさん@お腹いっぱい。 [03/08/15 08:21] 【4.4BSDの設計と実装】 記念あげ
242 名前:名無しさん@お腹いっぱい。 [03/08/15 10:05] おまえら、洩れが書いたカーネルをハックしてどうするつもり???
243 名前:みのる様 [03/08/15 13:42] みのるの超流行語では、 流行語大将になりそうな言葉を紹介していきたいと思います(^‥^)。 オヒャヒャ 僕、みのる様が使用している笑い方です。 (^‥^) 僕、みのる様が愛用している顔文字です。 トライブット 僕、みのる様のサイトがある所の偉い所の人。 みのる様ファン倶楽部 会員数がもう100億人超えた超えてます。 マヨネーズ 僕様の大好きなマヨネーズの一種です スペシャルギニア 世界共通語で、誰でも分かります 応援ありがとう!!! 皆が僕様を応援してくれるから、僕様も返信します 俺様の素晴らしいサイト↓ minoru_god.tripod.co.jp/ UNIX板のバカドモはこっちに来て勉強しな BYE みのる様
244 名前:名無しさん@お腹いっぱい。 mailto:sage [03/08/15 16:57] 訳が糞だって聞いたけど、そのへんも直して出るのかね?
245 名前:名無しさん@お腹いっぱい。 mailto:sage [03/08/15 17:51] それはむりだろう 英語読め
246 名前:244 mailto:sage [03/08/15 18:04] 改訂するって書いてるから直るかと思ったんだけど。 www.fukkan.com/column/?msgdate=msg030815 で、だれかこれ読んだ人いない? www.amazon.co.jp/exec/obidos/ASIN/1589950046/ref=sr_aps_eb_/249-5632084-1864337
247 名前:名無しさん@お腹いっぱい。 mailto:sage [03/08/15 18:28] 砂ちゃん監訳だから、翻訳しなおしたんじゃないか?
248 名前:あぼーん mailto:あぼーん [あぼーん] あぼーん
249 名前:あぼーん mailto:あぼーん [あぼーん] あぼーん
250 名前:210 ◆s3Xr4zlrpU mailto:sage [03/08/18 21:46] >>222 禿同 話は変わるけど、携帯ゲーム機"プレイステーションポータブル(PSP) 久夛良木氏は,“PSPはゲーム業界が待ち望んだ究極の携帯機”として説明。「ここまでやるかと言われるスペックを投入した」という。 発表によれば「PSP」は,曲面描画エンジン機能を有し,3Dグラフィックでゲームが楽しめる。 7.1chによるサラウンド,E3での発表以来,クリエイターたちにリクエストが高かった無線LANも搭載(802.11)。 MPEG-4(ACV)による美しい動画も楽しめるという。これによりゲーム以外の映画などでのニーズも期待する。 外部端子で将来,GPSやデジタルチューナーにも接続したいとする。 また,久夛良木氏は,繰り返し「コピープロテクトがしっかりしていること」と力説。会場に集まった開発者たちにアピールしていた。 さらに,ボタン設定なども明らかにされ,PS同様「○△□×」ボタン,R1・L1,アナログスティックが採用される。 この際、スク・エニもGBAからPSPに乗り換えたらどうでしょう。スク・エニの場合、PSPの方が実力を出しやすいような気がするんですが。 任天堂が携帯ゲーム機で圧倒的なシェアをもってるなら、スク・エニがそれを崩してみるのもおもしろいですし。かつて、PS人気の引き金となったFF7のように。 突然変なこと言い出してスマソ・・ GBAと比較してみてどうですかね?(シェアの事は抜きで)
251 名前:名無しさん@お腹いっぱい。 [03/08/19 00:48] カーネルソースをいじって printfでパラメータを表示しながら 状況を把握したいんですが、typescriptもパイプでファイルに 保存することもできないのですが、カーネルをイジっているひとは どうやってプログラミングしてるんですか? カーネルを扱うに当たって便利なやり方や、アプリケーションがあれば教えてください。
252 名前:名無しさん@お腹いっぱい。 mailto:sage [03/08/19 00:52] 出力先をシリアルポートやら、メモリやら。
253 名前:名無しさん@お腹いっぱい。 [03/08/19 01:35] 最近だとsimokawaさん謹製dconsって奴があるね。 特定のメモリに書いておいてIEEE1394 OHCI ホストコントローラが勝手にDMAしにくるってやつ。 シリアルコンソールはシリアルコンソールでも IEEE1394シリアルだから速い。
254 名前:名無しさん@お腹いっぱい。 [03/08/20 01:17] 別に機器を買う必要があるということですか。 kgdbはカーネルのコンパイル時にしか使えないのですか? なんとかgdbなどのデバッグツールでカーネル関数の動きを追っていきたいのですが。。。 よろしくお願いします。
255 名前:名無しさん@お腹いっぱい。 mailto:sage [03/08/20 01:33] >>254 ( ´д)ヒソ(´д`)ヒソ(д` )
256 名前:あぼーん mailto:あぼーん [あぼーん] あぼーん
257 名前:あぼーん mailto:あぼーん [あぼーん] あぼーん
258 名前:名無しさん@お腹いっぱい。 mailto:sage [03/08/20 02:48] 知らなかったよ。kgdbを使ってカーネルのコンパイルができるのか.....
259 名前:名無しさん@お腹いっぱい。 mailto:sage [03/08/20 05:30] >>254 通常のgdbのように扱えるよ gdbのカーネルモードだからね 基本的に大きな違いはないはず。ただ、カーネルをデバッグしているから 端末が二つあった方がいいね もし一台でデバッグできる方法があったら教えてくれ。
260 名前:名無しさん@お腹いっぱい。 mailto:sage [03/08/20 05:37] 誰も自分の死体を見ることはできないというお話ですた。
261 名前:名無しさん@お腹いっぱい。 mailto:sage [03/08/20 05:41] 死体は見れるよ。来世で。 できないのは、自分自身の解剖。
262 名前:名無しさん@お腹いっぱい。 mailto:sage [03/08/20 05:58] いや、自分の癌の摘出をやった外科医はいたし、ある程度は可能だろう
263 名前:名無しさん@お腹いっぱい。 mailto:sage [03/08/20 13:19] 最近のはやりだとbochsやvmwareなどの仮想マシン上でデバッグする という手もあるな。bochsにも一応デバッグ支援のための機能はある ようだ。もっともエミュレーションに起因する問題が出る可能性は あってどんな場合でも使えるわけじゃない。 動きを追うぐらいならそこそこ使えるかもね。 ま、詰めなきゃならん所は昔ながらのメモリ上に値を置く、かな。
264 名前:名無しさん@お腹いっぱい。 [03/08/21 00:34] *BSDで、一台でもある程度はできるよ。Linuxでも最近できるかな。 options DDBを入れてCtl-Alt-Breakを押すと ddbのモードに入る。ここで、命令ごとのステップ実行 callの終了までの実行、シンボルで指定できるブレークポイント設定 変数参照、レジスタ参照、等々。ddb(8)は印刷しといたほうがいいな。
265 名前:netnice [03/08/28 10:19] i heard that you can use /dev/kmem, instead of /var/crash/vmcore.*, fore core-file argument of kgdb, though i've never tried. just fyi.
266 名前:名無しさん@お腹いっぱい。 [03/10/11 12:05] カーネルモジュールはどうやってデバッグするんでしょうか? 特にインターフェース部分。 デバッグ用のシンボルはどうやっていれれば?
267 名前:名無しさん@お腹いっぱい。 [03/10/11 12:22] >>1 これは実際に重要なことである。 開いたソースはあなたのためになり私のためになり、可能性をもたらす。 多くの危惧の中の一つは、しばしば現実となるが、世界の協力はそれを直すだろう。 もしあなたやあなたの友人が開いたソースを悪意で使うなら、それは停止して欲しい。
268 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/12 17:57] >>267 ?
269 名前:名無しさん@お腹いっぱい。 [03/10/23 21:10] BSDのソース読んでみようと思うんだけど、NetBSDがいいかな?
270 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/23 21:23] (´-`).。oO(でっかい釣り針がぶら下がっております…)
271 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/23 22:15] inferno
272 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/23 22:16] inferno
273 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/23 22:22] くだ質スレからの流れでしょう。
274 名前:くだ質の534 mailto:sage [03/10/24 17:08] 漏れじゃネーよ(w カーネルくらい黙って読むし でもって、NetBSDをちらっと読んでるんだけど、なんか得体の知れない マクロだらけ…。ちゃんとヘッダファイルから読まなきゃダメか。 あと、NetBSDのカーネルハック本(和訳)って全然出てないよね? おおまかな構造を理解してからソース読まないとサッパリだよ。 この前出た4.4BSD赤本じゃあ古すぎるような気がするので読んで ないけど…
275 名前:名無しさん@お腹いっぱい。 mailto:sage [03/10/24 17:20] >>274 今までどんなの読んでたの? 得体の知れないマクロってのはbus_spaceとかの事かな。
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年前の俺が目指した俺になっているだろうか。
336 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/12/03(水) 01:45:52 ] おいらも頑張ってみようかな
337 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/30(金) 07:39:45 ] 積読してた4.3BSDの設計と実装でも読むか
338 名前:名無しさん@お腹いっぱい。 [2009/07/08(水) 20:56:07 ] ARM系, evbarmやarmとかいろいろあって最初に読むべきlocore.S相当がどれかわからん…トホホ
339 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/09(木) 11:08:29 ] >>338 arch/evbarm/hoge/*_start.S arch/arm/arm32/locore.S:start arch/evbarm/hoge/*_machdep.c:initarm() sys/kern/init_main.c:main() arch/arm/arm32/arm32_machdep.c:cpu_startup() の順かね。
340 名前:名無しさん@お腹いっぱい。 [2009/07/09(木) 14:57:51 ] >>339 ありがとう!頑張って勉強してみる!!
341 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/28(火) 12:39:00 ] int 0x80から始まるカーネル内でのシステムコール処理中に、外部割込み(キーボードとかEtherカード)を タイミングよく発生させる方法ってある?
342 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/29(水) 14:20:20 ] >>341 remote gdb で break する -> 割り込みいれる -> continue する じゃ、だめなのか?