川辺と申します。 質問しておいて非常に申し訳ないのですが、これと言って目新しいカーネル API があるわけでは無いのですね。 同一仮想空間(データアクセスもフェッチも可能な)でのものなら、対した手間 も無くどういうInterfaceでも作れてしまいますよね。(まぁ、並列処理の排他 などいくつか手間はありますが) で、元々話題がドライバレベルとユーザ空間上で動作している状態のアプリケー ションとのインターフェイスと言うことだったので、カーネルAPIとして、 Unix系には欠ているなんらかの新しいインターフェイスがあるのかと思いまし た。 >>>>> "Naoto" == Naoto Shimazaki <igy@xxxxxxxx> writes: Naoto> Unix でも、kernel から userland への up call を用いて Naoto> スレッドのプリエンプション等を実装している例はあります。 Naoto> もっとも up call を API として使用している例は知りません。 これは、signalのことですか? # あれは、実装上、up call とは掛け離れてますね。 どうせなら、具体的なものが知りたかったですね。 Linuxのドライバでも、Sound系(OSSもALSAも)やV4L、IEEE1394(rawやDVとか)、 SCSI Generic などのドライバは、mmapベースのインターフェイスを使ってデー タのやり取りは特別な転送(copy_to_userとか)を使わ無く出来ます。で、イベ ントの発生をSIGIOにすると、雰囲気だけはおっしゃられている様な感じに見 えるインターフェイスになります。が、普通は、mmapを使ってもイベントは、 poll/select もしくは、待つための ioctl を使うと思いますが。 sgドライバなんか結構面白いと思います。 -------- Kawabe,Yoshihiro <ripula@xxxxxxxxxxxxxxx> Who is calling me from where? Knock on my shell and my mind? from Pearl song.
Follow-Ups:
- [linux-users:102095] Re: 組込Linuxドライバの作成方法Naoto Shimazaki
- [linux-users:102074] Re: 組込Linuxドライバの作成方法Naoto Shimazaki
- [linux-users:102077] Re: 組込Linuxドライバの作成方法Yoshihiro Kawabe
- [linux-users:102078] Re: 組込Linuxドライバの作成方法Naoto Shimazaki
- Prev by Subject: [linux-users:102082] Re: 組込Linuxドライバの作成方法
- Next by Subject: [linux-users:102084] Re: 組込Linuxドライバの作成方法
- Previous by thread: [linux-users:102096] Re: 組込Linuxドライバの作成方法
- Next by thread: [linux-users:102095] Re: 組込Linuxドライバの作成方法
- Indexes:[Main][Thread]