>>309 なるほど。。。参考になりました。
しかし、送信バッファがあふれても ip_outputの返値が0になるというのは問題なのでは??
ソケットバッファの場合はちゃんと制御できるのに。。。
>>310 ぜんぜん問題じゃない。君の考え方のほうが問題。
ソケットは到達保証するが、IPは到達保証しない。
まだわからない?
>>311 ソケットが送信保証をするためには、ip_outputの返値が0である必要があるし、
ip_outputの返値で0を返すためには、ether_outputの返値が0である必要がある。
ちなみに、ネットワークに出力されたあとは、ソケットも到達保証しないよ。
仮にできるのなら、何も苦労しない。。。
314 :
名無しさん@お腹いっぱい。 :04/05/24 19:37
保
二年半前のスレか・・・ 見習いデーモンは一人前になったのだろうか。
現在、まだ半人前とみた。
>>1 の参考
...半分ぐらい読むには読んだけど、むつかし。
ので、いったん撤退して、こっち↓に着手。
Commentary on the Sixth Edition UNIX Operating System
tp://www.lemis.com/grog/Documentation/Lions/
そのうちリベンジの予定。
>>317 よし!俺が今から
「The Design and Implementation of the 4.4BSD Operating System」
を読んで
>>317 を追い抜いてやるぜ!!
しかし、"こっち"も... -- 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
~~ 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; ... ...
スタック --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 なんとも...
お前らXenのdom0に*BSDタンを担ぎ上げてください。
324 :
名無しさん@お腹いっぱい。 :2005/07/29(金) 01:03:08
お前らdomUはなんでもいいとおもいませんか。
>>325 よーし、俺のコレクションに加えちゃうぞー。
積読用に。
ひさしぶりに来ました。
>>316 半人前どころか四半人前ぐらいです。
スレたてたの約5年前なんですね…全く成長してないのに
自分でもショック。
仕事終わったら『BSDカーネルの設計と実装』買って帰ります…
こんにちは。 上の本、順調に読み進めてます。 Netgraphハッカーになりてーなんて思ってたら Netgraphがカーネルの中で一番ボリュームが多いって知って さっそく挫けそうです。 OSMでバリバリ記事書く佐藤広生さんSUGEEEEEEE
ん?多分ソースツリーの構成上だけの問題だと思うけど? 今netgraph関係は一部のモジュールを除いて、 ほとんどフラットに展開されてるから。それなりに数もあるし。 見る必要があるのはng_sample.cぐらいじゃない?
330 :
見習いデーモン :2006/12/28(木) 17:49:40
着手しました。 まだOpenBSD上で本家パッチの内容を調査してる段階。 すんなり移植できるといいな・・・
すまん、よく見たらカーネルと関係なかった。 回線切って首吊ってきます。
333 :
名無しさん@お腹いっぱい。 :2008/06/04(水) 08:45:13
板違いだ ケンタッキーでも食ってろ
仕事がつらくてモチベーションが下がったとき、このスレを開くと 元気が出る。 今の俺は、7年前の俺が目指した俺になっているだろうか。
おいらも頑張ってみようかな
積読してた4.3BSDの設計と実装でも読むか
338 :
名無しさん@お腹いっぱい。 :2009/07/08(水) 20:56:07
ARM系, evbarmやarmとかいろいろあって最初に読むべきlocore.S相当がどれかわからん…トホホ
>>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
int 0x80から始まるカーネル内でのシステムコール処理中に、外部割込み(キーボードとかEtherカード)を タイミングよく発生させる方法ってある?
>>341 remote gdb で break する -> 割り込みいれる -> continue する
じゃ、だめなのか?
343 :
名無しさん@お腹いっぱい。 :2010/03/27(土) 12:47:14
ブルブルマシーンについて 今日、仕事終わりにすぅぱぁ銭湯に行って岩盤浴してきました 超ー気持ちよかった凞 その時、200円でブルブルマシーンにも乗ったの前回は何も思わんかったけど…たぶん前の乗り方が悪かったんでしょうか今回はかなり足にきてます 脂肪しかないからきかないのかと思ったけど違ったよあよかった
/* XXX should go away */ このコメントってどういう意味?
XXXをプロジェクトから追放しろ
ちげーよ。 XXX commentすなわちTODO comment
TODO と XXX は違う。 TODO はまだやる(べき)ことが残ってる状態を示す。 それに対して XXX はその部分が、残しておかないと動かないとかそういう理由で存在するけど、 ひどいコードだと書いた奴自身わかっているよ、とかそういう印。
あい
適当にソース開いて1,2,3行ブバッと消してコンパイピして使ってみたらすげえ不安定になっちゃったべ
>>348 まあ中二病的発想だろうね
三年生ともなれば経済ってもんが大まかにでも分かって来て個々人が自分自身の為に精一杯頑張る事が
最も社会(彼らは地球・世界・市民といった表現が好きなようだが)の為になるって事に気付くもんだけど
死ねよゴミみたいねレスをコピペして喜んでるバカは死ねよ
ゴミみたいね
ゴミ
357 :
名無しさん@お腹いっぱい。 :2014/07/05(土) 13:49:41.54
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 (改行は取り外しました)
>>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