アカウント名:
パスワード:
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
普通のやつらの下を行け -- バッドノウハウ専門家
NetBSDって…移植できるのか? (スコア:4, 興味深い)
メモリ保護(プロテクトモード)のないCPUで動くようなものなんでしょうか。
# というか、多分動かない(W
# H8マイコンでも動かせるLinuxはあるが、NetBSDは無いでしょ。
# SH-2 以下で動くNetBSDも聞いた事がない。
μCLinuxってのは基本的にfork()(プロセス)じゃなくて、clone()(スレッド)だけで
プログラムを並列動作させています。
(だからサーバとかのプログラムは多くの場合、書き換え必須)
プロセスを廃し、全部スレッドで扱うから、MMUがなくても大丈夫、
全て共有メモ
Re:NetBSDって…移植できるのか? (スコア:5, 参考になる)
なんか誤解がある様なので。
>μCLinuxってのは基本的にfork()(プロセス)じゃなくて、clone()(スレッド)だけで
>プログラムを並列動作させています。
>(だからサーバとかのプログラムは多くの場合、書き換え必須)
>
>プロセスを廃し、全部スレッドで扱うから、MMUがなくても大丈夫、
>全て共有メモリ空間で動くから問題ないというシロモノだったはず。
>要するに、アドレス変換&メモリ保護の機能がないので…。
プロセスもちゃんとあります。
親子が同じメモリ空間を共有する事は出来ないのでvforkしか実装されていま
Re:NetBSDって…移植できるのか? (スコア:1)
fork は MMU が無いと きちんと実現できない、
vfork は fork が無くても、 clone を使って実現できる。
だから
> 「μCLinuxは本家のLinuxともかなり動作が違っていて特殊である」
> forkして複数の要求を処理する事は不可能なので、そういったプログラ
Re:NetBSDって…移植できるのか? (スコア:1, 参考になる)
しかしながら、MMU がないマシンで fork しようと思うと、
すべてのアドレスをリロケート可能な形で保持する必要があるので、
コンパイラのサポートが必要になります。
# データポインタが動的にリロケートされるので、
# PIC 程度では足りません。
# デマンドページングなんて贅沢なことは言わないので、
# 原始的な MMU でもあれば違うんですけどね。
# (セグメントレジスタ程度でよい)
vfork の場合、子が execve するまでは親の動作がブロックするので、
その隙に子がすぐに execve してしまえば、そこで新しいメモリマップが
生成されるため、静的なリロケーションか PIC で十分です。
ただ、vfork を用意するくらいなら、最初から spawn システムコールを
用意したほうがよい、という話もあります。