[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:19052] Re: システムコールの追加



大仁田です。

On Thu, 18 Nov 1999 01:03:52 +0900
Akihito Hayashi -san <akihito@xxxxxxxxxxxxxxxxx> wrote:
> この方法で実現したいんです。というのもこれはまだ途中段階なんです。
> 最終的にはUDPで送られてきたものをカーネルで捕まえて

けっきょくのところ kernel で実現したいのは、このためと言うことでしょうか。
単純に UDP のデータを捉えるだけであれば、port が分かっているのなら、
kernel が処理する必要が無いのはお分かりですよね。

通常 kernel が処理する必要があるのはかなり低レベルなサービスを処理しなく
てはならない場合で、例えば IP Router や IP Masquerade などのような機能だ
と思っています。

もし目指している機能がこれに近いものであれば、それもいいのかもしれません
が、ただ逆に実装としては System Callのような単発のイベントで処理できるよ
うな形態にはなじまないような気もしますが、いかがでしょうか。System Call 
で処理できると言うことは、あらかじめ来ることがある程度分かっていると言う
ことで、それであれば kernel が処理するほどのレベルではないような感じがし
ています。まあ、これはあまり自信はないんですけど。

それに、パケットを処理するのであれば、確かそのための I/F が カーネルに用
意されています(CONFIG_NETLINK だったかな?)から、これを使うのも手だと思い
ます。(これってそういう目的にあるんですよね? 違ったらすみません)

> そのままユーザのメモリにデータを置く。というとこまで先にすすまねばなりま
> せん。そのデータの中身は、プロセスIDとデータを置くアドレスと実際のデータ
> が含まれる予定です。

これは、目標とする機能に対して既に実装方法まで落としたものを説明して頂い
ていると思えたのですが、本来実現したい機能に戻って、もう一度実装を考えて
みてもいいのではないでしょうか。

# 何にしろ kernel の改造はかなり骨だと思います。楽できればそれが一番。

---
大仁田弘喜  (株)マルゴシステム
nita@xxxxxxxxxx