[表示 : 全て 最新50 1-99 101- 201- 301- 2chのread.cgiへ]
Update time : 05/09 10:23 / Filesize : 76 KB / Number-of Response : 336
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



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より伝統あるはずなのに。

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プロセスで同じもの。スタックはスレッド毎に
切り替えて違うアドレスを指してあるだけ。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<76KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef