dragonfly bsd どうよ
なんか面白そうだが。
dragonfly bsd どうよ
NGNG
NGNG
>>43
それは邦訳版をエビフライBSDにしろという圧力ですか?
それは邦訳版をエビフライBSDにしろという圧力ですか?
NGNG
オレ竜BSDかよ
NGNG
ヘ へ
EbiFly BSD :| / /
.;: ":;.
∧∧,..,.. ;'、., : 、
;'・-・o、:、.: : ;:'
'、;: ...: ,:. :.、.: '
`"∪∪''゙
EbiFly BSD :| / /
.;: ":;.
∧∧,..,.. ;'、., : 、
;'・-・o、:、.: : ;:'
'、;: ...: ,:. :.、.: '
`"∪∪''゙
NGNG
同じコードではコンパイル出来ない事態に陥ったら*BSD系じゃ無くなるね
NGNG
,.、,、,..,、、.,、,、、..,_ /i
;'`Dragonfly BSD:.:゙:`''':,'.´ -‐i
'、;: ...: ,:. :.、.:',.: .:: _;.;;..; :..‐'゙  ̄  ̄
`"゙' ''`゙ `´゙`´´´
Dragonfly BSD
 ̄ ̄∨ ̄ ̄ ̄ ̄
.∧∧
,.、,(゚∀゚ ) /i
;'`;、. :,.:∪`゙:゙:`''':,'.´ -‐i
'、;:.: .、.:',.: .:: _;.;. :.‐'゙゙~  ̄
`` U U
,.、,、,..,、、.,、,、、..,_ /i
;'`;、、:、. .:、:, :,.: ::`゙:.:゙:`''':,'.´ -‐i
'、;: ...: ,:. :.、.∩.. .:: _;.;;.∩‐'゙  ̄  ̄
`"゙' ''`゙ //゙`´´ | |
//Λ_Λ | |
| |( ´Д`)// <Dragonfly BSD
\ |
\ |
(ry
;'`Dragonfly BSD:.:゙:`''':,'.´ -‐i
'、;: ...: ,:. :.、.:',.: .:: _;.;;..; :..‐'゙  ̄  ̄
`"゙' ''`゙ `´゙`´´´
Dragonfly BSD
 ̄ ̄∨ ̄ ̄ ̄ ̄
.∧∧
,.、,(゚∀゚ ) /i
;'`;、. :,.:∪`゙:゙:`''':,'.´ -‐i
'、;:.: .、.:',.: .:: _;.;. :.‐'゙゙~  ̄
`` U U
,.、,、,..,、、.,、,、、..,_ /i
;'`;、、:、. .:、:, :,.: ::`゙:.:゙:`''':,'.´ -‐i
'、;: ...: ,:. :.、.∩.. .:: _;.;;.∩‐'゙  ̄  ̄
`"゙' ''`゙ //゙`´´ | |
//Λ_Λ | |
| |( ´Д`)// <Dragonfly BSD
\ |
\ |
(ry
NGNG
俺もNuggetBSD作ろうと思います。
NGNG
>>41
LiveCDの方にはX入って無かったよ
LiveCDの方にはX入って無かったよ
NGNG
>48,46
龍ふりゃー だったら fly じゃなくて fry なんじゃネーノ?
あとどうせならデーモン君が fork で食べているとかそんな絵にしないと。
龍ふりゃー だったら fly じゃなくて fry なんじゃネーノ?
あとどうせならデーモン君が fork で食べているとかそんな絵にしないと。
NGNG
お前らは中学を卒業できていないDQNの群れですか。
NGNG
いいじゃんそんなBSDがあっても
人生を楽しく生きるコツは童心を忘れない事だ
人生を楽しく生きるコツは童心を忘れない事だ
NGNG
FlyBSDとしてFreeBSD2系のメンテを行いたいと思います。
NGNG
EbiFry BSDとしてスキンを用意して邦訳すると。
NGNG
スキンは岡本理研でいいですか?
NGNG
それじゃエビフライじゃなくてイカフライだろ
NGNG
このスレだけノリがUNIXっぽくないな
NGNG
UNIX板は下ネタが多いので無問題。
NGNG
来ましたよー
NGNG
いらっしゃいませ。
NGNG
(・∀・)エッコー
NGNG
NGNG
Frescoが標準だったりして
NGNG
NGNG
NGNG
デーモン君のフェードアウトはGUIへの本気度の表れと見た
NGNG
デーモンダサイ、死ね
NGNG
インストーラのバグで、パーティションが既に存在するディスクに
fdiskを使った場合、後ろのほうにあるパーティションの情報を
吹き飛ばしてしまう可能性があるらしい。パーティションの切り直しが
必要な人は修正版が出るのを待ったほうが無難。
fdiskを使った場合、後ろのほうにあるパーティションの情報を
吹き飛ばしてしまう可能性があるらしい。パーティションの切り直しが
必要な人は修正版が出るのを待ったほうが無難。
NGNG
CUI・GUIの起動画面に使えるエビフライを依頼するしか俺たちに残された道は無い。
NGNG
GUIに力入れるならまずインストーラからGUIにしてほしいね。
そーいやQt使ったインストーラて見ないな
そーいやQt使ったインストーラて見ないな
NGNG
FreeBSD 4.x と DragonFly でベンチ取ろうと思うんだけど、何か有用な
ベンチ知ってる人いますかー ?
>>36 のを 4.x で取ろうと思ったら apache2 を worker でビルドできんかった。
ベンチ知ってる人いますかー ?
>>36 のを 4.x で取ろうと思ったら apache2 を worker でビルドできんかった。
NGNG
そりゃそーだ。
currentは最近マズーだから5.2.1Rで取ってみたら? acpiはオフで。
currentは最近マズーだから5.2.1Rで取ってみたら? acpiはオフで。
NGNG
5.x にはあげられない理由がちとありまして。。。
4.x で何とかならないかな、と。
4.x で何とかならないかな、と。
NGNG
なんとかすれば。というか普通にデフォルトでビルドすればいいじゃん。
NGNG
そろそろBSDもカーネルにGUI関係を組み込んでもいいころだね
NGNG
・WindowsのようにカーネルへGUI関連の機能を埋め込む。
・BeOSのようにドライバ用の仮想空間(インターフェイス)を作る。
・TRONのようにユーザーランドを1プロセスにする。
・MacOSのようにX11以外のウィンドウシステムを作る。
・BeOSのようにドライバ用の仮想空間(インターフェイス)を作る。
・TRONのようにユーザーランドを1プロセスにする。
・MacOSのようにX11以外のウィンドウシステムを作る。
NGNG
NGNG
DragonflyのGUI重視ってのは、
Linuxのディストリみたいに、インストールすると、
KDEなり、GNOMEなり標準搭載されたGUIで起動できるって事なのかな?
Linuxのディストリみたいに、インストールすると、
KDEなり、GNOMEなり標準搭載されたGUIで起動できるって事なのかな?
NGNG
んなアフォな
NGNG
>>79 「GUI重視」というのはソースは?
NGNG
>>78
古いWindowsNTみたいになるのか?
古いWindowsNTみたいになるのか?
NGNG
GUI重視ではなくて、GUIにも力を入れるよと言ってるだけだね。
ttp://slashdot.jp/bsd/04/03/14/1417235.shtml?topic=26
ttp://slashdot.jp/bsd/04/03/14/1417235.shtml?topic=26
NGNG
userlandが4ベースというのが激しく気にいらんなぁ。
NGNG
でもrcNGが入ってるのはうれしい。
NGNG
NGNG
(´・ω・`)エッコー...
NGNG
インストールしてみたけど、時計がはえーです。普通の 2倍くらいのはやさで
時を刻んでます。
acpi も切ったりしてみたけど、変わらず。同じような症状出た人いませんか ?
時を刻んでます。
acpi も切ったりしてみたけど、変わらず。同じような症状出た人いませんか ?
NGNG
>>88
ワラタ
ワラタ
NGNG
>>88
その場合、パフォーマンスも2倍になるのか?
だったら素晴らしい機能だ。
……という冗談は置いといて、似たような話をFreeBSDでも聞いたことが
あったような気がする。
確かsysctlでkern.timecounter.*をいじるようなことを言ってたような……
その場合、パフォーマンスも2倍になるのか?
だったら素晴らしい機能だ。
……という冗談は置いといて、似たような話をFreeBSDでも聞いたことが
あったような気がする。
確かsysctlでkern.timecounter.*をいじるようなことを言ってたような……
NGNG
>>90
残念ながらdflyにkern.timecounterは存在しない。
MLのバグレポートではP166が実際に速くなるらしいね。
|Re-syncing the clock is not the problem. :) Having a CPU that is
|running at hyperspeed and causing heat problems is. When the system
|clock starts running faster, the whole system starts running faster.
|I've watched the P166 run through a buildworld in very little time
|(around 30 minutes wall time). The resulting binaries don't work,
残念ながらdflyにkern.timecounterは存在しない。
MLのバグレポートではP166が実際に速くなるらしいね。
|Re-syncing the clock is not the problem. :) Having a CPU that is
|running at hyperspeed and causing heat problems is. When the system
|clock starts running faster, the whole system starts running faster.
|I've watched the P166 run through a buildworld in very little time
|(around 30 minutes wall time). The resulting binaries don't work,
9288
NGNGNGNG
> The resulting binaries don't work,
って、おいおい…
って、おいおい…
NGNG
なんでこんな状態で1.0にしちゃったんだ。リリースマネージメントがアレすぎ。
NGNG
そらマネジメントする奴がおらんからな。
>>94 やってみるか?
>>94 やってみるか?
NGNG
version1.0じゃなくてupload1.0って意味にしとこう。
NGNG
NGNG
MacOSX並のGUIまだー チンチン
NGNG
>>98
gnustep(違
gnustep(違
100名無しさん@お腹いっぱい。
NGNG 100age
NGNG
今日cvsupしたんだけれど、
CCVERがgcc34でbuildworld通った人います?
CCVERがgcc34でbuildworld通った人います?
NGNG
LiveCD版しか使ってない
↓どう?
↓どう?
NGNG
>>101
無理です。あきらめて一度gcc2でbuildworldしましょう。
無理です。あきらめて一度gcc2でbuildworldしましょう。
NGNG
NGNG
まあ、userlandのベースがFreeBSD4.xだから、gcc3でコンパイルできなくても文句は
言えないってことなんだろうけど…
言えないってことなんだろうけど…
106103
NGNG >>105
違う違う、そういう意味じゃない。gcc3用のクリーンアップはずっと
昔に済んでるよ。問題なのはbuildworldの最初の方にやるいくつかの
サブターゲットはシステムにインストールされているコンパイラを使うん
だけど、CCVER=gcc34になっているとそのコンパイラが(存在しない)
gcc34を使おうとして失敗するというものだったはず。もしbsd.cpu.mkに
怒られるんだったらソースツリーの中じゃなくシステムの方の/usr/share/mkを
使っているということだから、CCVER_BSD_CPU_MK=gcc2と設定すればいいんだけど
まあ試してみて。
違う違う、そういう意味じゃない。gcc3用のクリーンアップはずっと
昔に済んでるよ。問題なのはbuildworldの最初の方にやるいくつかの
サブターゲットはシステムにインストールされているコンパイラを使うん
だけど、CCVER=gcc34になっているとそのコンパイラが(存在しない)
gcc34を使おうとして失敗するというものだったはず。もしbsd.cpu.mkに
怒られるんだったらソースツリーの中じゃなくシステムの方の/usr/share/mkを
使っているということだから、CCVER_BSD_CPU_MK=gcc2と設定すればいいんだけど
まあ試してみて。
NGNG
>>103
CCVER_BSD_CPU_MK=gcc2 設定したらbuildworld通りますた(`・ω・´)
ついでにmake.confも見直したんだけれど、
/etc/defaultsにもmake.conf入っていてびびった。
FreeBSDも最近は/etc/defaultsに入ってるのかな。
CCVER_BSD_CPU_MK=gcc2 設定したらbuildworld通りますた(`・ω・´)
ついでにmake.confも見直したんだけれど、
/etc/defaultsにもmake.conf入っていてびびった。
FreeBSDも最近は/etc/defaultsに入ってるのかな。
NGNG
4.xでは/etc/defaultsに入ってる
5.xでは違うところに入ってる
5.xでは違うところに入ってる
NGNG
hrs氏の日記にDragonFlyの話題が。
ttp://www.allbsd.org/~hrs/diary/200408.html#d0801
日本語の文書の中では、今のとこ一番わかりやすいと思う。
ttp://www.allbsd.org/~hrs/diary/200408.html#d0801
日本語の文書の中では、今のとこ一番わかりやすいと思う。
NGNG
ポート/メッセージモデル
DragonFlyはLWKTに同調する軽量なポート/メッセージAPIを備える予定です。
ポート/メッセージAPIの概念は非常に単純です。まずメッセージを組み立て、
目標となるポートへ送り、あとで自分の応答ポートに返事が来るのを待つ
というものです。この単純な概念にもとづいて、高度な機能を構築し、
洗練化を行います。このメッセージングシステムの機能を理解するには、
まずメッセージがどのように送信されるのかを理解する必要があります。
基本的には以下のように動作します:
DragonFlyはLWKTに同調する軽量なポート/メッセージAPIを備える予定です。
ポート/メッセージAPIの概念は非常に単純です。まずメッセージを組み立て、
目標となるポートへ送り、あとで自分の応答ポートに返事が来るのを待つ
というものです。この単純な概念にもとづいて、高度な機能を構築し、
洗練化を行います。このメッセージングシステムの機能を理解するには、
まずメッセージがどのように送信されるのかを理解する必要があります。
基本的には以下のように動作します:
NGNG
メッセージAPIはこの基本的は構造を同期/非同期メッセージ関数に内包します。
lwkt_domsg()はメッセージを同期的に送り、返答を待ちます。この関数は
目標ポートにヒントを与えるためのフラグをセットします。それはメッセージが
同期的にブロックされることを示すもので、目標ポートがEASYNCを返した場合
lwkt_domsg()はブロックします。lwkt_sendmsg()はメッセージを非同期的に
送りますが、目標ポートが同期的なエラーコード(つまりEASYNC以外全て)を返した
場合、lwkt_sendmsg()はもう完了したメッセージを返答ポート自身のキューに手動で
入れます。
lwkt_domsg()はメッセージを同期的に送り、返答を待ちます。この関数は
目標ポートにヒントを与えるためのフラグをセットします。それはメッセージが
同期的にブロックされることを示すもので、目標ポートがEASYNCを返した場合
lwkt_domsg()はブロックします。lwkt_sendmsg()はメッセージを非同期的に
送りますが、目標ポートが同期的なエラーコード(つまりEASYNC以外全て)を返した
場合、lwkt_sendmsg()はもう完了したメッセージを返答ポート自身のキューに手動で
入れます。
112名無しさん@中学生英語
NGNGNGNG
推測できると思いますが、目標ポートのmp_SendMsg()関数はメッセージを
どう扱うかを完全に制御します。メッセージフラグによって渡されたヒントが
どのようなものであっても、目標ポートはメッセージに対して(呼び元から
見て)同期的にふるまって応答することも、メッセージをキューに入れてEASYNCを
返すこともできます。一般的にメッセージ処理は発信者から見て「ブロック」
すべきではありません。つまり、メッセージを同期的に処理することがブロック
につながるのであれば目標ポートは同期的に処理してはいけないということです。
そのかわりに、自身のスレッドのキュー(目標ポートの構造体に、便利なように
埋め込んであるメッセージキュー)に入れて、EASYNCを返すようにします。
どう扱うかを完全に制御します。メッセージフラグによって渡されたヒントが
どのようなものであっても、目標ポートはメッセージに対して(呼び元から
見て)同期的にふるまって応答することも、メッセージをキューに入れてEASYNCを
返すこともできます。一般的にメッセージ処理は発信者から見て「ブロック」
すべきではありません。つまり、メッセージを同期的に処理することがブロック
につながるのであれば目標ポートは同期的に処理してはいけないということです。
そのかわりに、自身のスレッドのキュー(目標ポートの構造体に、便利なように
埋め込んであるメッセージキュー)に入れて、EASYNCを返すようにします。
NGNG
: (このパラグラフは特に変更しなくていいよね)
ここで覚えておくべき重要なことは、もっともよい最適化とはmp_SendMsg()に
よる直接の実行で、単純なサブルーチン呼出しの他には実質的にオーバヘッドを
伴わないことです(訳注: no more〜thenはDillonのいつもの釣りね)。
キュー処理もせず、応答ポートをいじることもなく、ということです。もし
メッセージを同期的に扱ってよいのであれば、これは非常にコストの低い
処理ということになります。この特徴があるからこそ、性能の問題を気にせずに
メッセージングインタフェースを意図して使うことができるのです。私達は
たとえばMachで用いているような種類の洗練手法を使うことはあえてしません。
少なくとも低レベルなメッセージインタフェイスでは、メモリマップやポインタの
追跡といったことをしません。ユーザ⇔カーネル間のメッセージインタフェイスは
単純にmp_SendMsg()の関数ベクタを用い、それによって適切な変換をします。
そうすることで、送信側と受信側に関しては、メッセージがそれらの
VMコンテキストに対しローカルになります(局所性を持つということ)。
ここで覚えておくべき重要なことは、もっともよい最適化とはmp_SendMsg()に
よる直接の実行で、単純なサブルーチン呼出しの他には実質的にオーバヘッドを
伴わないことです(訳注: no more〜thenはDillonのいつもの釣りね)。
キュー処理もせず、応答ポートをいじることもなく、ということです。もし
メッセージを同期的に扱ってよいのであれば、これは非常にコストの低い
処理ということになります。この特徴があるからこそ、性能の問題を気にせずに
メッセージングインタフェースを意図して使うことができるのです。私達は
たとえばMachで用いているような種類の洗練手法を使うことはあえてしません。
少なくとも低レベルなメッセージインタフェイスでは、メモリマップやポインタの
追跡といったことをしません。ユーザ⇔カーネル間のメッセージインタフェイスは
単純にmp_SendMsg()の関数ベクタを用い、それによって適切な変換をします。
そうすることで、送信側と受信側に関しては、メッセージがそれらの
VMコンテキストに対しローカルになります(局所性を持つということ)。
NGNG
軽量カーネルスレッドモデル
DragonFlyはその中核部分に軽量カーネルスレッド(LWKT)を用います。
システムのプロセスは全てスレッドと結びついていて、カーネルのみの
プロセスのほとんどは事実上純粋なスレッドです。たとえば、pageout
デーモンは純粋なスレッドでプロセスコンテクストを持ちません。
LWKTモデルはアーキテクチャによらないいくつかの鍵となる特徴があります。
これらの特徴はCPU間の競合を除く、あるいは減らすために設計されています。
1.システムの各CPUは自己完結のLWKTスケジューラを持ちます。スレッドは意図的に
CPUに結びついていて、いくつかの特殊な状況下でのみ他のCPUへ移動することが
できます。特定のCPU上のLWKTスケジューリング処理はそのCPU上でのみ直接
実行されます。これは、LWKTスケジューラ本体がスケジュール追加、除去、
CPU内でのスレッド間スイッチを、ロックを一切せずに処理できるということです。
単純なクリティカルセクションの除いてはMPロックもなにもなしにです。
2. スレッドはカーネルで動作中は他のCPUにプリエンプティブに移動されることは
ありません。スレッドはブロックされている間はCPU間を移動しません。
ユーザランドスケジューラはユーザモードで実行しているスレッドを移動できます。
スレッドは非割り込みスレッドへプリエンプティブにスイッチすることは
ありません(この間FreeBSD初心者スレで出た話題のやつね)。割り込みスレッドが
カレントスレッドをプリエンプトする場合、割り込みスレッドが終了または
ブロックした時点でプリエンプトされた方のスレッドはスケジュール状態によらず
復元されます。たとえば、あるスレッドはlwkt_deschedule_self()を呼んだあと、
実際に(別のスレッドへ)スイッチする前にプリエンプトされる可能性があります。
これは問題ありません。なぜなら割り込みスレッドが完了またはブロックしたあと
そのスレッドに直接制御が戻るからです。
DragonFlyはその中核部分に軽量カーネルスレッド(LWKT)を用います。
システムのプロセスは全てスレッドと結びついていて、カーネルのみの
プロセスのほとんどは事実上純粋なスレッドです。たとえば、pageout
デーモンは純粋なスレッドでプロセスコンテクストを持ちません。
LWKTモデルはアーキテクチャによらないいくつかの鍵となる特徴があります。
これらの特徴はCPU間の競合を除く、あるいは減らすために設計されています。
1.システムの各CPUは自己完結のLWKTスケジューラを持ちます。スレッドは意図的に
CPUに結びついていて、いくつかの特殊な状況下でのみ他のCPUへ移動することが
できます。特定のCPU上のLWKTスケジューリング処理はそのCPU上でのみ直接
実行されます。これは、LWKTスケジューラ本体がスケジュール追加、除去、
CPU内でのスレッド間スイッチを、ロックを一切せずに処理できるということです。
単純なクリティカルセクションの除いてはMPロックもなにもなしにです。
2. スレッドはカーネルで動作中は他のCPUにプリエンプティブに移動されることは
ありません。スレッドはブロックされている間はCPU間を移動しません。
ユーザランドスケジューラはユーザモードで実行しているスレッドを移動できます。
スレッドは非割り込みスレッドへプリエンプティブにスイッチすることは
ありません(この間FreeBSD初心者スレで出た話題のやつね)。割り込みスレッドが
カレントスレッドをプリエンプトする場合、割り込みスレッドが終了または
ブロックした時点でプリエンプトされた方のスレッドはスケジュール状態によらず
復元されます。たとえば、あるスレッドはlwkt_deschedule_self()を呼んだあと、
実際に(別のスレッドへ)スイッチする前にプリエンプトされる可能性があります。
これは問題ありません。なぜなら割り込みスレッドが完了またはブロックしたあと
そのスレッドに直接制御が戻るからです。
NGNG
3. 上の(2)により、スレッドはCPUごとのglobaldata構造体を通じて得た
情報をロックなしにキャッシュすることができます。また、その情報が
割り込みスレッドによって変更されないと分かっている場合は、
クリティカルセクションに入る必要がありません。これによって、
いろいろな種類のデータのCPUごとのキャッシュ(訳注: 「の」の連続だ)
を、事実上オーバヘッドなしに持つことができます。
4. あるCPUが他のCPUに属するスレッドをスケジュールしようとする場合は、
ターゲットCPUにIPIベースのメッセージを発行して、処理を実行します。
このメッセージはデフォルトで非同期で、このためIPIはレイテンシを
伴うことがありますが必ずしもCPUサイクルを浪費するとは限りません。
このIPIの処理はクリティカルセクションに入ったスレッドによってブロック
されます。実際、LWKTスケジューラはそうします。クリティカルセクションの
出入りは安価な処理と考えられるので、ロックやバスロック命令を必要と
しません。
5. IPIメッセージサブシステムはFIFOあふれによるデッドロックに対し、
送信キューの停滞が解消するのを待つ間、受信キューをスピンして処理する
ことで対処します。IPIメッセージサブシステムはこのような状況下で
特にスレッドのスイッチを行いません。これによって、まれにスピンが
発生する場合があってもソフトウェアはこれをノンブロッキングAPIのように
扱うことができます。
情報をロックなしにキャッシュすることができます。また、その情報が
割り込みスレッドによって変更されないと分かっている場合は、
クリティカルセクションに入る必要がありません。これによって、
いろいろな種類のデータのCPUごとのキャッシュ(訳注: 「の」の連続だ)
を、事実上オーバヘッドなしに持つことができます。
4. あるCPUが他のCPUに属するスレッドをスケジュールしようとする場合は、
ターゲットCPUにIPIベースのメッセージを発行して、処理を実行します。
このメッセージはデフォルトで非同期で、このためIPIはレイテンシを
伴うことがありますが必ずしもCPUサイクルを浪費するとは限りません。
このIPIの処理はクリティカルセクションに入ったスレッドによってブロック
されます。実際、LWKTスケジューラはそうします。クリティカルセクションの
出入りは安価な処理と考えられるので、ロックやバスロック命令を必要と
しません。
5. IPIメッセージサブシステムはFIFOあふれによるデッドロックに対し、
送信キューの停滞が解消するのを待つ間、受信キューをスピンして処理する
ことで対処します。IPIメッセージサブシステムはこのような状況下で
特にスレッドのスイッチを行いません。これによって、まれにスピンが
発生する場合があってもソフトウェアはこれをノンブロッキングAPIのように
扱うことができます。
NGNG
これらの鍵となる特徴に加え、LWKTモデルでは高速割込みプリエンプション
とスレッド割込みプリエンプションを両立します。高速割り込みはカレント
スレッドがクリティカルセクションに入っていない場合はプリエンプトできます。
スレッド割込みもカレントスレッドをプリエンプトできます。LWKTシステムは、
スレッド割込みにスイッチしたあとそれがブロックまたは完了した場合に
もとのスレッドに戻ります。IPI関数は高速割り込みと非常に似たやり方で
動作し、同じくtrapframe機能を持ちます。これはDragonFlyのSYSTIMERS APIで
hardclock()やstatclock()の割込みを全てのCPUに分配するために多く用いられて
います。
とスレッド割込みプリエンプションを両立します。高速割り込みはカレント
スレッドがクリティカルセクションに入っていない場合はプリエンプトできます。
スレッド割込みもカレントスレッドをプリエンプトできます。LWKTシステムは、
スレッド割込みにスイッチしたあとそれがブロックまたは完了した場合に
もとのスレッドに戻ります。IPI関数は高速割り込みと非常に似たやり方で
動作し、同じくtrapframe機能を持ちます。これはDragonFlyのSYSTIMERS APIで
hardclock()やstatclock()の割込みを全てのCPUに分配するために多く用いられて
います。
NGNG
IPIメッセージサブシステム
LWKTモデルはCPU間通信のための非同期メッセージシステムを実装します。
基本的には、関数ポインタとデータ引数を引数として関数を呼び出すと
ターゲットCPUにそれを渡り、ターゲットCPUはそれを非同期に実行します。
これは非同期モデルなので呼び側は同期完了を待ちません。このため性能が
非常に向上し、ターゲットCPUへのオーバヘッドもおおまかには割り込み
と同等程度です。
IPIメッセージは高速割り込みのように動作します...つまり(クリティカル
セクションに左右されますが)ターゲットCPUで動いているものは何でも
プリエンプトし、実行し、そのあともともと動いていたものに復帰します。
このためIPI関数はいかなる理由であってもブロックすることは許されません。
IPIメッセージはスレッドをスケジュールしたり他のCPUに属しているメモリを
解放するといった処理をするのに用いられます。
IPIメッセージ処理は少なくとも6個の主なLWKTサブシステムで多用されています。
それらには、CPUごとのスレッドスケジューラ、slab allocator、メッセージ
サブシステムが含まれています。IPIメッセージ処理はDragonFlyに本来的に
適応したサブシステムなので、Big Giant Lockを必要とせず、使用してもいません。
全てのIPIベースの関数は従ってMPセーフである必要があります(そうなっています)。
LWKTモデルはCPU間通信のための非同期メッセージシステムを実装します。
基本的には、関数ポインタとデータ引数を引数として関数を呼び出すと
ターゲットCPUにそれを渡り、ターゲットCPUはそれを非同期に実行します。
これは非同期モデルなので呼び側は同期完了を待ちません。このため性能が
非常に向上し、ターゲットCPUへのオーバヘッドもおおまかには割り込み
と同等程度です。
IPIメッセージは高速割り込みのように動作します...つまり(クリティカル
セクションに左右されますが)ターゲットCPUで動いているものは何でも
プリエンプトし、実行し、そのあともともと動いていたものに復帰します。
このためIPI関数はいかなる理由であってもブロックすることは許されません。
IPIメッセージはスレッドをスケジュールしたり他のCPUに属しているメモリを
解放するといった処理をするのに用いられます。
IPIメッセージ処理は少なくとも6個の主なLWKTサブシステムで多用されています。
それらには、CPUごとのスレッドスケジューラ、slab allocator、メッセージ
サブシステムが含まれています。IPIメッセージ処理はDragonFlyに本来的に
適応したサブシステムなので、Big Giant Lockを必要とせず、使用してもいません。
全てのIPIベースの関数は従ってMPセーフである必要があります(そうなっています)。
NGNG
これって、ひとつの資源に対して単一のCPU&スレッドを張り付けることで、排他制御をシンプルにする
というおおざっぱな理解であってる?
スレッド切替が頻繁に発生してパフォーマンスで劣るんじゃないかとか、
スレッドの優先度制御をどうするかとか、いろいろ問題もありそうだけど、
おらワクワクしてきたぞ。
というおおざっぱな理解であってる?
スレッド切替が頻繁に発生してパフォーマンスで劣るんじゃないかとか、
スレッドの優先度制御をどうするかとか、いろいろ問題もありそうだけど、
おらワクワクしてきたぞ。
NGNG
IPIベースのCPU同期サブシステム
LWKTモデルは、汎用でマシンに依存しないCPU同期APIが備わっています。
このAPIによって、デリケートなデータ構造にアクセスしている状態の
ターゲットCPUを既知の状態に移行させることができます。このインタフェイスは
主にMMUのページテーブルを更新するのに使用されています。たとえば、
もし適切なロックを確保していたとしても、ページテーブルエントリの
モディファイビットをテスト、クリアしたあとにページテーブルエントリを
削除するのは安全ではありません。これは、他のCPUで動作しているユーザランド
プロセスがそのページを読み書きする可能性があるからで、その場合向こう側のCPUが
TLBを書き戻すのとページテーブルエントリをクリアしようとする処理の間に
レース状態が生じます。適切な解決は、ページテーブルエントリへ書き戻す
可能性のあるCPU(つまりpmapのpm_activeマスクでセットされている全CPU)を
まず既知の状態に移行し、変更処理をしてから、各CPUのTLBを無効化するリクエストに
よってCPUを解放するという方法です。
DragonFlyに備わっているAPIにはデッドロックがありません。複数のCPU同期処理が
並行に動作することが可能で、これはCPU同期イベントの主導権を握っているスレッド
にもあてはまります。これは柔軟なしくみですが、CPU同期インタフェイスは制御
された環境で動作するため、コールバック関数はIPIメッセージサブシステムで
用いられるものとちょうど同じように動作する傾向にあります。
LWKTモデルは、汎用でマシンに依存しないCPU同期APIが備わっています。
このAPIによって、デリケートなデータ構造にアクセスしている状態の
ターゲットCPUを既知の状態に移行させることができます。このインタフェイスは
主にMMUのページテーブルを更新するのに使用されています。たとえば、
もし適切なロックを確保していたとしても、ページテーブルエントリの
モディファイビットをテスト、クリアしたあとにページテーブルエントリを
削除するのは安全ではありません。これは、他のCPUで動作しているユーザランド
プロセスがそのページを読み書きする可能性があるからで、その場合向こう側のCPUが
TLBを書き戻すのとページテーブルエントリをクリアしようとする処理の間に
レース状態が生じます。適切な解決は、ページテーブルエントリへ書き戻す
可能性のあるCPU(つまりpmapのpm_activeマスクでセットされている全CPU)を
まず既知の状態に移行し、変更処理をしてから、各CPUのTLBを無効化するリクエストに
よってCPUを解放するという方法です。
DragonFlyに備わっているAPIにはデッドロックがありません。複数のCPU同期処理が
並行に動作することが可能で、これはCPU同期イベントの主導権を握っているスレッド
にもあてはまります。これは柔軟なしくみですが、CPU同期インタフェイスは制御
された環境で動作するため、コールバック関数はIPIメッセージサブシステムで
用いられるものとちょうど同じように動作する傾向にあります。
NGNG
同期トークン
同期トークンはいくつものスレッドが同時につかめます。トークンをつかんでいる
スレッドは、同一のトークンをつかんでいる他のスレッドが同時には実行しない
ことが保証されます。
一つのスレッドは同期トークンをいくつでもつかむことができます。
あるスレッドは、イールドまたはブロック条件を通じて同期トークンを
つかむことがありますが、そのスレッドが(ブロックあるいはイールドされて)
実行中でない間、それらのトークンをつかんでいる他のスレッドが実行する
可能性があることを考慮に入れる必要があります。
理論上、同期トークンの機構から起きるデッドロック状態で解決できないものは
ありません。しかし、初期の実装ではトークンを同時につかんだ場合にライブロック
の問題が起きる可能性があります。
同期トークンは、同一のトークンをつかもうとする割り込みが他のスレッドを
プリエンプトしてしまうことから保護するのにも使われます。これはBig Giant Lock
(BGL; MPロックともいう)とは若干違った作用があります。BGLは同一CPUの割り込みを
インターロックすることはありません。重要なことは、プリエンプションによって
一時的に他のスレッドへのスイッチが起きることがあるとしても、トークンの原子性
(?atomicity)プリエンプティブ条件によって維持されるということです。トークンの
原子性(?atomicity)を維持するためにspl()レベルやクリティカルセクションに入る
必要はありません。
同期トークンはプリエンプティブは割り込みが起きるのをさまたげることはありません
が、割込みをブロックして再スケジュールさせることがあります。スレッド化されて
いない高速割り込みやIPIメッセージング割り込みはトークンをつかうことが
できません。それは処理に必要なスレッドコンテキストを持っていないからです。
そのかわり、これらのサブシステムはクリティカルセクションを使うことで
排他制御をします。
同期トークンはいくつものスレッドが同時につかめます。トークンをつかんでいる
スレッドは、同一のトークンをつかんでいる他のスレッドが同時には実行しない
ことが保証されます。
一つのスレッドは同期トークンをいくつでもつかむことができます。
あるスレッドは、イールドまたはブロック条件を通じて同期トークンを
つかむことがありますが、そのスレッドが(ブロックあるいはイールドされて)
実行中でない間、それらのトークンをつかんでいる他のスレッドが実行する
可能性があることを考慮に入れる必要があります。
理論上、同期トークンの機構から起きるデッドロック状態で解決できないものは
ありません。しかし、初期の実装ではトークンを同時につかんだ場合にライブロック
の問題が起きる可能性があります。
同期トークンは、同一のトークンをつかもうとする割り込みが他のスレッドを
プリエンプトしてしまうことから保護するのにも使われます。これはBig Giant Lock
(BGL; MPロックともいう)とは若干違った作用があります。BGLは同一CPUの割り込みを
インターロックすることはありません。重要なことは、プリエンプションによって
一時的に他のスレッドへのスイッチが起きることがあるとしても、トークンの原子性
(?atomicity)プリエンプティブ条件によって維持されるということです。トークンの
原子性(?atomicity)を維持するためにspl()レベルやクリティカルセクションに入る
必要はありません。
同期トークンはプリエンプティブは割り込みが起きるのをさまたげることはありません
が、割込みをブロックして再スケジュールさせることがあります。スレッド化されて
いない高速割り込みやIPIメッセージング割り込みはトークンをつかうことが
できません。それは処理に必要なスレッドコンテキストを持っていないからです。
そのかわり、これらのサブシステムはクリティカルセクションを使うことで
排他制御をします。
NGNG
DragonFly - ユーザAPI
移植性のあるユーザAPIを作る
多くの標準的なUNIXシステムでは、生の構造体データを含む多種のデータを、
システムコールテーブルを通じてやりとりします。ユーザプログラムがそれ
自身より古いあるいは新しいカーネルとやりとりする上で最大の障害は、
これらの生の構造体データはよく構造が変わるということです。最も厄介なのは
ネットワークインタフェイス、ルーティングテーブルのioctl、ipfw、
ps,vmstatが直接アクセスするプロセス構造体などです。しかし、stat()や
readdir()のようなどうということのないシステムコールでさえ問題があります。
もっと一般的な言い方をすれば、システムコールはそれ自体が移植性の問題を
生むことがあるということです。
このプロジェクトの目標として以下のものがあります。
(1) 実質全てのシステムコールをメッセージベースにする、
(2) 構造体の情報を、直接ではなく機能や要素のリストを通じて渡すようにする、
(3) 汎用の「中間層」を実装する。
(3)はある種のエミュレーション層のように見えるもので、管理はカーネルが行うが
ユーザ空間にロードされます。この層は全ての標準的なシステムコールAPIを実装し、
それらを適切なメッセージに変換します。
例えば、Linuxエミュレーションはカーネルランドでなく(カーネルに保護された)
ユーザランドで動作します。FreeBSDのエミュレーションも同じように動作します。
実際「ネイティブ」なプログラムもシステムコールという私達がよくなじんだものを
見るためにエミュレーション層を通ります。ただ違うのは、ネイティブな
プログラムはエミュレーション層が存在し、ユーザランドから直接アクセスできる
のを知っているので、ただカーネルに入ってすぐにエミュレーション層に戻る
ためだけに余分なINT0x80(でも何でも)を無駄にしない、ということです。
移植性のあるユーザAPIを作る
多くの標準的なUNIXシステムでは、生の構造体データを含む多種のデータを、
システムコールテーブルを通じてやりとりします。ユーザプログラムがそれ
自身より古いあるいは新しいカーネルとやりとりする上で最大の障害は、
これらの生の構造体データはよく構造が変わるということです。最も厄介なのは
ネットワークインタフェイス、ルーティングテーブルのioctl、ipfw、
ps,vmstatが直接アクセスするプロセス構造体などです。しかし、stat()や
readdir()のようなどうということのないシステムコールでさえ問題があります。
もっと一般的な言い方をすれば、システムコールはそれ自体が移植性の問題を
生むことがあるということです。
このプロジェクトの目標として以下のものがあります。
(1) 実質全てのシステムコールをメッセージベースにする、
(2) 構造体の情報を、直接ではなく機能や要素のリストを通じて渡すようにする、
(3) 汎用の「中間層」を実装する。
(3)はある種のエミュレーション層のように見えるもので、管理はカーネルが行うが
ユーザ空間にロードされます。この層は全ての標準的なシステムコールAPIを実装し、
それらを適切なメッセージに変換します。
例えば、Linuxエミュレーションはカーネルランドでなく(カーネルに保護された)
ユーザランドで動作します。FreeBSDのエミュレーションも同じように動作します。
実際「ネイティブ」なプログラムもシステムコールという私達がよくなじんだものを
見るためにエミュレーション層を通ります。ただ違うのは、ネイティブな
プログラムはエミュレーション層が存在し、ユーザランドから直接アクセスできる
のを知っているので、ただカーネルに入ってすぐにエミュレーション層に戻る
ためだけに余分なINT0x80(でも何でも)を無駄にしない、ということです。
NGNG
[User API続き]
システムコールをメッセージベースの構成要素に変更することによるもう一つの
大きな利点は、ユーザランドスレッドの問題を完全に解決できるということです。
もう複数のユーザランドスレッドを処理するのに複数のカーネルコンテクストや
スタックは必要なくなり、プロセスあたり一つのカーネルコンテキストとスタック
があればよいのです。ユーザランドスレッドはシステムの各CPUごとに実プロセスを
生成するのにrfork()を使い続けますが、他全ての処理はスレッドに対応した
エミュレーション層を使えます。実際、ほとんど全てのユーザランドのupcall
(コールバック)はカーネルから直接発行されるのではなくユーザランドの
エミュレーション層から発行します。以下はスレッド対応エミュレーション層
が動作する例です:
[コード]
たったこれだけです。DragonFlyが実装する「本当の」システムコールは
送信、受信、待機に必要な原始的なメッセージ通信機能のみです。
他はエミュレーション層を通過します。もちろん、カーネルの側では
メッセージコマンドはFreeBSD 4.xにあるのと同じ規模のディスパッチ
テーブルにたどりつきます。でもサブシステムがメッセージベースになっていく
につれて、syscallメッセージはよりいっそうこれらのサブシステムに
統合されてゆくので、「メッセージ」を処理するためのオーバヘッドは
最終的には独立したシステムコールを処理するオーバヘッドよりも小さくなる
でしょう。「エミュレーション層」はユーザランドプログラムが期待するものと
カーネルが期待するものを分離するブラックボックスの役割をするので、
移植性を確保することははるかに簡単になります。エミュレーション層は
カーネルといっしょに更新する(または後方互換性のあるバージョンを作る)
ことができるため、ユーザランドのバイナリからは移植性の問題は見えなく
なります。
加えて、メッセージパシングモデルが提供する利点を全て受けられます。
それはデバッグや他の目的のためにシステムコールに割込んだり、
たとえばセキュリティ環境のもとづいて特定クラスのシステムコールを
無効にしたり変更したりするといったセキュリティ層をカーネル内に
構築するというものです。
システムコールをメッセージベースの構成要素に変更することによるもう一つの
大きな利点は、ユーザランドスレッドの問題を完全に解決できるということです。
もう複数のユーザランドスレッドを処理するのに複数のカーネルコンテクストや
スタックは必要なくなり、プロセスあたり一つのカーネルコンテキストとスタック
があればよいのです。ユーザランドスレッドはシステムの各CPUごとに実プロセスを
生成するのにrfork()を使い続けますが、他全ての処理はスレッドに対応した
エミュレーション層を使えます。実際、ほとんど全てのユーザランドのupcall
(コールバック)はカーネルから直接発行されるのではなくユーザランドの
エミュレーション層から発行します。以下はスレッド対応エミュレーション層
が動作する例です:
[コード]
たったこれだけです。DragonFlyが実装する「本当の」システムコールは
送信、受信、待機に必要な原始的なメッセージ通信機能のみです。
他はエミュレーション層を通過します。もちろん、カーネルの側では
メッセージコマンドはFreeBSD 4.xにあるのと同じ規模のディスパッチ
テーブルにたどりつきます。でもサブシステムがメッセージベースになっていく
につれて、syscallメッセージはよりいっそうこれらのサブシステムに
統合されてゆくので、「メッセージ」を処理するためのオーバヘッドは
最終的には独立したシステムコールを処理するオーバヘッドよりも小さくなる
でしょう。「エミュレーション層」はユーザランドプログラムが期待するものと
カーネルが期待するものを分離するブラックボックスの役割をするので、
移植性を確保することははるかに簡単になります。エミュレーション層は
カーネルといっしょに更新する(または後方互換性のあるバージョンを作る)
ことができるため、ユーザランドのバイナリからは移植性の問題は見えなく
なります。
加えて、メッセージパシングモデルが提供する利点を全て受けられます。
それはデバッグや他の目的のためにシステムコールに割込んだり、
たとえばセキュリティ環境のもとづいて特定クラスのシステムコールを
無効にしたり変更したりするといったセキュリティ層をカーネル内に
構築するというものです。
NGNG
新しいVFSモデル
(3rd par.)
i.e. → すなわち、つまり
(4th par.)
A messaging interface is preferable for many reasons, not the least of which
being that it makes stacking actually work the way it should work, as
independant and opaque elements which stack together to form a whole. For
example, with the new API a capability layer could be slapped onto a
filesystem that otherwise doesn't implement one of its own, and the enduser
would not know the difference. Filesytems are almost universally
self-contained entities. A message-based API would allow these entities to run
in userspace for debugging or even in a deployment when one absolutely cannot
afford a crash. Why run msdosfs or cd9660 in the kernel and risk a crash when
it would operate just as well in userland?
メッセージングインタフェイスは多くの理由から好ましいものです。特に
独立的で不透明な要素が積み重なって全体を形成するという、スタッキングが
本来すべき動作を実現するという点によるところが少なくありません。たとえば
新しいAPIでは、ファイルシステムが実装していない機能に対して機能層をあてがう
ことができ、エンドユーザにはその違いが分かりません。ファイルシステムは
大部分が自己完結型(注: 相互依存する別の要素を持たないという意味ね)の要素です。
メッセージベースのAPIではこれらの要素をデバッグのためにユーザランドで動作
させることを可能にしますし、また絶対にクラッシュしてはいけないような場合
にも威力を発揮します。msdosfsやcd9660がユーザランドでも同じように動作する
ならわざわざカーネルの中で動かしてクラッシュする危険にさらす必要はない
でしょう? ...
(3rd par.)
i.e. → すなわち、つまり
(4th par.)
A messaging interface is preferable for many reasons, not the least of which
being that it makes stacking actually work the way it should work, as
independant and opaque elements which stack together to form a whole. For
example, with the new API a capability layer could be slapped onto a
filesystem that otherwise doesn't implement one of its own, and the enduser
would not know the difference. Filesytems are almost universally
self-contained entities. A message-based API would allow these entities to run
in userspace for debugging or even in a deployment when one absolutely cannot
afford a crash. Why run msdosfs or cd9660 in the kernel and risk a crash when
it would operate just as well in userland?
メッセージングインタフェイスは多くの理由から好ましいものです。特に
独立的で不透明な要素が積み重なって全体を形成するという、スタッキングが
本来すべき動作を実現するという点によるところが少なくありません。たとえば
新しいAPIでは、ファイルシステムが実装していない機能に対して機能層をあてがう
ことができ、エンドユーザにはその違いが分かりません。ファイルシステムは
大部分が自己完結型(注: 相互依存する別の要素を持たないという意味ね)の要素です。
メッセージベースのAPIではこれらの要素をデバッグのためにユーザランドで動作
させることを可能にしますし、また絶対にクラッシュしてはいけないような場合
にも威力を発揮します。msdosfsやcd9660がユーザランドでも同じように動作する
ならわざわざカーネルの中で動かしてクラッシュする危険にさらす必要はない
でしょう? ...
NGNG
その割にはMachって流行んないよな(ぼそっ
NGNG
128125
NGNG >>127
うん。
GPLのライセンス表記の中には「A copy that is not "Transparent" is
called "Opaque".」という説明があるので透明でないということで
「不透明」と訳したけど。実際「opaque object」を不透明オブジェクトと
訳す例もあるみたいだけど、一語でいおうとするとしっくりこないよね。
うん。
GPLのライセンス表記の中には「A copy that is not "Transparent" is
called "Opaque".」という説明があるので透明でないということで
「不透明」と訳したけど。実際「opaque object」を不透明オブジェクトと
訳す例もあるみたいだけど、一語でいおうとするとしっくりこないよね。
129名無しさん@中学生英語
NGNGNGNG
>>125
> (4th par.)
文のつながりが一部いまひとつのように思うので、改善案。
あとユーザランドはユーザ空間の間違いだと思う。
メッセージングインタフェースは多くの点で優れています。
それは、スタッキングのあるべき姿である、独立なカプセル化された要素が積み
重なって全体を形成するということを実現したことによるところが少なくありません。
例えば、新しいAPIではファイルシステムに実装されていなかった機能の機能層をかぶ
せることができ、しかもエンドユーザには元から実装されていたときとの違いが
わかりません。
また、ファイルシステムはどれもほとんど例外なく自己完結したひとまとまりの
オブジェクトになっています。メッセージベースのAPIではこれらのオブジェ
クトをユーザ空間で動かすことができ、デバッグにも使えれば、クラッシュが
絶対許されない条件下の運用にも威力を発揮します。
msdosfsやcd9660がユーザ空間でも同じように動作するならわざわざカーネルの
中で動かしてクラッシュする危険にさらす必要はないでしょう?
> (4th par.)
文のつながりが一部いまひとつのように思うので、改善案。
あとユーザランドはユーザ空間の間違いだと思う。
メッセージングインタフェースは多くの点で優れています。
それは、スタッキングのあるべき姿である、独立なカプセル化された要素が積み
重なって全体を形成するということを実現したことによるところが少なくありません。
例えば、新しいAPIではファイルシステムに実装されていなかった機能の機能層をかぶ
せることができ、しかもエンドユーザには元から実装されていたときとの違いが
わかりません。
また、ファイルシステムはどれもほとんど例外なく自己完結したひとまとまりの
オブジェクトになっています。メッセージベースのAPIではこれらのオブジェ
クトをユーザ空間で動かすことができ、デバッグにも使えれば、クラッシュが
絶対許されない条件下の運用にも威力を発揮します。
msdosfsやcd9660がユーザ空間でも同じように動作するならわざわざカーネルの
中で動かしてクラッシュする危険にさらす必要はないでしょう?
NGNG
NGNG
Minix を思い出したのは気のせい?
NGNG
じゃあまたforkするのかしら。
NGNG
長期運用中の方、FreeBSD5.2.1より安定してますか?
NGNG
使ってる人いないの?
NGNG
使い続けてる人は少ないと思われ
試しに入れてみる人は多いだろうが
試しに入れてみる人は多いだろうが
NGNG
俺は手頃なマシンがなかったから、
VMwareにいれてmake worldをずっとしてるだけ。
VMwareにいれてmake worldをずっとしてるだけ。
NGNG
>>134
「安定」の定義にもよるが、たぶん安定はしていない。panicやフリーズなし
に動くかどうかはハードウェアによる。たとえばDragonFlyの日本語訳を
まとめようとしている はるかタン(たぶん男だよね)のマシンは時計が2倍速らしいし。
現状DragonFly-CURRENTは1-RELEASEよりはマシな状態だけど、いくらfork元が
FreeBSD 4.8-RELEASEでも結局 -CURRENTなのであっちが直ればこっちが壊れる
というようなことは覚悟の上でないと使えない。(でも-CURRENT trackerはそれが
楽しみで使ってるんだよね?)
俺のまわりで一番長く稼働しているのはDellのpen4デスクトップマシンで、
そいつはCVS repoの取得とXサーバを動かしているぐらい。ここ半年ぐらいは
panicやフリーズはなく、カーネル入れ替え時以外は無停止で運用中。いまの
uptimeはほぼ一ヶ月。マシン自体は2年前にFreeBSD 5-CURRENTで運用開始して
以来ほとんど電源つけっぱなしで動かしているんで、けっこう丈夫みたい。
「安定」の定義にもよるが、たぶん安定はしていない。panicやフリーズなし
に動くかどうかはハードウェアによる。たとえばDragonFlyの日本語訳を
まとめようとしている はるかタン(たぶん男だよね)のマシンは時計が2倍速らしいし。
現状DragonFly-CURRENTは1-RELEASEよりはマシな状態だけど、いくらfork元が
FreeBSD 4.8-RELEASEでも結局 -CURRENTなのであっちが直ればこっちが壊れる
というようなことは覚悟の上でないと使えない。(でも-CURRENT trackerはそれが
楽しみで使ってるんだよね?)
俺のまわりで一番長く稼働しているのはDellのpen4デスクトップマシンで、
そいつはCVS repoの取得とXサーバを動かしているぐらい。ここ半年ぐらいは
panicやフリーズはなく、カーネル入れ替え時以外は無停止で運用中。いまの
uptimeはほぼ一ヶ月。マシン自体は2年前にFreeBSD 5-CURRENTで運用開始して
以来ほとんど電源つけっぱなしで動かしているんで、けっこう丈夫みたい。
NGNG
>>134
FreeBSD-CURRENT よりは安定してます。 :)
クライアントで使ってると X 上げたらフリーズとか、Gtk ものをあげたらフリーズ
とか、しょっちゅうそんな感じです。サーバとしては使ったことないから、サーバ
としてどうかはわからんです。
# crater.dragonflybsd.org はちょっと前から DragonFly になってるらしい。
ま、 CURRENT ですから、安定を求めるのもどうかと。
FreeBSD-CURRENT よりは安定してます。 :)
クライアントで使ってると X 上げたらフリーズとか、Gtk ものをあげたらフリーズ
とか、しょっちゅうそんな感じです。サーバとしては使ったことないから、サーバ
としてどうかはわからんです。
# crater.dragonflybsd.org はちょっと前から DragonFly になってるらしい。
ま、 CURRENT ですから、安定を求めるのもどうかと。
NGNG
>>139
ビデオカードと使っているドライバは?
ビデオカードと使っているドライバは?
NGNG
>>140
MGA G400 で、 XFree86 4.3 ですが。
MGA G400 で、 XFree86 4.3 ですが。
NGNG
>>142 神!
レスを投稿する
ニュース
- 中国国営メディア「沖縄は日本ではない」… ★4 [BFU★]
- 小野田氏、”中国経済への依存“に警戒感 高市首相の国会答弁巡り [煮卵★]
- 【こんなの初めて…】民泊には既にキャンセルも 中国の渡航自粛で [ぐれ★]
- 台湾声明 「台湾は独立した主権国家、中国は台湾を統治したことがなく、中国は口出しする権利ない」 中国が高市首相に抗議で ★7 [お断り★]
- 日本が「世界で最も魅力的な国」1位に!✨「魅力的な都市」では東京が2位 「魅力的な地域」は北海道が7位に [煮卵★]
- 【サッカー】独占入手 最年長JリーガーにW不倫疑惑 『お風呂覗きたいんですが笑』LINE流出も… 慰謝料トラブルを本人に直撃 [冬月記者★]
- 日経平均、49000円割れ 国賊高市を許すな [402859164]
- 【高市速報】日本「中国さんお願い首脳会談させて!ねえってば!😭」 [931948549]
- とうすこ🏡愛され絵文字♡🤥👊😅👊👶♡
- 浜田省吾に「チェリーボーイ」って曲あったっけ? [369521721]
- 中国とのパイプ役がいない高市政権、実施詰みか [668970678]
- ネトウヨ、完全に終わる 「高市さんの『台湾が武力攻撃された場合』というのは『米中戦争が勃発した場合』って意味に決まってるだろ!」 [314039747]
