2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

お前ら*BSDのカーネルをハックしますか?

1 :見習デーモン:01/10/17 18:35.net
これからsys/kern/init_main.c読んでみます。

【参考】
・「The Design and Implementation of the 4.4BSD Operating System」
 の第2章
http://www.freebsd.org/doc/en_US.ISO8859-1/books/design-44bsd/index.html

・*BSDでのアセンブリ
http://www.int80h.org/bsdasm/

なんか検索してみてもあんまりハックサイトひっかからないね。
Linuxより伝統あるはずなのに。

2 :2:01/10/17 20:24.net
2

3 :名無しさん@お腹いっぱい。:01/10/17 20:33.net
> これからsys/kern/init_main.c読んでみます。

つーか、sys/arch/${MACHINE}/${MACHINE}/locore.s の start か、
せめて sys/arch/${MACHINE}/${MACHINE}/machdep.c の initなんとか() の
方を先に読んだほうがいいぞ。init_main.c の main() は、locore.s から
呼ばれてるわけだが、locore の初期化処理と initなんとか() の方が
main() より先に走って、機種依存の低レベルの初期化を行うので。

上のパス名は NetBSD の場合だけど、FreeBSD や OpenBSD でも、
だいたい似たような場所でしょ。

4 :見習デーモン:01/10/17 20:38.net
>>3
アセンブラはちょっとしんどいかな、と思って。(もちろん理解する努力はしますが)
とりあえずカーネルの動きの概要がしりたいんで、init_main.cからかな?と思って読んでます。

#GLOBALでタグ作るのに意外と時間かかった・・・

5 : :01/10/17 21:46.net
>>1
そんな根性があるんだったら、フリーのエロゲー作ってよ。
OpenGLバリバリ使って動くやつをお願い。

6 :見習デーモン:01/10/17 21:49.net
>>5
http://piza2.2ch.net/test/read.cgi/tech/996199538/l50

7 :見習デーモン:01/10/17 23:13.net
VM_*の定義追いかけてたらCPU寄りなところまできてしまった・・・
結局>>3さんが言う通り機種依存なところも目を通してみたり。

8 :名無しさん@お腹いっぱい。:01/10/17 23:57.net
デバドラ書きたい君です
手っ取り早く書けるようになるには何を読むべきですか?
sys 以下、書籍、URL 問わず。
ターゲットは NetBSD/i386

9 :名無しさん@お腹いっぱい。:01/10/18 00:22.net
> 手っ取り早く書けるようになるには何を読むべきですか?

似たような種類のデバイスドライバのソース。
で、ハードウェア仕様的に違う部分だけ書き換える。
できるだけ移植物じゃなくて、NetBSD で書き下ろされたデバイス、
それもバス依存部と、バス独立部がちゃんと分離されている奴を
参考にすると良い。

ただし、既にサポートされているデバイスの中に、仕様的に似たチップがある
かどうか (同じチップメーカからの新版とか、メーカは違うけど、互換品があ
るとか) を、まず最初に調べるべき。そもそもデバイスドライバを書かなくて
済むとか、既存のドライバに処理を付け加えるだけで済むことも多いので。

あと、悪魔本は全く読まくてもなんとかなる気もするけど、Bach 本 ("UNIX
カーネルの設計"、Maurice J.Bach、共立出版) くらいは常識として、ざっと
流し読みしておいた方がいいと思われ。もはや実装は全然違うので、細かい部
分は全く違うんだけど、それなりに役にたつぞ。

あとは、section 9 の man page と、一般的な基礎知識と、気合いがあれば
なんとかなるだろう。

10 :名無しさん@お腹いっぱい。:01/10/18 00:54.net
>>8
鶏と卵になるけど、とりあえず書いちゃえば、書けますよ。
仮想デバイスとか小一時間あればできちゃうし、思ったより
敷居は低いと思います。

11 :見習デーモン:01/10/18 01:08.net
>>9
man 9 盲点でした。見てみたら情報の宝庫だ・・・
(日本語訳されてるともっとうれしいんだけど)

man のあるsectionの一覧を得る方法ってあります?
とりあえず本家サイトに一覧あったんでそれでみたんですけど、
ローカルでも何かコマンドで見れそうな気が・・・

12 :sage:01/10/18 01:13.net
ところで、「お前ら○○しますか?」というフレーズが
微妙に流行ってるのか?

13 :名無しさん@お腹いっぱい。:01/10/18 01:44.net
>>12
すでに微妙に流行遅れ。

14 :login:Penguin:01/10/18 01:44.net
こっちにも飛び火してます
http://mentai.2ch.net/test/read.cgi/network/1003037538/

15 :名無しさん@お腹いっぱい。:01/10/18 01:46.net
>>11 /usr/manとかそのあたり探してみれば?

16 :見習デーモン:01/10/18 01:55.net
>>15
鬱だ・・・単純に覗けばいいんだった・・・

init_main.c:start_init()がなんとなくわかってきた。
prepare_usermode()の定義が見つからないのが鬱だけど、そろそろ寝よう

17 :あへあへ:01/10/23 22:25.net
あへ

18 :見習デーモン:01/10/23 23:36.net
#先日の情報処理試験のためハック休んでました。今日から再開。

/sbin に myinit を作って(へろーわーるどの後whileで停止するだけ)、
start_init() の init 探すパスを myinit 指すように書き換えてみたけど、
kern_exit.c の exit1() で止まるねぇ。
どういう経路でここまで来たのかまだちょっとわからん。

global + Namazu 駆使して頑張ります。おー

19 :見習デーモン:01/10/25 03:59.net
kern_exec.c: execve() の exit1() で止まることがわかった。
vmspace_destroyedフラグがたっちゃってるのね。
image_params にセットされる値追いかけなくちゃ・・・

20 : :01/10/25 20:20.net
おやおや、こんなスレが。僕もちょうど読もうとしてた(のに2ヶ月間ほ
ったらかしてた)から参加しよう。

arch/include/pmap.h 以外で、全arch共通の pmap インタフェースを記述
した文書なりファイルってありますか?

21 :名無しさん@お腹いっぱい。:01/10/26 18:02.net
あげ

22 :名無しさん@お腹いっぱい。:01/10/26 22:27.net
man page に pmap(9) がある。(NetBSD-current の場合)

23 :名無しさん@お腹いっぱい。:01/10/30 17:50.net
BSDマガジンの第4号はカーネル初心者必携です。

24 :nana4:01/10/30 18:31.net
ソフトウェアRAIDなのですが

/dev/hda5 7GB (/home)
/dev/hdb1 7GB (linuxraid)
としたばあいで

RAID0を組みたいのですが

詳しいページご存知無いでしょうか?
赤帽7.1を使っているのですが…

/etc/raidtabが変なようで
起動時にこけます
raidtabを一旦削除した後の再起動でまともに起動しますが
RAID0は手動でしか動きません

25 : :01/10/30 18:34.net
>>22
おお、ありがとう。でもこれってuvmのやつだよね。
http://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.net
>>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.net
>>19

あのー、ルートファイルシステムは切ってあります?
切ってあればld-elf.so並びに共有ライブラリにアクセス
できてないんじゃないの?

28 :名無しさん@お腹いっぱい。:01/11/01 15:22.net
ttp://unix.za.net/~kobz/freebsd.jpg
デーモン萌え

29 :名無しさん@お腹いっぱい。:01/11/01 20:42.net
そういやビルくんを f*** する画像もどっかにあったな...
しかしスレ違いでは。

GNUのウシ
http://pc.2ch.net/test/read.cgi/unix/1002725230/
が適切か?(w

30 :名無しさん@お腹いっぱい。:01/11/03 01:52.net
で〜もん君のイラストって、キモくないですか?
BSD関連のよさげな本には(よさげでない本にもですが)必ずあれが
あって鬱になるんですけど。

31 :名無しさん@お腹いっぱい。:01/11/13 12:40.net
>>30
オレもそう思う。

32 :名無しさん@お腹いっぱい。:01/11/13 15:39.net
8頭身のデーモンはキモい!

33 :名無しさん@お腹いっぱい。:01/11/13 17:03.net
確かになー
Linuxのペンギンのがかわいいよなぁ

34 :名無しさん@お腹いっぱい。:01/11/13 17:17.net
僕は linux user だがデーモン君の方が好きだな.

35 :login:Penguin:01/11/14 00:53.net
netbsdのサイトのメイン画面は好きだよ

36 :名無しさん@お腹いっぱい。:01/11/14 02:08.net
>>35
あれは誰かがバタくさいといってて笑った.

37 :名無しさん@お腹いっぱい。:01/11/15 03:03.net
>>36
あれはアメリカ軍の硫黄島占領をパクったもので、だいぶ前に
「他にいい絵があったら差し替えてもいいよー」
という話になってますが、いまだに代わりになる「いい絵」がないようです。

38 :名無しさん@お腹いっぱい。:01/11/17 11:18.net
>>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.net
>>37
なんかのパロディっぽいとは思ってたけど、勉強になりました。
アメリカ人ならみんな知ってる有名な銅像なのだろうか。

40 :名無しさん@お腹いっぱい。:01/11/18 07:11.net
>>39
銅像より元ネタになった報道写真のほうが
著名なんではないかと。

41 :デフォルトの名無しさん:01/11/18 07:13.net
そもそも元ネタがヤラセなんだよねw?

42 :名無しさん@お腹いっぱい。:01/11/18 07:17.net
ヤラセっつーより仕込みのような。
報道写真なんてそんなもの〜♪

43 :名無しさん@お腹いっぱい。:01/11/18 10:47.net
そんな絵を使ってるのに日本人 committer の多い NetBSD 萌え。

44 :名無しさん@お腹いっぱい。:01/11/18 14:52.net
そういう絵だったのか...

45 :名無しさん@お腹いっぱい。:01/11/18 20:38.net
http://www.mainichi.co.jp/life/family/syuppan/chronicle/1945_3.html

46 :名無しさん@お腹いっぱい。:01/12/06 11:08.net
>>43-44
変えようとかいう話も以前出てた気もするけどどーなったんだろ(w

47 :名無しさん@お腹いっぱい。:01/12/31 18:04.net
おせーてくださいませ。
caddr_t ってどーいう意味なのですか。
ヘッダファイル見たら core address ってコメントしてあったけど、
よくわかりませんです。

ってこれはカーネルの話題じゃないのかな?

48 :名無しさん@お腹いっぱい。:01/12/31 18:20.net
>>33
ペンギンかわいいか?目にまったく生気がなくてうつむいてるし、
ぐったりしてるように見えるんだけど。カモメの方が好きだった。

49 :名無しさん@お腹いっぱい。:01/12/31 22:07.net
正直、linuxペンギンは気持ち悪い。

50 :名無しさん@お腹いっぱい。:02/01/11 07:01.net
>>26
SYSINITの所で、つまずいたです。
出来れば簡単に説明して頂けるとうれしいのですが。。

51 :名無しさん@お腹いっぱい。:02/01/13 20:52.net
ager

52 :26:02/01/14 18:50.net
以下の実験は実行ファイル形式として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 :名無しさん@お腹いっぱい。:02/01/14 18:56.net
$ 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:02/01/14 18:59.net
みゅ。悪い。4系だと/kernelだね。

55 :名無しさん@お腹いっぱい。:02/01/14 22:59.net
Linux(ELF)でも、(おそらく)同じ結果になった。
__attribute__や__section__の定義を探して
/usr/includeなんかをfind+grepしたけど見つからない。どこかなー

56 :52:02/01/15 00:31.net
>>55

>>26参照。

57 :26:02/01/15 00:34.net
それから、__attribute__はgccの拡張だよ。info参照。

58 :歴史に名を残すかもしれない男:02/01/15 01:59.net
僕は、超研究員大学生でありウィザドですが、

既存のOSはしょーもないので新しく作ります。
そこで質問です。
FreeBSDってカーネルとか弄ったりして、
ソフトとか入れて整形したものを
Linuxのディストリビュージオンみたいに配ってもいいですか?
または、FreeBSDなどを参考にして、
一から作ったOSウォ、VokuBSDみたいに名乗ってもいいですか。

59 :50:02/01/15 02:04.net
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 :納期に間に合わないかもしれない男:02/01/15 02:37.net
>58
既存のソゥースについたBSD スタァイルのコピーライトオンを改変しなけれヴぁ
問題にないはずです。
頑張ってくださイね。

61 :見習いデーモン:02/01/15 02:45.net
おひさしぶりです。
己の能力不足ですっかりカーネルの深海に溺れて土左衛門になって
スレに出入りすることもなかったんですが、
まだ地味に続いてたんですね。

26さんが情報提供してくださったりして、スレの雰囲気は良い方向
に向かってますね。
全然ついていけないんですけど、今MINIXいじって基本を勉強してるんで
いつか追いつければなぁと思ってます。

っつーかみなさんどうやってそんなにスキルつけたんですか。

62 :名無しさん@お腹いっぱい。:02/01/15 09:06.net
>>61
oskitで遊ぶ

63 :26:02/01/17 00:04.net
>>58

どんな簡単な物でもいいから、とりあえずドライバ書いて見たら?
今まであるドライバからコピペしたり、/usr/share/examples/にある
スクリプトを使ったテンプレートを元に書けばそんなに難しくないよ。
頭から追っていくってのは正直言うとかなり効率の悪い方法だと思う。
カーネルがprintf(9)で吐くメッセージをたよりにしたりしながら
調べるのが吉。そうすれば例えばSYSINITの実装はとりあえず理解しなくても
先に進むことが出来るし。

64 :名無しさん@お腹いっぱい。:02/01/17 00:15.net
なんか面白そうだな。
*BSD 入れたくなってきた。

65 :名無しさん@お腹いっぱい。 :02/01/22 08:54.net
Solarisのカーネルハックもここでいいの?

66 :名無しさん@お腹いっぱい。:02/01/22 14:24.net
Solarisの kernel source見ると、変な copyrightに汚染されませんか?
# 会社の決算期にあたって、bladeが来ない...



67 :age:02/01/30 23:31.net
age

68 :名無しさん@お腹いっぱい。:02/01/31 00:12.net
>>63
日本人がBSDにドライバ書くのは見飽きたにょ
VFSとかに挑んでみてくれ



69 :名無しさん@お腹いっぱい。:02/01/31 00:33.net
Uniform Driver Interfaceどうよ?

70 :名無しさん@お腹いっぱい。:02/01/31 13:57.net
えと、えと。そうしてほしいの?おにいちゃん。ってのはともかく。
要はいじりたいコンポネントからせめて行くのが得策なわけで。
頭から見ても良い事はあんまり無いと言うのが本質ですな。
他機種移植だったらそれが一番大事だけど。
(もっとも、例にだしたのがドライバなのは私がその見飽きた事を
しているからでして。)次はportalfs元にいじるかな。小さくて簡単そうだし。
kernfsあたりも簡単そうだったけど。FreeBSDからは消えたし。

UDIですかぁ。うーん。努力は認めるけど....


71 :68:02/02/02 00:17.net
>>70
個々のファイルシステムじゃなくてVFS。
VMいじれとまでは言わないっす。ドライバ書きは多いけど、そっから
昇格するやつがいないと思ったみょ。
わしも、しょうもないドライバを昔書いたけど、それいらいカーネルは
いじってないでし。(もはや一介の犬厨です)

72 :名無しさん:02/02/09 10:55.net
ソラリスのカーネルスレッドがマッチするよう
Sparcは設計されているのですか?

73 :名無しさん@お腹いっぱい。 :02/02/23 09:22.net
あげ

74 :名無しさん@お腹いっぱい。:02/02/23 16:55.net
ドライバ書きより VFS いじる方が格が上だとでも?
ただのレイヤ違いじゃん。


75 :名無しさん@お腹いっぱい。:02/02/26 00:00.net
>>74
本当にそう思う?
みなさまもそう思う?


76 :名無しさん@お腹いっぱい。:02/02/26 14:20.net
禿同 >>74

77 :74:02/02/28 15:46.net
>>75
心からそう思っております。


78 :名無しさん@お腹いっぱい。 :02/03/08 23:27.net
age

79 :仕様書無しさん:02/03/09 17:23.net
これも

80 :名無しさん@お腹いっぱい。:02/03/11 00:24.net
つづきプリーズ揚げ

81 :名無しさん:02/03/11 04:30.net

BSDに誰か じゃーなりんぐできるFS実装してくれたまへ。
あと、圧縮できるFSもキボンヌ


82 :名無しさん@お腹いっぱい。:02/03/11 04:50.net
http://jfs4bsd.sourceforge.net/

83 :名無しさん@お腹いっぱい。:02/03/11 06:19.net
>>82
ライセンスどうするんだろ? JFSもGPLだったよね?

84 :名無しさん@お腹いっぱい。:02/03/11 07:31.net
>>83
コードの再利用をせずにスクラッチで書けば良いんではないかい?


85 :83:02/03/11 10:41.net
うーんやっぱそうなるよねぇ。先が長そうだ...
とりあえず応援age

86 :名無しさん@お腹いっぱい。:02/03/11 21:46.net
JFS ってわざわざスクラッチから作るほどイイの?


87 :名無しさん@お腹いっぱい。:02/03/12 00:04.net
とりあえずジャーナリングするファイルシステムがひとつは欲しい

88 :名無しさん@お腹いっぱい。:02/03/12 16:19.net
JFS for Linux を移植するよりスクラッチから書いた方が早い


89 :名無しさん@お腹いっぱい。:02/03/12 18:17.net
>>88
その情熱をLFSに注いでクレ

90 :名無しさん@お腹いっぱい。:02/03/13 00:28.net
LFSとかsoftupdateみたいなディスクへのリクエストの順序で整合性を保つ方式は
そろそろダメというのが世間のコンセンサスな気がする


91 :名無しさん@お腹いっぱい。:02/03/13 00:49.net
ジャーナリングって
ディスクへのリクエストの順番と
実際書き込まれる順番が
デタラメになっても問題ないの?


92 :名無しさん@お腹いっぱい。:02/03/13 08:05.net
>>91
そんなことはないが、ディスクキャッシュのフラッシュなどの
同期命令の発行がかなり少なくてすむ
少なくともメタデータ一個書くごとにフラッシュする必要は無い


93 :名無しさん@お腹いっぱい。:02/03/13 08:39.net
書き込み順序保証ってSCSIやATAのtagged queuingじゃダメなの?

94 :名無しさん@お腹いっぱい。:02/03/14 00:16.net
>>93
その手の機能をすべてのメタデータの書き込みに対して使うと遅いよ

95 :名無しさん@お腹いっぱい。:02/03/14 01:15.net
>>90
LFS はセグメント毎にフラッシュすれば十分なんでないの?
ダメ?


96 :名無しさん@お腹いっぱい。:02/03/14 09:44.net
>>95
そうですな。すまんかった


97 :名無しさん@お腹いっぱい。:02/04/07 06:03.net
age てみよう。


98 :名無しさん@お腹いっぱい。:02/04/09 19:11.net
勉強のため、FreeBSD 4.5-RELEASE 上で俺ファイルシステムを
作りたいと思っています。とりあえず、procfs のように、カーネルの
覗き穴的な fs がいいかなと。

が、サパーリわかりません。というわけで、fs のスケルトンが欲しい
のですが、よいスケルトンはどれでしょうか。

ファイルサイズ的に miscfs/deadfs/ かなぁと思うのですが、deadfs は
どういう目的の fs なのかがわかりません。ぜひアドバイスをお願いします。


99 :98:02/04/09 19:26.net
deadfs は mount 方法もわからないし (そもそも mount できるのか
どうかもわからん) kernfs の方がいいかな…。


100 :名無しさん@お腹いっぱい。:02/04/09 19:32.net
procfs を換骨奪胎すればいいのでは?


101 :名無しさん@お腹いっぱい。:02/04/09 19:57.net
やっぱnullfsが基本では。

procfsはpseudofsレイヤができたから応用ききづらいかも。

102 :100:02/04/09 20:21.net
nullfs は読むのに layerfs と行ったり来たりしなきゃ
いけないので面倒かもと思ったので。(NetBSD)

よく見たら >98 はFreeBSDか。

てゆーか msdosfs あたりでも見たほうがむしろ分りやすいかもとか
思ったり。


103 :98:02/04/09 20:37.net
なんだこれ、ちょーかんたんじゃん! というわけでメモメモ。
 /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:02/04/09 20:54.net
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.net
カーネルのコンパイルについて質問です。
FreeBSD4.5でカーネルをいじってmake && make installを
しているんですが不要な部分を除いてコンパイルの時間を
短くできないでしょうか?そんな都合のいい話は
ないかもしれませんがよろしくお願いします。

106 :あぼーん:あぼーん.net
あぼーん

107 :名無しさん@お腹いっぱい。:02/04/09 22:47.net
>>105
パソコンかえればはやくなるんじゃないかな。
PentiumIII1G以上だったら1分ぐらいで終わるし。



108 :名無しさん@お腹いっぱい。:02/04/09 22:51.net
>>105
本来スレ違いなんだけど…

http://www.jp.freebsd.org/www.FreeBSD.org/ja/handbook/kernelconfig.html

さらに何か疑問があればFreeBSD質問スレにGo

109 :名無しさん@お腹いっぱい。:02/04/20 02:22.net
NULLFSは正直お勧めできない。
あれは、スタッカブルファイルシステムのテンプレ。
そうそう。Linuxネタだけど、これどうよ。(カーネル空間でORBit動かす)
http://korbit.sourceforge.net/
これ一瞬移植しようかと思ったけど、geom入ったせいで
glibと名前空間がぶつかりそう。

110 :名無しさん@お腹いっぱい。:02/04/21 00:27.net
うーん。
NetBSDからスタッカブルファイルシステム系全部持ってきたほうが
面白いかなぁ。

111 :名無しさん@お腹いっぱい。:02/04/21 16:04.net
>>109
ORBit カーネルで動かすとなんかいいことあるの?

> you can write Linux device drivers in Perl
とか言われてもなあ(w


112 :学生:02/05/08 22:11.net
カーネル書けるとスゴいって書き込みよく見かけますが
学生で書けたらすごいですか?
ウチの教授は書けますかね?

113 :名無しさん@お腹いっぱい。:02/05/08 22:27.net
>>112
そんな書き込みどこで見かけた?

2ちゃんねるぢゃあないよな?

114 :名無しさん@お腹いっぱい。:02/05/08 22:39.net
>>113
ここと思われ:

Free Unix での経験は職歴に入らないか? (428)
http://pc.2ch.net/test/read.cgi/unix/995637081/12

115 :学生:02/05/08 23:02.net
ビンゴです。
あと、以前他のスレでも見ました。

で、どうなんですか。
カーネルは上級のプロじゃないと書けないんですか?
お前ら真面目にレス下さい。

116 :名無しさん@お腹いっぱい。:02/05/08 23:10.net
>>115
べつにプロである必要はこれっぽっちもないわけだが

117 :学生:02/05/08 23:19.net
>>116
どのくらい難しいのでしょうか
3年間くらい勉強すれば学生でもかけますか

118 :名無しさん@お腹いっぱい。:02/05/08 23:21.net
>>117
やってみりゃ自分でわかるだろ?
つべこべ言ってないでさっさとカーネルをハク汁

119 :名無しさん@お腹いっぱい。:02/05/08 23:24.net
>>117
自分の頭の中のフローチャートを実際にプログラムに
起こせる人間であれば、多分1年くらいで出来ると思う。

漏れは3年くらいかかったけど(鬱

120 :名無しさん@お腹いっぱい。:02/05/08 23:27.net
>>117
学生かどーかは関係ないし。
1ヶ月くらいやってみて無理そうなら当分無理。


121 :117:02/05/08 23:37.net
レスありがとうございます。
ここで言う「書ける」というのは、白紙からの状態から自分で書けるという意味ですよね?
既存のプログラムを改造するとか、書籍を見て書くとか、そういう意味ではないですよね?

122 :名無しさん@お腹いっぱい。:02/05/08 23:38.net
>>115
むしろカーネルをスクラッチから書くなんてこと
学生にしかできないから、今のうちに頑張れ。
「上級のプロ」にそんな暇なんてありません。

123 :名無しさん@お腹いっぱい。:02/05/08 23:41.net
>>122
UNIX使いになるためには、やっといて損はないですか?

124 :名無しさん@お腹いっぱい。:02/05/08 23:44.net
>>123
人によって"損"の感じ方が異なります
私の損とあなたの損は違います


125 :名無しさん@お腹いっぱい。:02/05/08 23:46.net
>>124
うーん
将来ネットワーク関係のソフトウェアを開発したいのですけども。
そーゆー人にとっては有益でしょうか?


126 :T大理系:02/05/08 23:49.net
みんな理系?
凄いです
尊敬します

127 :名無しさん@お腹いっぱい。:02/05/08 23:59.net
>>125
そういう具体的な目標があるのなら、カーネルに拘らずに最初から
ネット周りのプログラムをハクした方がいいと思われ。

カーネル書ける奴はスゴイが、カーネル書ける奴だけがスゴイわけじゃない。

128 :名無しさん@お腹いっぱい。 :02/05/09 00:08.net
俺的にはドライバをバリバリ書き捲くってるような人が
プログラマとして尊敬に値すると思ってる。
カーネルはどっちかって言うと設計するものって感じだしねぇ。

129 :名無しさん@お腹いっぱい。:02/05/09 00:10.net
>>128
実務家っぽい御意見…

130 :名無しさん@お腹いっぱい。:02/05/09 00:11.net
人に訊いてからじゃないと始められない奴は結局何もできない。
hackなんてのは気づいたらやっているか、やらないと夜が明けないかのどちらかだ。


131 :名無しさん@お腹いっぱい。:02/05/09 01:13.net
>>125
ネットゲーのサーバとかのように、非同期に発生する大量の要求を
うまく捌かなければならないプログラムを書くのは、
カーネルを書くのと似たようなセンスが必要な気がする。
# RDBMSとかもそうだな。

こういうシステムをうまく設計できる奴は
非常に使えるね。

132 :名無しさん@お腹いっぱい。:02/05/09 12:11.net
>>130 がいいこと言った。

133 :学生:02/05/10 19:33.net
みなさんどうもありがとう
ところでみなさん理系ですか?
もしくはコンピュータで飯を食っている人達ですか?

134 :名無しさん@お腹いっぱい。:02/05/10 19:44.net
>>133
理系かそうでないかなんてどうでもいいことだ。
とりあえずやってみろ

>>130
どっかで聞いた気がするが、イイね


135 :名無しさん@お腹いっぱい。:02/05/10 20:22.net
>>133
俺も学生。経営情報学科というとこにいる。
理系だか文系だかわからん。

136 :名無しさん@お腹いっぱい。:02/05/11 05:29.net
あーあ
カーネルいじって遊んでたら
もー朝だよ...
寝よーっと。


137 :名無しさん@お腹いっぱい。:02/05/11 14:10.net
カーネル・ハッカースおじさんのAAキボンヌ

138 :名無しさん@お腹いっぱい。:02/05/21 11:26.net
hack より fuck だと最近痛感 おっかけさぼりすぎで make world 不能状態

139 :26=52=.....:02/05/25 03:44.net
某誌のネタにしますた。

140 :名無しさん@お腹いっぱい。:02/06/03 01:15.net
保守age

141 :名無しさん@お腹いっぱい。:02/06/03 01:59.net
見習いデーモンは死んだのか?

142 :名無しさん@お腹いっぱい。:02/06/09 05:21.net


たか、いらっしゃい
        ま
        せ
        ん
        か
        ?

143 :名無しさん@お腹いっぱい。:02/06/21 07:49.net
誰かハックしてる人いますかー。


BSDのkernel読み始めるとしたら、手をつけるところは
どこがおすすめですかねぇ

144 :名無しさん@お腹いっぱい。:02/06/21 08:28.net
>>143
過去ログ

145 :名無しさん@お腹いっぱい。:02/06/21 09:23.net
>>143
current の SMPng

146 :名無しさん@お腹いっぱい。:02/06/25 23:38.net
>>143
まぁ、過去ログにもいろいろあるけど、手足から見て行くのがいいと思うね。
デバイスドライバ、ファイルフォーマット毎のプロセス実行サブシステム(imgact_*)、
簡単なファイルシステム、低水準の初期化部あたりは割とコンパクトに
まとまってて読みやすいんじゃないの?

>>145

ほぅ。じゃぁ、具体的に何処のファイルがSMPngに関係してるのか言ってみ。
PERFORCEのリポジトリは見てるんだろうね。

147 :名無しさん@お腹いっぱい。:02/06/26 00:06.net
>>146 の後半
ネタにマジレスカコワルイ


148 :名無しさん@お腹いっぱい。:02/06/26 00:28.net
>>146
FreeBSD以外の*BSDってperforce使っているんですか?

FreeBSDのperforce treeってanonymousでソースを取れるんでしょうか?
できるんなら見てみたいと思っています。


149 :名無しさん@お腹いっぱい。:02/06/26 01:08.net
>>148 他の*BSDでは使ってないです。
でもSMPngっていったらFreeBSDでしょ。
リポジトリのブラウズならここでどうぞ。
http://people.freebsd.org/~peter/p4db/
手元に置きたければ
http://people.freebsd.org/~peter/p4cookbook.txt
に取り方が書いてある。

150 :名無しさん@お腹いっぱい。:02/07/03 03:05.net
FreeBSDのブートについて質問させてください。

sys/boot/common/load_elf.c を読んでるんですが、
/kernelのエントリアドレス(当方では0xc012b130)に0xff000000をマスクして
符号反転してオフセット(off)を0x40000000にしている意味がわからないです。
コメントの「i386 relocates after locore」っていうのも呪文ですし…

で、結局/kernelのプログラムヘッダの仮想アドレス(当方では0xc0100000)と
さっきのoffを加算して桁あふれさせて0x100000にして、
最終的にはこのアドレスに/kernelをロードしてるようなんですが、
なんかえらくまわりくどくないですか?私の読みが浅いだけでしょうか。

151 :@夜勤雀棟 ◆YaKINcTg :02/07/03 05:48.net
>>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 :名無しさん@お腹いっぱい。:02/07/03 21:52.net
良サイト宣伝中〜〜。

http://www.interone.jp/~game-k/

注)私はサイト関係者とは無関係ですよ。

153 :名無しさん@お腹いっぱい。:02/07/04 03:20.net
>>152
BSD カーネルのハックに関する良サイトかと思って見に行っちゃったよ :-)


154 :名無しさん@お腹いっぱい。:02/07/04 05:05.net
アドレスの最後の方のgameがgmakeに見えて、見に行っちゃったよ。。

155 :名無しさん@お腹いっぱい。:02/07/06 20:57.net
>>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.net
>>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 :02/07/06 22:25.net
>>156
> off = - (off & 0xff000000u); /* i386 relocates after locore */

スマソ。コードを読み違えました。
off -= (off & 0xff000000u);
だったら最上位バイトのクリアですね。

158 :150:02/07/06 23:16.net
>>157
まぁ「保証はしない」っておっしゃってましたしね =)

さてすっきりしたところでつぎはbtx.sでものぞいてみますか…

159 :名無しさん@お腹いっぱい。:02/07/18 02:40.net
せっかくだから俺は、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 :名無しさん@お腹いっぱい。:02/07/19 00:02.net
上から来るぞ! 気をつけろ!
TCP は置いといてとりあえず UDP 追ってみては?


161 :名無しさん@お腹いっぱい。:02/07/21 04:14.net
おい、>>160,見習いデーモン,生きてるか?
udpの場合ip_inputの後
udp_input@udp_usrreqで配送先のプロセスを探して、sowakeupで起こす
そうすると、sbwait()で待ってた
soreceive()(uipc_socket.c)->recvit()でcopyoutされ、
recvitからはrecvfromに戻ってシステムコール完了と言った感じですか。


162 :名無しさん@お腹いっぱい。:02/07/29 19:56.net
ここなかなか良さそう。ただしSimplified Chinese。
http://opensource.zjonline.com.cn/

163 :150:02/07/30 09:23.net
おはようございます。
PICの解説で参考になるページ見つけたんで貼っておきます。
http://www.asahi-net.or.jp/~WR7S-NKMR/BeOS/Documents/IRQ.html
http://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.net
基本的にはbtxではタスク切替え使ってない筈。(そんな豪勢なことする
ほどのサイズも無いし)単純に、EFLAGSもPOPすることで、
特権を切替えてbtx_hdrにあるモニタルーチンのエントリーへ
飛んでるだけのことと思う。


165 :@夜勤雀棟 ◆YaKINcTg :02/07/30 15:06.net
>>163
この場合はTSSは関係ないですね。(V86用に使うだけ)
割り込みが起こったことにしてiretしているだけです。

166 :150=163:02/07/31 19:46.net
レスどうもです。

はやとちりしてました。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>>0xc # Paging control
.word break-start # Text size
.long 0x0 # Entry address ←ここですか?

特権を切替えて、また同じコードを辿ってくってこと???


167 :@夜勤雀棟 ◆YaKINcTg :02/07/31 20:21.net
>>166
>でも、pushしておいたEIP(btx_hdr+0xc)がiretで特権を切替えたあと
>実行される番地みたいですけど

>pushl btx_hdr+0xc# Set EIP

これは間接参照でbtx_hdr+0xc番地の内容(long)をpushするという意味です。
# operandに'$'が付いていないことに留意。

168 :150:02/08/03 14:17.net
>>これは間接参照でbtx_hdr+0xc番地の内容(long)をpushするという意味です。
にしても、特権切替えたあとはどのコードが走るのか全然わからないです。
EIPが0x0なんですよね?0x0番地のコードって…?


169 :名無しさん@お腹いっぱい。:02/08/03 18:45.net
実際のバイナリを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>>0xc
<80 07> .word break-start
<00 10 00 00> .long 0x00001000
簡単にするならコメントを信じて次のbtxクライアント(boot2又は/boot/loader本体)
へ進めってことです。ちなみに/boot/loaderは更にbtxldrが走ったりするっす。


170 :名無しさん@お腹いっぱい。:02/08/03 19:30.net
>>実際のバイナリをhexdumpしないとダメっすよ。ローダがいじるに決まってるでしょ。

おぉ、盲点でした。
こういうのはMakefileを丁寧に追っていけばわかることですか?
今ちらっとsys/boot/i386/boot2/Makefileを見たら
ORG2に代入された0x1000がbtxldコマンドのオプションとかに使われてて
「ほうほう」と思ってたんですけど。

ソースにとらわれすぎて本質を見失ってました。
でも>>169さんのおかげでまた少し前進できそうです。ありがとうございました。

171 :150=170:02/08/03 19:31.net
sage忘れ欝だ死のう…

172 :名無しさん@お腹いっぱい。:02/08/04 22:06.net
sageなくても良いんじゃない?

まぁ、強いていえば「特殊なローダを必要とする」「0x0なんて番地に飛ぼうとする」
という2点から勘を働かせた結果かな。


173 :見習デーモンへ:02/09/09 04:58.net
スレ キトク スグカエレ

           〜ハハヨリ〜


174 :名無しさん@お腹いっぱい。:02/09/11 00:13.net
>>173
知らなかったのか?見習いデーモンは
半年前に勇者に殺されたんだぞ。

175 :名無しさん@お腹いっぱい。:02/09/15 00:10.net
もし!毒蛇に噛まれたら、
切り口を素早くナイフでえぐり、
急いで口で吸え!

ほら、言ってみろ!!

176 :名無しさん@お腹いっぱい。:02/09/15 00:37.net
虫歯がある時にそれやったら死んでしまう罠。

177 :名無しさん@お腹いっぱい。:02/09/15 01:44.net
ごめんなさい
クックロビンを殺したのは私です。。。。

178 :名無しさん@お腹いっぱい。:02/09/15 01:44.net
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 :名無しさん@お腹いっぱい。:02/09/15 07:34.net
>>178
MBRが読み込み・実行される際のセレクタの値
引用してるコードの上の方で設定してるセレクタの値
セレクタとオフセットから得られる実効アドレス
について調べましょう。

# 個人的には、今さらIA32の16bitモードについて勉強しても
# 得る物はあまり多くない気がする。


180 :見習いデーモン:02/09/21 18:19.net
むしょうにデバイスドライバを書いてみたくなって、
http://www.jp.freebsd.org/www.FreeBSD.org/doc/en_US.ISO8859-1/books/developers-handbook/x10069.html
↑やってみたらすげー簡単でびっくりしました。

秋月のLCDキットとかをシリアルかなんかでつなげて、
echo "Hello" > /dev/mylcd
とかできるようになりたいんですけど、あとは↓
http://www.daemonnews.org/200010/blueprints.html
とか読んどけばできるようになりますか?

実際のドライバってどんななんだろうと思って/sys/dev/fxp/if_fxp.c
なんかのぞいてみて頭から煙だしたりしてます…


181 :名無しさん@お腹いっぱい。:02/09/21 23:15.net
おまえの見てるのデバドラのつくり方じゃねぇじゃん。(藁

182 :見習いデーモン:02/09/21 23:34.net
うお、もしかして空回りですか…

でもKLDでカーネル領域に自分のコード置けるとおもうとワクワクするんですが

183 :名無しさん@お腹いっぱい。:02/09/22 23:32.net
カーネルを再構築しても自分のコードは置けますが何か?

184 :名無しさん@お腹いっぱい。:02/09/24 00:43.net
>>181
ハンドブックで解説されている部分は部分はデバイスドライバ
(ツリーを形成する実デバイスを叩くもの)ではデフォルトで呼ばれる
ものがあるので気にしなくていいです。

おまいさんの目的ではどう見てもfxpを見るのは間違いだと
思いますし、そもそもシリアルならsio使ってtermios
叩いたほうが.......
で、ご希望にそえるものなら例えば、spic(4)あたり簡単そうかな?





185 :名無しさん@お腹いっぱい。:02/09/29 01:58.net
spic は デバイスの仕様が不明なので、
読んでもあまりピンとこないのでは。


186 :鬼軍曹:02/11/01 04:36.net
============ お知らせ ==================

あー、只今よりこのスレは、見習デーモンの学習を見張るスレになりました。

====================================

187 :名無しさん@お腹いっぱい。:02/12/16 05:14.net
保守

188 :名無しさん@お腹いっぱい。:02/12/26 15:56.net
NETBSD入れたらまずカーネルハックするぞぉ!


189 :名無しさん@お腹いっぱい。:02/12/26 16:13.net
おまえのいうハックってカーネルの再構築のことだろ?ぷ

190 :名無しさん@お腹いっぱい。:02/12/26 23:09.net
千里の道も一歩から

191 :名無しさん@お腹いっぱい。:02/12/26 23:34.net
千里の道を一歩だけ

192 :名無しさん@お腹いっぱい。:02/12/27 01:01.net
千里を歩き通すのは大変だよ……。


193 :名無しさん@お腹いっぱい。:02/12/29 14:10.net
千里ちゃんって誰?


194 :名無しさん@お腹いっぱい。:02/12/29 15:51.net
http://homepage3.nifty.com/senri/

195 :193:02/12/29 16:57.net
>>194
そんなの僕の千里ちゃんじゃないやい。


196 :名無しさん@お腹いっぱい。:03/01/07 22:31.net
>>193
千里中央に行くには新御堂筋に一歩踏み出せばあとは
北上するだけで着くので解りやすいと言う諺だよ。

197 :名無しさん@お腹いっぱい。:03/01/09 16:29.net
>>196
それはちとローカルではないかと。

198 :名無しさん@お腹いっぱい。:03/01/10 08:36.net
なかおくんだろ?

199 :山崎渉:03/01/15 13:10.net
(^^)

200 :山崎渉:03/01/16 03:35.net
(^^)

201 :名無しさん@お腹いっぱい。:03/01/18 12:17.net
>>194
大江千里も随分としけたもんだね。オフィシャルサイトが
niftyとは。。。

202 :山崎渉:03/02/24 10:15.net
(^^)オレダッテ タマニハ マジデ ホシュ スルyo!!

203 :山崎渉:03/04/17 12:29.net
(^^)

204 :あぼーん:あぼーん.net
あぼーん

205 :あぼーん:あぼーん.net
あぼーん

206 :名無しさん:03/06/04 18:51.net
カーネル内で、擬似的ではないランダムな値を使うにはどうすればいいですか??

207 :名無しさん@お腹いっぱい。:03/06/04 19:01.net
ガイガーカウンタをつないでカウントして乱数を発生させる

208 :名無しさん@お腹いっぱい。:03/06/05 00:53.net
ガイガーカウンタは計数するんじゃなくて時間を測るんだよね。
線源なしのバックグラウンドが相手だとパルス数が少なすぎて
ちょっとトロい。


209 :名無しさん@お腹いっぱい。:03/06/05 01:09.net
つーか、Intelチップセットの乱数ジェネレータとか使えばいいんでないの?
OpenBSDがサポートしてるのは知ってるけど、他はどう?

210 :名無しさん:03/06/05 01:52.net
カーネル内で擬似的ではないランダムな値を使うためにはどうしたらいいですか??

211 :名無しさん:03/06/05 01:53.net
すいません、ダブってしまいました。m(_ _)m

212 :名無しさん@お腹いっぱい。:03/06/05 02:34.net
NetBSD の場合、キーボードやシリアルその他のデバイスから
エントロピーを集めている。
この結果から得られた乱数は rnd_extract_data(9) で取得できる。
例えば sys/netinet/tcp_subr.c では、TCP の初期シーケンス番号
を、この乱数源から得るようになってるので、ここを見てみれば
使い方は分かる筈だ。


213 :名無しさん:03/06/06 00:25.net
当方FreeBSDで「TCPの初期シーケンス番号」からヒントを得て、
そこからip識別子(ip_id)の初期化の手順へ行き、そこからシステムクロックをとるtime.tv_secを
知ることができました。

ありがとうございました。

214 :名無しさん@お腹いっぱい。:03/06/06 00:30.net
それちがうやろ....

215 :名無しさん:03/06/06 02:30.net
確かに違いました。^^;
利用したい値の有効桁数が少なかったのでこれでも乱数として利用できるかと思ったんですが、
他の関数に利用する場合も考えてTCPの初期シーケンス番号の関数を利用したいと思います。
ご指摘ありがとうございました。

216 :名無しさん@お腹いっぱい。:03/06/06 02:31.net
>>210
どういう目的に使うの?

217 :名無しさん@お腹いっぱい。:03/06/06 02:38.net
>>212
「エントロピーを集める」という表現は気持ち悪いな。NetBSDの世界では普通に使うのか?

218 :名無しさん@お腹いっぱい。:03/06/06 02:43.net
別に NetBSD に限らず、乱数のセキュリティ方面への利用では、
普通に使います。試しに "collect entropy" でググってみるべし。


219 :名無しさん:03/06/06 03:14.net
マルチキャスト通信においてNAKにより信頼性を持たせようと思っているのですが、
そのとき全ての受信者がNAKを出すタイミングが重なるとトラフィックが一気に
増大するのでそのタイミングをずらすために乱数が必要となりました。
アプリケーションプログラムと違い、カーネルでの乱数の求め方がわかりませんでした。^^;

220 :名無しさん@お腹いっぱい。:03/06/08 05:50.net
ただいまBSDのKernel SoruceをReadしてるので
Context Switchするわけにはいかぬ。

221 :名無しさん@お腹いっぱい。:03/06/10 01:05.net
擬似的でない乱数って…

222 :名無しさん@お腹いっぱい。:03/06/15 00:29.net
自分でnumerical recipe使って書け

223 : :03/06/15 04:05.net
プ > numerical recipe

224 :*BSDハックさん:03/06/17 05:58.net
UDPのudp_inputにおいて ユニキャストとマルチキャスト・ブロードキャストで
処理が分かれいるところで、ユニキャストの方は分かるのですが、
マルチキャスト・ブロードキャストの方でUDPPCBをfor文でスキャンして
いくのはなぜですか? 同じPCBは複数存在するのですか?


225 :あぼーん:あぼーん.net
あぼーん

226 :あぼーん:あぼーん.net
あぼーん

227 :名無しさん@お腹いっぱい。:03/06/17 11:44.net
>>224
ブロードキャストの方はaliasついてりゃ、それぞれ同じポートつかえる。
マルチキャストは良くわからない。

228 :*BSDハックさん:03/06/18 01:42.net
>>227

229 :*BSDハックさん:03/06/18 01:50.net
>>227
もしよろしければブロードキャストにおける同じポートを使える
クライアントサーバのプログラムをいただけないでしょうか?

230 :227:03/06/18 14:12.net
>ブロードキャストの方はaliasついてりゃ
これ嘘。複数使えるけどブロードキャスト宛を受信できなかった。

↓ブロードキャストアドレス宛は受信できるけど、ユニキャストアドレス宛は受信できない。
foreach (リモートアドレス) {
udpソケット作る。
SO_REUSEADDRする。
ローカルアドレスとしてブロードキャストアドレスにbindする。
リモートアドレスにコネクトする。
}

231 :あぼーん:あぼーん.net
あぼーん

232 :名無しさん@お腹いっぱい。:03/08/09 17:06.net
FreeBSD4.7のカーネル内の関数についてお聞きしたいんですが、

timeout(ftn, arg, to_ticks)
  timeout_t *ftn;
  void *arg;
  register int to_ticks;


において ftnの引数の数を任意の数にしたいのですが
やり方がわかりません。どなたか教えてください。よろしくお願いします。

233 :名無しさん@お腹いっぱい。:03/08/09 17:16.net
マルチuzeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee!!!!!!!!!!!!!!!!!!!!!!!!!

234 :名無しさん@お腹いっぱい。:03/08/12 14:34.net
>>232
できませんが、構造体を定義して、それを確保してポインタで渡すというのは
だめですか。こんな感じ

struct example_arg {
   int arg1;
   char *arg2;
};

void example_ftn(void *arg)
{
   struct example_arg *ea = arg;

   /*Some useful stuff*/
}

235 :あぼーん:あぼーん.net
あぼーん

236 :あぼーん:あぼーん.net
あぼーん

237 :名無しさん@お腹いっぱい。:03/08/15 04:24.net
ついに
キタ━━━━━━(   )(゚  )(∀゚ )(゚∀゚)( ゚∀)(  ゚)(   )━━━━━━ !!!!!

【4.4BSDの設計と実装】
アスキー  ISBN: 4-7561-4346-6
価格: \5,800  発売日: 2003/9/18


238 :名無しさん@お腹いっぱい。:03/08/15 06:27.net
>>237
おお、とうとう出るのか。
ソースが見たいな。

239 :名無しさん@お腹いっぱい。:03/08/15 07:15.net
自分で調べてみたけど、確かに出るみたいだね。
http://www.fukkan.com/sell/index.php3?mode=detail&i_no=14024728

240 :名無しさん@お腹いっぱい。:03/08/15 07:34.net
復刊??

241 :名無しさん@お腹いっぱい。:03/08/15 08:21.net
【4.4BSDの設計と実装】
記念あげ

242 :名無しさん@お腹いっぱい。:03/08/15 10:05.net
おまえら、洩れが書いたカーネルをハックしてどうするつもり???

243 :みのる様:03/08/15 13:42.net
         みのるの超流行語では、
流行語大将になりそうな言葉を紹介していきたいと思います(^‥^)。

オヒャヒャ           僕、みのる様が使用している笑い方です。
(^‥^)          僕、みのる様が愛用している顔文字です。
トライブット        僕、みのる様のサイトがある所の偉い所の人。
みのる様ファン倶楽部    会員数がもう100億人超えた超えてます。
マヨネーズ         僕様の大好きなマヨネーズの一種です
スペシャルギニア      世界共通語で、誰でも分かります
応援ありがとう!!!    皆が僕様を応援してくれるから、僕様も返信します
           俺様の素晴らしいサイト↓
         http://minoru_god.tripod.co.jp/
        UNIX板のバカドモはこっちに来て勉強しな
                    BYE みのる様
   


244 :名無しさん@お腹いっぱい。:03/08/15 16:57.net
訳が糞だって聞いたけど、そのへんも直して出るのかね?

245 :名無しさん@お腹いっぱい。:03/08/15 17:51.net
それはむりだろう
英語読め

246 :244:03/08/15 18:04.net
改訂するって書いてるから直るかと思ったんだけど。
http://www.fukkan.com/column/?msgdate=msg030815

で、だれかこれ読んだ人いない?
http://www.amazon.co.jp/exec/obidos/ASIN/1589950046/ref=sr_aps_eb_/249-5632084-1864337

247 :名無しさん@お腹いっぱい。:03/08/15 18:28.net
砂ちゃん監訳だから、翻訳しなおしたんじゃないか?

248 :あぼーん:あぼーん.net
あぼーん

249 :あぼーん:あぼーん.net
あぼーん

250 :210 ◆s3Xr4zlrpU :03/08/18 21:46.net
>>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.net
カーネルソースをいじって printfでパラメータを表示しながら
状況を把握したいんですが、typescriptもパイプでファイルに
保存することもできないのですが、カーネルをイジっているひとは
どうやってプログラミングしてるんですか?

カーネルを扱うに当たって便利なやり方や、アプリケーションがあれば教えてください。

252 :名無しさん@お腹いっぱい。:03/08/19 00:52.net
出力先をシリアルポートやら、メモリやら。

253 :名無しさん@お腹いっぱい。:03/08/19 01:35.net
最近だとsimokawaさん謹製dconsって奴があるね。
特定のメモリに書いておいてIEEE1394 OHCI
ホストコントローラが勝手にDMAしにくるってやつ。
シリアルコンソールはシリアルコンソールでも
IEEE1394シリアルだから速い。

254 :名無しさん@お腹いっぱい。:03/08/20 01:17.net
別に機器を買う必要があるということですか。

kgdbはカーネルのコンパイル時にしか使えないのですか?

なんとかgdbなどのデバッグツールでカーネル関数の動きを追っていきたいのですが。。。

よろしくお願いします。

255 :名無しさん@お腹いっぱい。:03/08/20 01:33.net
>>254
( ´д)ヒソ(´д`)ヒソ(д` )

256 :あぼーん:あぼーん.net
あぼーん

257 :あぼーん:あぼーん.net
あぼーん

258 :名無しさん@お腹いっぱい。:03/08/20 02:48.net
知らなかったよ。kgdbを使ってカーネルのコンパイルができるのか.....

259 :名無しさん@お腹いっぱい。:03/08/20 05:30.net
>>254
通常のgdbのように扱えるよ
gdbのカーネルモードだからね

基本的に大きな違いはないはず。ただ、カーネルをデバッグしているから
端末が二つあった方がいいね

もし一台でデバッグできる方法があったら教えてくれ。

260 :名無しさん@お腹いっぱい。:03/08/20 05:37.net
誰も自分の死体を見ることはできないというお話ですた。

261 :名無しさん@お腹いっぱい。:03/08/20 05:41.net
死体は見れるよ。来世で。
できないのは、自分自身の解剖。

262 :名無しさん@お腹いっぱい。:03/08/20 05:58.net
いや、自分の癌の摘出をやった外科医はいたし、ある程度は可能だろう

263 :名無しさん@お腹いっぱい。:03/08/20 13:19.net
最近のはやりだとbochsやvmwareなどの仮想マシン上でデバッグする
という手もあるな。bochsにも一応デバッグ支援のための機能はある
ようだ。もっともエミュレーションに起因する問題が出る可能性は
あってどんな場合でも使えるわけじゃない。
動きを追うぐらいならそこそこ使えるかもね。

ま、詰めなきゃならん所は昔ながらのメモリ上に値を置く、かな。


264 :名無しさん@お腹いっぱい。:03/08/21 00:34.net
*BSDで、一台でもある程度はできるよ。Linuxでも最近できるかな。
options DDBを入れてCtl-Alt-Breakを押すと
ddbのモードに入る。ここで、命令ごとのステップ実行
callの終了までの実行、シンボルで指定できるブレークポイント設定
変数参照、レジスタ参照、等々。ddb(8)は印刷しといたほうがいいな。


265 :netnice:03/08/28 10:19.net
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.net
カーネルモジュールはどうやってデバッグするんでしょうか?
特にインターフェース部分。
デバッグ用のシンボルはどうやっていれれば?

267 :名無しさん@お腹いっぱい。:03/10/11 12:22.net
>>1
これは実際に重要なことである。
開いたソースはあなたのためになり私のためになり、可能性をもたらす。
多くの危惧の中の一つは、しばしば現実となるが、世界の協力はそれを直すだろう。
もしあなたやあなたの友人が開いたソースを悪意で使うなら、それは停止して欲しい。


268 :名無しさん@お腹いっぱい。:03/10/12 17:57.net
>>267



269 :名無しさん@お腹いっぱい。:03/10/23 21:10.net
BSDのソース読んでみようと思うんだけど、NetBSDがいいかな?

270 :名無しさん@お腹いっぱい。:03/10/23 21:23.net
(´-`).。oO(でっかい釣り針がぶら下がっております…)

271 :名無しさん@お腹いっぱい。:03/10/23 22:15.net
inferno

272 :名無しさん@お腹いっぱい。:03/10/23 22:16.net
inferno

273 :名無しさん@お腹いっぱい。:03/10/23 22:22.net
くだ質スレからの流れでしょう。

274 :くだ質の534:03/10/24 17:08.net
漏れじゃネーよ(w カーネルくらい黙って読むし

でもって、NetBSDをちらっと読んでるんだけど、なんか得体の知れない
マクロだらけ…。ちゃんとヘッダファイルから読まなきゃダメか。

あと、NetBSDのカーネルハック本(和訳)って全然出てないよね?
おおまかな構造を理解してからソース読まないとサッパリだよ。
この前出た4.4BSD赤本じゃあ古すぎるような気がするので読んで
ないけど…




275 :名無しさん@お腹いっぱい。:03/10/24 17:20.net
>>274
今までどんなの読んでたの?
得体の知れないマクロってのはbus_spaceとかの事かな。

276 :名無しさん@お腹いっぱい。:03/10/24 18:08.net
ヘッダファイルこそがソースの肝なのに。。。

277 :名無しさん@お腹いっぱい。:03/10/24 20:59.net
NetBSD のカーネルハック本(和訳)って、
BSD Magazine の Vol.13 のことじゃないのか?


278 :名無しさん@お腹いっぱい。:03/10/25 02:44.net
>>276
そうなんだよね。本当に。

279 :名無しさん@お腹いっぱい。:03/10/26 10:15.net
/usr/includeの下は丸暗記するぐらいの勢いで読みまくった。
これはいきなりカーネル読み始めるよりも、効率的だし、
実用的だったよ。

280 :名無しさん@お腹いっぱい。:03/10/26 13:48.net
へたれプログラマなんですが、なんでそんなにヘッダファイルが重要なのか
わからないんですが、理由を教えていただけませんか?


281 :名無しさん@お腹いっぱい。:03/10/26 14:31.net
>>280
これは計算機科学の教科書の練習問題だと思うぞ。
こんなものかな。採点キボンヌ(配点20点)

ヘッダファイルにはデータ構造、関数定義など、モジュール間のインターフェイスと
なるものが記述されており実装の詳細を見ずに全体を把握する事が可能である。
また、一つのプロジェクト内のモジュールのインターフェイスというだけでなく、
異なるシステムとの間の相互運用性を確保するためにも必要である。





282 :名無しさん@お腹いっぱい。:03/10/26 19:07.net

俺の採点だと20点満点。素直に。
敢えてアラ探しやればできるだろが、練習問題という設定なら十分な回答だろ。

2ch的でない(奇をてらわない保守的な)回答だけど、そういう地味さにも好感。


283 :280:03/10/27 08:00.net
>>281
ありがとうございます。
なんか目から鱗でした。


284 :くだ質の534:03/10/27 14:29.net
そうか、ヘッダファイルってそんなに重要なんだ…。言われて
みればたしかに。

漏れも>>279みたいに凄い勢いでヘッダ読んでみまつ。勉強に
なったサンクスコ。

285 :名無しさん@お腹いっぱい。:03/10/27 16:22.net
重要は重要だけど、本で言えば目次だけ読むようなもんだから
偏食にならないようにネ

286 :名無しさん@お腹いっぱい。:03/10/28 11:09.net
>>280
頭(head)だからです。
頭だけとか体だけとかは駄目なんです。

287 :名無しさん@お腹いっぱい。:03/11/04 23:33.net
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.net
興味ありあげ

289 :名無しさん@お腹いっぱい。:03/11/23 13:51.net
BSDがSCOによって血祭りにあげられるまであと何日ですか?


290 :名無しさん@お腹いっぱい。:03/11/23 19:47.net
BSDによってSCOが血祭り、なんだろうな


291 :名無しさん@お腹いっぱい。:03/11/23 20:15.net
というか既に血まみれで死にそうなSCOが
あちこちに血しぶきを撒き散らして嫌がらせしてるんだろ。

292 :名無しさん@お腹いっぱい。:03/11/23 22:11.net
>>290-291
おまいら何もわかってないな
技術泥棒なんだよ
ギ ジ ュ ツ ド ロ ボ ウ
わかるか?

293 :名無しさん@お腹いっぱい。:03/11/23 22:21.net
>>292 煽り乙。どうせなら犬板のSCOスレ逝った方が人多くて楽しいと思われ


294 :名無しさん@お腹いっぱい。:03/11/25 00:18.net
同感

295 :名無しさん@お腹いっぱい。:03/12/01 01:14.net
BSDのカーネル読むにはどのBSDのソースがとっつきやすいですか?


296 :名無しさん@お腹いっぱい。:03/12/01 03:31.net
あなたの使っているものが一番じゃない?


297 :名無しさん@お腹いっぱい。:03/12/06 12:38.net
ソースなんて綺麗とか汚いとかほざくまえに、
動いてるコードなんだから黙って読むんだよ!
今じゃろくなコード書けない人間までコードが
云々なんて言い出す始末だからな。もうブチキレですよ。

298 :名無しさん@お腹いっぱい。:03/12/09 18:58.net
カーネルによって違うのかもしれませんが、
各種スレッドというのは、スタックセグメントだけを
スレッドごとに固有にもち、それ以外のセグメントは
プロセス内の全てのスレッドで共有するという感じなのでしょうか?
そうすると、ページディレクトリテーブルも共有で、
スタックセグメントだけを仮想メモリの機能として
別々の物理ページに割り当てるといった感じになっているのでしょうか?
それとも全てのスレッドに対してCR3を割り当てるのかな?

どうもプロセス内のスレッドとVMの関係がよく分りません。

299 :名無しさん@お腹いっぱい。:03/12/09 19:45.net
>>298
実装にもよるんだろうけど、スタックも含め、スレッドがいくつあろうと
アドレス空間は1プロセスで同じもの。スタックはスレッド毎に
切り替えて違うアドレスを指してあるだけ。

300 :名無しさん@お腹いっぱい。:03/12/09 22:30.net
>>298
コンテクストスイッチ発生させると、プロセスのコンテクストスイッチと
変わらんし...それじゃあ、スレッドの意味がない...


301 :名無しさん@お腹いっぱい。:03/12/09 23:19.net
>>297
逆だよ。ろくにコード組めないから、綺麗なコード読みたいんだよ。
まぁ清濁併せ呑む度量があれば一番なんだが、そんな人間は黙って
読んでるよ。



302 :名無しさん@お腹いっぱい。:03/12/19 20:33.net
おまいらカーネル**ckしてますね。

303 :名無しさん@お腹いっぱい。:03/12/19 21:11.net
>>302
そんなタイトルの日記があったな…


304 :Win厨 :03/12/19 23:11.net
>>303
あ、それ書いてたの、おれっちです。
最近NetBSDも忙しくて触って無いからカーネルファックもご無沙汰です。
厨房でもカーネルぐらい気合で理解できること証明したかったけど、
自分にはちょっと厳しかったです。また再開したときはよろしくです。

305 :名無しさん@お腹いっぱい。:04/01/14 17:37.net
あげてみる

306 :名無しさん@お腹いっぱい。:04/02/13 00:25.net
バッファをたくさんとれるようにカーネルイジってたら、

All mbuf clusters exhausted, please see tuning(7).

と出るんですが、クラスタ数を多く割り当てたり、
別の目的で利用されている、クラスタを借りたりすることはできないでしょうか?

307 :名無しさん@お腹いっぱい。:04/02/13 03:27.net
a.具体的に何をしていたのかを書いてみよう。
(たとえばkern.ipc.nmbclustersをほにゃららにしてみたとか
options NMBCLUSTERS = ほげ したら config におこられるとか)
b.もし、具体的な目的があるのであればそれも書いてみよう。
(たとえば 負荷が高いWebサーバーをなんとかしたいとか。)

あと環境もちゃんと書いてみよう。

308 :名無しさん@お腹いっぱい。:04/02/16 05:49.net
一度の関数呼び出しで何回もパケットを
送出しようとするときインタフェースカードで
データパケットが落とされることってありますか??
もし落とされたときは、ip_outputの返値は返ってきますか?
また、それは「0」以外の値ですか?

ループバック関数で戻ってきたパケットは欠如していません。
別のマシンでキャプチャーすると欠落しています。

原因・対策などありましたら、お願いします。

309 :名無しさん@お腹いっぱい。:04/02/16 06:11.net
>>308
当然あるだろ。ip_output は if_output 呼んでるだけだから、
あとはネットワークインターフェイス依存。
etherなら、netinet/ip_output.c、net/if_ethersubr.c、
と追いかけていって、NICのデバドラまで読んでけ。

まぁ単に送信バッファ溢れてるだけだろうがな。

310 :名無しさん@お腹いっぱい。:04/02/16 06:39.net
>>309
なるほど。。。参考になりました。
しかし、送信バッファがあふれても ip_outputの返値が0になるというのは問題なのでは??
ソケットバッファの場合はちゃんと制御できるのに。。。


311 :名無しさん@お腹いっぱい。:04/02/16 07:20.net
>>310
ぜんぜん問題じゃない。君の考え方のほうが問題。
ソケットは到達保証するが、IPは到達保証しない。
まだわからない?

312 :名無しさん@お腹いっぱい。:04/02/16 08:20.net
>>311
ソケットが送信保証をするためには、ip_outputの返値が0である必要があるし、
ip_outputの返値で0を返すためには、ether_outputの返値が0である必要がある。

ちなみに、ネットワークに出力されたあとは、ソケットも到達保証しないよ。
仮にできるのなら、何も苦労しない。。。

313 :名無しさん@お腹いっぱい。:04/02/22 01:46.net
PF_ROUTEソケットについて調べてるんですがどうもいまいち…
(いまいちなのはもちろん自分)
4.4BSDの本見てから、ソース見たけど????です

PF_ROUTEソケットを調べだしたのは。rtadvdで受けている
メッセージを見ていたところ、ioctl()などのリクエストでkernelから生成してるはずの
メッセージ数と合わない、こんなところからです。

http://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.net


315 :名無しさん@お腹いっぱい。:04/06/12 00:45.net
二年半前のスレか・・・
見習いデーモンは一人前になったのだろうか。

316 :名無しさん@お腹いっぱい。:04/06/12 01:22.net
現在、まだ半人前とみた。

317 :名無しさん@お腹いっぱい。:04/08/11 20:10.net
>>1 の参考
...半分ぐらい読むには読んだけど、むつかし。
ので、いったん撤退して、こっち↓に着手。

Commentary on the Sixth Edition UNIX Operating System
tp://www.lemis.com/grog/Documentation/Lions/

そのうちリベンジの予定。

318 :名無しさん@お腹いっぱい。:04/08/12 00:25.net
>>317
よし!俺が今から
「The Design and Implementation of the 4.4BSD Operating System」
を読んで>>317を追い抜いてやるぜ!!

319 :名無しさん@お腹いっぱい。:04/08/18 08:41.net
しかし、"こっち"も...

-- 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 :名無しさん@お腹いっぱい。:04/08/18 08:43.net
~~
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 :名無しさん@お腹いっぱい。:04/09/07 03:06.net
スタック
--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 :名無しさん@お腹いっぱい。:05/01/28 11:37:58 .net


323 :名無しさん@お腹いっぱい。:2005/07/29(金) 01:02:14 .net
お前らXenのdom0に*BSDタンを担ぎ上げてください。

324 :名無しさん@お腹いっぱい。:2005/07/29(金) 01:03:08 .net
お前らdomUはなんでもいいとおもいませんか。

325 :名無しさん@お腹いっぱい。:2005/10/24(月) 01:11:31 .net
「BSDカーネルの設計と実装 --FreeBSD詳解--」
http://www.ascii.co.jp/books/detail/4-7561/4-7561-4679-1.html


326 :名無しさん@お腹いっぱい。:2005/11/13(日) 16:17:31 .net
>>325
よーし、俺のコレクションに加えちゃうぞー。
積読用に。

327 :見習デーモン:2006/07/19(水) 15:21:55 .net
ひさしぶりに来ました。

>>316
半人前どころか四半人前ぐらいです。

スレたてたの約5年前なんですね…全く成長してないのに
自分でもショック。
仕事終わったら『BSDカーネルの設計と実装』買って帰ります…

328 :見習デーモン:2006/07/24(月) 15:25:26 .net
こんにちは。

上の本、順調に読み進めてます。
Netgraphハッカーになりてーなんて思ってたら
Netgraphがカーネルの中で一番ボリュームが多いって知って
さっそく挫けそうです。

OSMでバリバリ記事書く佐藤広生さんSUGEEEEEEE

329 :名無しさん@お腹いっぱい。:2006/07/26(水) 02:45:29 .net
ん?多分ソースツリーの構成上だけの問題だと思うけど?
今netgraph関係は一部のモジュールを除いて、
ほとんどフラットに展開されてるから。それなりに数もあるし。
見る必要があるのはng_sample.cぐらいじゃない?



330 :見習いデーモン:2006/12/28(木) 17:49:40 .net
緊急浮上。

2007年はこれ
http://www.packetmischief.ca/openbsd/snmp/
と、OpenBSDのtcpdumpのpfに関連した拡張をFreeBSDに移植します。

331 :見習いデーモン:2007/05/09(水) 14:28:39 .net
着手しました。
まだOpenBSD上で本家パッチの内容を調査してる段階。
すんなり移植できるといいな・・・

332 :見習いデーモン:2007/05/10(木) 12:09:26 .net
すまん、よく見たらカーネルと関係なかった。
回線切って首吊ってきます。

333 :名無しさん@お腹いっぱい。:2008/06/04(水) 08:45:13 .net
カーネルの最新情報なら
http://www.kernel.org/

334 :名無しさん@お腹いっぱい。:2008/06/04(水) 09:24:35 .net
板違いだ

ケンタッキーでも食ってろ

335 :見習いデーモン:2008/09/26(金) 10:31:54 .net
仕事がつらくてモチベーションが下がったとき、このスレを開くと
元気が出る。

今の俺は、7年前の俺が目指した俺になっているだろうか。

336 :名無しさん@お腹いっぱい。:2008/12/03(水) 01:45:52 .net
おいらも頑張ってみようかな

337 :名無しさん@お腹いっぱい。:2009/01/30(金) 07:39:45 .net
積読してた4.3BSDの設計と実装でも読むか

338 :名無しさん@お腹いっぱい。:2009/07/08(水) 20:56:07 .net
ARM系, evbarmやarmとかいろいろあって最初に読むべきlocore.S相当がどれかわからん…トホホ

339 :名無しさん@お腹いっぱい。:2009/07/09(木) 11:08:29 .net
>>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 .net
>>339
ありがとう!頑張って勉強してみる!!

341 :名無しさん@お腹いっぱい。:2009/07/28(火) 12:39:00 .net
int 0x80から始まるカーネル内でのシステムコール処理中に、外部割込み(キーボードとかEtherカード)を
タイミングよく発生させる方法ってある?


342 :名無しさん@お腹いっぱい。:2009/07/29(水) 14:20:20 .net
>>341
remote gdb で break する -> 割り込みいれる -> continue する
じゃ、だめなのか?


343 :名無しさん@お腹いっぱい。:2010/03/27(土) 12:47:14 .net
ブルブルマシーンについてc
今日、仕事終わりにすぅぱぁ銭湯に行って岩盤浴してきましたQ
超ーb気持ちよかったX
その時、200円でブルブルマシーンにも乗ったのネ前回は何も思わんかったけど…たぶん前の乗り方が悪かったんでしょうか今回はかなり足にきてますQ
脂肪しかないからきかないのかと思ったけど違ったよKあよかったニ

344 :名無しさん@お腹いっぱい。:2010/12/10(金) 21:05:06 .net
/* XXX should go away */
このコメントってどういう意味?

345 :名無しさん@お腹いっぱい。:2010/12/11(土) 08:58:56 .net
XXXをプロジェクトから追放しろ

346 :名無しさん@お腹いっぱい。:2010/12/11(土) 18:19:39 .net
>>345
ありがと。

347 :名無しさん@お腹いっぱい。:2011/01/10(月) 16:20:36 .net
ちげーよ。
XXX commentすなわちTODO comment

348 :名無しさん@お腹いっぱい。:2011/01/10(月) 18:55:43 .net
TODO と XXX は違う。
TODO はまだやる(べき)ことが残ってる状態を示す。

それに対して XXX はその部分が、残しておかないと動かないとかそういう理由で存在するけど、
ひどいコードだと書いた奴自身わかっているよ、とかそういう印。

349 :名無しさん@お腹いっぱい。:2011/01/11(火) 11:30:25 .net
http://en.wikipedia.org/wiki/Comment_%28computer_programming%29#Tags

350 :名無しさん@お腹いっぱい。:2011/01/11(火) 11:32:28 .net
http://www.catb.org/~esr/jargon/html/X/XXX.html

351 : 【東電 69.8 %】 :2011/04/21(木) 01:37:44.29 .net
あい

352 :名無しさん@お腹いっぱい。:2011/04/24(日) 16:33:08.37 .net
適当にソース開いて1,2,3行ブバッと消してコンパイピして使ってみたらすげえ不安定になっちゃったべ

353 :名無しさん@お腹いっぱい。:2012/02/27(月) 13:27:27.98 .net
>>348
まあ中二病的発想だろうね
三年生ともなれば経済ってもんが大まかにでも分かって来て個々人が自分自身の為に精一杯頑張る事が
最も社会(彼らは地球・世界・市民といった表現が好きなようだが)の為になるって事に気付くもんだけど

354 :名無しさん@お腹いっぱい。:2012/02/28(火) 12:05:05.23 .net
死ねよゴミみたいねレスをコピペして喜んでるバカは死ねよ

355 :名無しさん@お腹いっぱい。:2012/02/28(火) 14:07:11.79 .net
ゴミみたいね

356 :名無しさん@お腹いっぱい。:2013/09/22(日) 02:41:08.68 .net
ゴミ

357 :名無しさん@お腹いっぱい。:2014/07/05(土) 13:49:41.54 .net
linker_set.h にある
↓の"void const * const"の部分が何を修飾してどういう意味になるのか分からんです。教えて下さい。

#define __MAKE_SET(set, sym) static void const * const __set_##set##_sym_##sym __attribute((section("set_" #set))) __used = &sym

(改行は取り外しました)

358 :名無しさん@お腹いっぱい。:2014/07/10(木) 10:56:51.71 .net
>>357
__set_##set##_sym_##sym is a static constant pointer variable that points to constant void(area).
*(__set_##set##_sym_##sym)を変更する気はないし、
__set_##set##_sym_##symに何か代入するつもりもないって宣言してる

void const * const fooはconst void * const fooと同じ

359 :357:2014/07/10(木) 16:35:50.40 .net
>>358
初等的な質問にお答えthanksです

360 :名無しさん@お腹いっぱい。:2015/07/02(木) 19:51:11.74 .net
BSDを使ってきた君たちへ

君たちが悪いわけじゃないんだよ
君たちが覚えたBSDの将来が無かっただけ
当時の社会が悪かっただけ
君たち一人ひとりが悪いわけじゃないんだよ

だから自分を責めないで
社会と向き合ってください
そうすればきっと気が付くはず
君たちのBSDの知識が無用なのだということに
君たちの存在自体が社会の足枷だということに

361 :名無しさん@お腹いっぱい。:2015/07/02(木) 21:05:20.99 .net
焼肉!焼肉!

362 :名無しさん@お腹いっぱい。:2017/12/29(金) 08:48:39.01 .net
誰でも簡単にパソコン1台で稼げる方法など
参考までに、
⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。

グーグル検索⇒『宮本のゴウリエセレレ』

5EBUGPUR1Q

363 :名無しさん@お腹いっぱい。:2018/05/22(火) 05:13:29.18 .net
知り合いから教えてもらったパソコン一台でお金持ちになれるやり方
時間がある方はみてもいいかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

G8K7G

364 :名無しさん@お腹いっぱい。:2019/09/02(月) 07:18:35.29 .net
もう誰もカーネルをハックなんてやらなくなったね

00年代は沢山いたけど

365 :名無しさん@お腹いっぱい。:2019/09/02(月) 10:10:00.50 .net
Nはカーネルゴリゴリ書いてる日本人committerが何人もいるよ。

366 :名無しさん@お腹いっぱい。:2019/09/02(月) 10:13:53.47 .net
NetBSDが最初に死滅した理由だな

367 :名無しさん@お腹いっぱい。:2019/09/02(月) 21:50:39.00 .net
カーネルをゴリゴリ書くと死滅するなら
企業所属committerの沢山いるLinuxが一番に死滅する筈だが?

368 :名無しさん@お腹いっぱい。:2019/09/04(水) 16:56:51.63 .net
オレンジのイメージが悪すぎる

NetBSD = ゲイBSD / ホモBSD

369 :名無しさん@お腹いっぱい。:2019/09/04(水) 19:00:37.84 .net
どうしたの?
NetBSD で何かあったの?
それともライバルが疎ましいだけ?

370 :名無しさん@お腹いっぱい。:2020/04/20(月) 10:57:13.37 ID:56I1s2eor
https://studio.youtube.com/channel/UCXxXrTb73do70lH6AnaOgaw
おまいらちょっとこっちきてくれ

371 :名無しさん@お腹いっぱい。:2020/05/31(日) 12:04:23.40 ID:/RsklcJQE
富士通のwinjdows10 が故障したら、044 874 2020 が一番はやいですよ

372 :名無しさん@お腹いっぱい。:2020/06/23(火) 06:47:25.18 .net
>>367
日本人が多く入り込むと組織はダメになる。

373 :名無しさん@お腹いっぱい。:2020/06/23(火) 06:48:54.38 .net
偏った一面的な「和」を強要しだすから迷惑

Order of Harmony

374 :名無しさん@お腹いっぱい。:2021/01/09(土) 17:42:29.52 ID:+KscWiU6Q
SES出身、累計売上900万円以上の個人開発者に聞いた「売れる開発者のなり方」
https://and-engineer.com/articles/Xqv_HBAAACQAdx-B
Webアプリを作りたくなる個人開発者の成功事例13選
https://blog.codecamp.jp/programming-webapp-10
僕の個人開発を成功に導いてくれた本たち
https://blog.craftz.dog/my-best-book-recommendations-for-solo-developers-42e1acce13aa
【初心者向け】アプリ開発のやり方と個人で成功させる方法について解説
https://www.pasonatech.co.jp/workstyle/column/detail.html?p=2489
Android, iOSアプリを100本くらいリリースしたのでいろいろ振り返ってみる
https://crieit.net/posts/Android-iOS-100
アプリ開発の費用、個人で自作ならいくらかかる?
https://www.biz.ne.jp/matome/2004001/
個人開発アプリは戦闘能力に合った課金モデルを決めてから企画しよう
https://www.jabba.cloud/20200227-monetization/
【個人アプリ開発者向け】楽に稼げるアイデアと成功事例
https://apps.jp.net/introduction/idea/
個人開発のアプリ/サービスを無料で宣伝できるサイト9選
https://crieit.net/posts/9

375 :名無しさん@お腹いっぱい。:2022/07/02(土) 19:00:35.02 .net
比企VS北条

376 :名無しさん@お腹いっぱい。:2023/08/24(木) 08:11:00.28 ID:AfwgdLC1S
日本の税金に寄生しているウクラヰナ民を見たら、国民を人間の盾にして、女こども以外逃亡(出国)禁止にして殺し合いさせてまで
利権に執着しているキチガイナゼレンスキ ─のクヒ゛をとっととプーチンに引き渡してカエレと言ってあげよう!
クソジャップなら軍事費倍増させて周辺国に脅威視されたがってるマッチポンプ戦争利権屋とヘ゛ッタリの岸田増税文雄に黒田にナツオのクビに
安倍の喉仏まて゛喜んて゛贈呈して、カによる一方的な現状変更で併合したクソアヰヌ不良債権島も引き取ってもらって即平和だわな
日本に原爆落とした世界最悪のならす゛者国家に平伏してマッチポンプワクチンだの兵器だの基地だのという白々しい名目で、
莫大な金を献上し続けてるヘタレチキン腐敗ジャップの薄汚い爪の垢でも煎じて飲んどけっつのな
ト゛イツなんていまだにナチス裁判やってるってのに、五輪という意味不明な名目で何兆圓もの税金を泥棒してしかも會計上の不正すら発覚
していながら賠償請求すらしない世界最悪の腐敗利権国家日本は軍事費ゼ口にして、個人がスティンガー所有する個人防衛国にするのか゛正解
〔羽田)ttps://www.call4.jp/info.php?tyΡe=itеms&id=I0000062 , TТps://haneda-project.jimdofree.com/
(成田)tТps://n-souonhigaisosyoudan.amebaownd.com/
〔テ□組織)ttps://i.imgur.com/hnli1ga.jpeg

377 :名無しさん@お腹いっぱい。:2023/11/03(金) 22:35:06.76 ID:X/13SuWOL
伴奏型支援だのと日本国民を総幼稚園児と見なす人をハ゛カにした公務員利権拡大なんざ健常者は誰ひとりとして求めちゃいないわな
税金という名目で莫大な金銭強奪されてる中、支援が欲しいかと聞かれたら、そら相応の対価をよこせと肯定するだけの話だろ
この手のやりロて゛税金泥棒と゛もが利権腐敗国家を築き上げて対価との差は広か゛り続けているという現実をお前らは認識しないとな
人をだまくらかして儲ける商売の人類に湧いた害虫公務員が莫大な税金を着服した残りカスか゛お前らに不公平に分配されるた゛けの
腐敗政府が拡大するほどお前らの生活は苦しくなる‐方だといい加減氣つ゛いて頭から何もかも否定しないとな
公務員数から予算規模なと゛現状の1/10にしただけて゛企業は無能政府からの薄汚い金を待つことなく戰略的に投資してイノヘ゛ーションが
生まれて企業の新陳代謝も進んで世界最惡の地球破壞殺人腐敗組織公明党斎藤鉄夫と癒着することて゛黙認されてる強盗殺人経済も脱却して
人々が欲しいものが生み出されて市場が健全に活性化するものだがこいつらの私利私欲のために日本か゛破壞され続けているのが現実
(羽田)ttps://www.call4.jp/info.php?tуpe=iΤems&id=I0000062 , ttps://haneda-projecТ.jimdofree.com/
(成田)ttps://n-souonhigaisosyoudan.amebaownd.Com/
〔テロ組織)ttps://i.imgur.Com/hnli1ga.jPeg

378 :名無しさん@お腹いっぱい。:2023/11/11(土) 02:20:35.69 ID:2Q2hFMyLS
100%税金泥棒しかいないクソ公務員か゛誤送金た゛の情報漏洩だの猥褻犯罪だの頻発させてるが
こいつら何ひとつ価値生産て゛きない寄生蟲どもに給料なんて無駄なものくれてやってるのが原因な
しかもクソ高い給料くれてやってんた゛から他人に寄生して私腹を肥やしたいだけの無能なクズ100%になるのは当然た゛ろ
価値生産できない知的劣等者なんてのは税金泥棒して地球破壞して騒音まき散らして知的産業に威力業務妨害するた゛けの害蟲なんだから
自己滿足のために働いた気にさせたところて゛社会にとって百害あって一利なした゛という共通認識か゛必要
とっととヘ゛─シックインカ厶て゛もやって霸権主義思想の象徴税金泥棒クソ公務員制度と銃刀法を廃止しよう!
拳銃、スティンガー.手榴弾にと國民全員か゛武装する以外の國防なんてものは存在しねえんた゛ぞ
軍事費増大とは軍事費GDP比4%超た゛ったウクラヰナ同様、周辺国に脅威とされて攻撃されるリスクか゛高まるだけ
(羽田)ttps://www.call4.jp/info.php?type=items&id=I0000062 , ttps://haneda-project.jimdofree.com/
(成田)ttps://n-souonhigaisosyoudan.amebaownd.com/
(テ口組織)ttps://i.imgur.com/hnli1ga.jpeg

379 :名無しさん@お腹いっぱい。:2023/08/07(月) 02:00:10.20 .net
スー( ̄-y ̄) パー( ̄▽ ̄)y-。o○

380 :名無しさん@お腹いっぱい。:2024/03/27(水) 20:18:24.24 .net
男女逆転だよ
そこでお互いの本質みて、本登録が完了してもコロナの薬て

381 :名無しさん@お腹いっぱい。:2024/03/27(水) 20:53:38.77 .net
文武両道ネイサンを褒めてやったら、

382 :名無しさん@お腹いっぱい。:2024/03/27(水) 21:09:20.87 .net
デーオタ頑張ったんだ~ぁ

383 :名無しさん@お腹いっぱい。:2024/03/27(水) 21:36:13.01 .net
ラップってオタクコンテンツやしな
中心選手が何かあるのか

384 :名無しさん@お腹いっぱい。:2024/03/27(水) 21:51:22.06 .net
>>323
俺よりも全然駄目なんだけどな

91 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :

read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★