お前ら*BSDのカーネルをハックしますか? (378レス)
上下前次1-新
78: 02/03/08 23:27 AAS
age
79: 仕様書無しさん 02/03/09 17:23 AAS
これも
80: 02/03/11 00:24 AAS
つづきプリーズ揚げ
81: 名無しさん 02/03/11 04:30 AAS
BSDに誰か じゃーなりんぐできるFS実装してくれたまへ。
あと、圧縮できるFSもキボンヌ
82(1): 02/03/11 04:50 AAS
外部リンク:jfs4bsd.sourceforge.net
83(2): 02/03/11 06:19 AAS
>>82
ライセンスどうするんだろ? JFSもGPLだったよね?
84: 02/03/11 07:31 AAS
>>83
コードの再利用をせずにスクラッチで書けば良いんではないかい?
85: 83 02/03/11 10:41 AAS
うーんやっぱそうなるよねぇ。先が長そうだ...
とりあえず応援age
86: 02/03/11 21:46 AAS
JFS ってわざわざスクラッチから作るほどイイの?
87: 02/03/12 00:04 AAS
とりあえずジャーナリングするファイルシステムがひとつは欲しい
88(1): 02/03/12 16:19 AAS
JFS for Linux を移植するよりスクラッチから書いた方が早い
89: 02/03/12 18:17 AAS
>>88
その情熱をLFSに注いでクレ
90(1): 02/03/13 00:28 AAS
LFSとかsoftupdateみたいなディスクへのリクエストの順序で整合性を保つ方式は
そろそろダメというのが世間のコンセンサスな気がする
91(1): 02/03/13 00:49 AAS
ジャーナリングって
ディスクへのリクエストの順番と
実際書き込まれる順番が
デタラメになっても問題ないの?
92: 02/03/13 08:05 AAS
>>91
そんなことはないが、ディスクキャッシュのフラッシュなどの
同期命令の発行がかなり少なくてすむ
少なくともメタデータ一個書くごとにフラッシュする必要は無い
93(1): 02/03/13 08:39 AAS
書き込み順序保証ってSCSIやATAのtagged queuingじゃダメなの?
94: 02/03/14 00:16 AAS
>>93
その手の機能をすべてのメタデータの書き込みに対して使うと遅いよ
95(1): 02/03/14 01:15 AAS
>>90
LFS はセグメント毎にフラッシュすれば十分なんでないの?
ダメ?
96: 02/03/14 09:44 AAS
>>95
そうですな。すまんかった
97: 02/04/07 06:03 AAS
age てみよう。
98(4): 02/04/09 19:11 AAS
勉強のため、FreeBSD 4.5-RELEASE 上で俺ファイルシステムを
作りたいと思っています。とりあえず、procfs のように、カーネルの
覗き穴的な fs がいいかなと。
が、サパーリわかりません。というわけで、fs のスケルトンが欲しい
のですが、よいスケルトンはどれでしょうか。
ファイルサイズ的に miscfs/deadfs/ かなぁと思うのですが、deadfs は
どういう目的の fs なのかがわかりません。ぜひアドバイスをお願いします。
99: 98 02/04/09 19:26 AAS
deadfs は mount 方法もわからないし (そもそも mount できるのか
どうかもわからん) kernfs の方がいいかな…。
100(1): 02/04/09 19:32 AAS
procfs を換骨奪胎すればいいのでは?
101: 02/04/09 19:57 AAS
やっぱnullfsが基本では。
procfsはpseudofsレイヤができたから応用ききづらいかも。
102: 100 02/04/09 20:21 AAS
nullfs は読むのに layerfs と行ったり来たりしなきゃ
いけないので面倒かもと思ったので。(NetBSD)
よく見たら >98 はFreeBSDか。
てゆーか msdosfs あたりでも見たほうがむしろ分りやすいかもとか
思ったり。
103: 98 02/04/09 20:37 AA×

104: 98 02/04/09 20:54 AAS
UNIX 使い始めて はや7年。やっとカーネルの世界にちょっとだけ足を踏み入れる
ことができたかな…。漏れみたいなヘタレには一生無理かとおもてたよ。感激。
というわけで、とりあえずの目標は
rootvfs/da0s1a -> vnode/1
rootvfs/ad0c -> vnode/2
vnode/1/v_flag
vnode/1/v_count
省5
105(2): 名無しさん 02/04/09 21:59 AAS
カーネルのコンパイルについて質問です。
FreeBSD4.5でカーネルをいじってmake && make installを
しているんですが不要な部分を除いてコンパイルの時間を
短くできないでしょうか?そんな都合のいい話は
ないかもしれませんがよろしくお願いします。
106: あぼーん [あぼーん] AAS
あぼーん
107: 02/04/09 22:47 AAS
>>105
パソコンかえればはやくなるんじゃないかな。
PentiumIII1G以上だったら1分ぐらいで終わるし。
108: 02/04/09 22:51 AAS
>>105
本来スレ違いなんだけど…
外部リンク[html]:www.jp.freebsd.org
さらに何か疑問があればFreeBSD質問スレにGo
109(1): 02/04/20 02:22 AAS
NULLFSは正直お勧めできない。
あれは、スタッカブルファイルシステムのテンプレ。
そうそう。Linuxネタだけど、これどうよ。(カーネル空間でORBit動かす)
外部リンク:korbit.sourceforge.net
これ一瞬移植しようかと思ったけど、geom入ったせいで
glibと名前空間がぶつかりそう。
110: 02/04/21 00:27 AAS
うーん。
NetBSDからスタッカブルファイルシステム系全部持ってきたほうが
面白いかなぁ。
111: 02/04/21 16:04 AAS
>>109
ORBit カーネルで動かすとなんかいいことあるの?
> you can write Linux device drivers in Perl
とか言われてもなあ(w
112(1): 学生 02/05/08 22:11 AAS
カーネル書けるとスゴいって書き込みよく見かけますが
学生で書けたらすごいですか?
ウチの教授は書けますかね?
113(1): 02/05/08 22:27 AAS
>>112
そんな書き込みどこで見かけた?
2ちゃんねるぢゃあないよな?
114: 02/05/08 22:39 AAS
>>113
ここと思われ:
Free Unix での経験は職歴に入らないか? (428)
2chスレ:unix
115(2): 学生 02/05/08 23:02 AAS
ビンゴです。
あと、以前他のスレでも見ました。
で、どうなんですか。
カーネルは上級のプロじゃないと書けないんですか?
お前ら真面目にレス下さい。
116(1): 02/05/08 23:10 AAS
>>115
べつにプロである必要はこれっぽっちもないわけだが
117(3): 学生 02/05/08 23:19 AAS
>>116
どのくらい難しいのでしょうか
3年間くらい勉強すれば学生でもかけますか
118: 02/05/08 23:21 AAS
>>117
やってみりゃ自分でわかるだろ?
つべこべ言ってないでさっさとカーネルをハク汁
119: 02/05/08 23:24 AAS
>>117
自分の頭の中のフローチャートを実際にプログラムに
起こせる人間であれば、多分1年くらいで出来ると思う。
漏れは3年くらいかかったけど(鬱
120: 02/05/08 23:27 AAS
>>117
学生かどーかは関係ないし。
1ヶ月くらいやってみて無理そうなら当分無理。
121: 117 02/05/08 23:37 AAS
レスありがとうございます。
ここで言う「書ける」というのは、白紙からの状態から自分で書けるという意味ですよね?
既存のプログラムを改造するとか、書籍を見て書くとか、そういう意味ではないですよね?
122(1): 02/05/08 23:38 AAS
>>115
むしろカーネルをスクラッチから書くなんてこと
学生にしかできないから、今のうちに頑張れ。
「上級のプロ」にそんな暇なんてありません。
123(1): 02/05/08 23:41 AAS
>>122
UNIX使いになるためには、やっといて損はないですか?
124(1): 02/05/08 23:44 AAS
>>123
人によって"損"の感じ方が異なります
私の損とあなたの損は違います
125(2): 02/05/08 23:46 AAS
>>124
うーん
将来ネットワーク関係のソフトウェアを開発したいのですけども。
そーゆー人にとっては有益でしょうか?
126: T大理系 02/05/08 23:49 AAS
みんな理系?
凄いです
尊敬します
127: 02/05/08 23:59 AAS
>>125
そういう具体的な目標があるのなら、カーネルに拘らずに最初から
ネット周りのプログラムをハクした方がいいと思われ。
カーネル書ける奴はスゴイが、カーネル書ける奴だけがスゴイわけじゃない。
128(1): 02/05/09 00:08 AAS
俺的にはドライバをバリバリ書き捲くってるような人が
プログラマとして尊敬に値すると思ってる。
カーネルはどっちかって言うと設計するものって感じだしねぇ。
129: 02/05/09 00:10 AAS
>>128
実務家っぽい御意見…
130(2): 02/05/09 00:11 AAS
人に訊いてからじゃないと始められない奴は結局何もできない。
hackなんてのは気づいたらやっているか、やらないと夜が明けないかのどちらかだ。
131: 02/05/09 01:13 AAS
>>125
ネットゲーのサーバとかのように、非同期に発生する大量の要求を
うまく捌かなければならないプログラムを書くのは、
カーネルを書くのと似たようなセンスが必要な気がする。
# RDBMSとかもそうだな。
こういうシステムをうまく設計できる奴は
非常に使えるね。
132: 02/05/09 12:11 AAS
>>130 がいいこと言った。
133(2): 学生 02/05/10 19:33 AAS
みなさんどうもありがとう
ところでみなさん理系ですか?
もしくはコンピュータで飯を食っている人達ですか?
134: 02/05/10 19:44 AAS
>>133
理系かそうでないかなんてどうでもいいことだ。
とりあえずやってみろ
>>130
どっかで聞いた気がするが、イイね
135: 02/05/10 20:22 AAS
>>133
俺も学生。経営情報学科というとこにいる。
理系だか文系だかわからん。
136: 02/05/11 05:29 AAS
あーあ
カーネルいじって遊んでたら
もー朝だよ...
寝よーっと。
137: 02/05/11 14:10 AAS
カーネル・ハッカースおじさんのAAキボンヌ
138: 02/05/21 11:26 AAS
hack より fuck だと最近痛感 おっかけさぼりすぎで make world 不能状態
139: 26=52=..... 02/05/25 03:44 AAS
某誌のネタにしますた。
140: 02/06/03 01:15 AAS
保守age
141: 02/06/03 01:59 AAS
見習いデーモンは死んだのか?
142: 02/06/09 05:21 AA×

143(3): 02/06/21 07:49 AAS
誰かハックしてる人いますかー。
BSDのkernel読み始めるとしたら、手をつけるところは
どこがおすすめですかねぇ
144: 02/06/21 08:28 AAS
>>143
過去ログ
145(1): 02/06/21 09:23 AAS
>>143
current の SMPng
146(2): 02/06/25 23:38 AAS
>>143
まぁ、過去ログにもいろいろあるけど、手足から見て行くのがいいと思うね。
デバイスドライバ、ファイルフォーマット毎のプロセス実行サブシステム(imgact_*)、
簡単なファイルシステム、低水準の初期化部あたりは割とコンパクトに
まとまってて読みやすいんじゃないの?
>>145
ほぅ。じゃぁ、具体的に何処のファイルがSMPngに関係してるのか言ってみ。
省1
147: 02/06/26 00:06 AAS
>>146 の後半
ネタにマジレスカコワルイ
148(1): 02/06/26 00:28 AAS
>>146
FreeBSD以外の*BSDってperforce使っているんですか?
FreeBSDのperforce treeってanonymousでソースを取れるんでしょうか?
できるんなら見てみたいと思っています。
149: 02/06/26 01:08 AAS
>>148 他の*BSDでは使ってないです。
でもSMPngっていったらFreeBSDでしょ。
リポジトリのブラウズならここでどうぞ。
外部リンク:people.freebsd.org
手元に置きたければ
外部リンク[txt]:people.freebsd.org
に取り方が書いてある。
150(5): 02/07/03 03:05 AAS
FreeBSDのブートについて質問させてください。
sys/boot/common/load_elf.c を読んでるんですが、
/kernelのエントリアドレス(当方では0xc012b130)に0xff000000をマスクして
符号反転してオフセット(off)を0x40000000にしている意味がわからないです。
コメントの「i386 relocates after locore」っていうのも呪文ですし…
で、結局/kernelのプログラムヘッダの仮想アドレス(当方では0xc0100000)と
さっきのoffを加算して桁あふれさせて0x100000にして、
省2
151(2): @夜勤雀棟 ◆YaKINcTg 02/07/03 05:48 AAS
>>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-)へ展開しておき、
省3
152(1): [age] 02/07/03 21:52 AAS
良サイト宣伝中〜〜。
外部リンク:www.interone.jp
注)私はサイト関係者とは無関係ですよ。
153: 02/07/04 03:20 AAS
>>152
BSD カーネルのハックに関する良サイトかと思って見に行っちゃったよ :-)
154: 02/07/04 05:05 AAS
アドレスの最後の方のgameがgmakeに見えて、見に行っちゃったよ。。
155(1): 02/07/06 20:57 AAS
>>151
その通り。なぜ、&= ~(0xff000000)じゃないのかよう分からんけど。
で、じゃあ何故ELFヘッダの開始番地が0x100XXXなんかじゃ無くて
0xc01000XXになってるかっていうと、paging開始後はカーネル仮想メモリ
アドレスは全て0xc0000000以降になっていて、 カーネルで使用している
メモリアドレスは全てそこにマップされるから。(リンカとELFフォーマット
の機能を使えばそういう状況にも実は対応できたりするような気もするけど)
省5
156(1): 150 02/07/06 21:47 AAS
>>151 >>155
お二人のレスを見ると自分がはずしまくってるのかニアミスなのか
すげぇ悩みます。
load_elf.cに↓のようにコード追加して
--
228行目あたり
if (kernel) {
省13
157(1): @夜勤雀棟 ◆YaKINcTg 02/07/06 22:25 AAS
>>156
> off = - (off & 0xff000000u); /* i386 relocates after locore */
スマソ。コードを読み違えました。
off -= (off & 0xff000000u);
だったら最上位バイトのクリアですね。
158: 150 02/07/06 23:16 AAS
>>157
まぁ「保証はしない」っておっしゃってましたしね =)
さてすっきりしたところでつぎはbtx.sでものぞいてみますか…
上下前次1-新書関写板覧索設栞歴
あと 220 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.028s