At Thu, 4 Mar 2004 15:56:21 +0900, Yoshihiro Kawabe wrote: > で、元々話題がドライバレベルとユーザ空間上で動作している状態のアプリケー > ションとのインターフェイスと言うことだったので、カーネルAPIとして、 > Unix系には欠ているなんらかの新しいインターフェイスがあるのかと思いまし > た。 私は kernel space と user space の境界の話ではなく、 デバドラとカーネルの他の部分との境界と API の話だと 思ってました。中間になんらかのフレームワークがあらかじめ 用意されていれば、それを利用するのが自然だからです。 // Network I/F などはその部分は悩みようがない。 > Naoto> Unix でも、kernel から userland への up call を用いて > Naoto> スレッドのプリエンプション等を実装している例はあります。 > Naoto> もっとも up call を API として使用している例は知りません。 > > これは、signalのことですか? いいえ。Scheduler Activations です。 もちろん、ここで使われている up call は API ではありません。 > Linuxのドライバでも、Sound系(OSSもALSAも)やV4L、IEEE1394(rawやDVとか)、 > SCSI Generic などのドライバは、 mmap のためのインフラはこれらに限らずどんなドライバでも利用できます。 実際去年仕事で mmap とスキャッタギャザ DMA で限りなくゼロコピーな ドライバを実装しましたが、大変簡単に実装できて楽でした。 > で、イベ > ントの発生をSIGIOにすると、雰囲気だけはおっしゃられている様な感じに見 > えるインターフェイスになります。 でも SIGIO を待つのに、結局 select を使うハメになりませんか? signal hander から個別の event handler を直接ディスパッチ するのはいくらなんでもやらないでしょうから。 -- Naoto Shimazaki
Follow-Ups:
- [linux-users:102097] Re: 組込Linuxドライバの作成方法Yoshihiro Kawabe
- [linux-users:102074] Re: 組込Linuxドライバの作成方法Naoto Shimazaki
- [linux-users:102077] Re: 組込Linuxドライバの作成方法Yoshihiro Kawabe
- [linux-users:102078] Re: 組込Linuxドライバの作成方法Naoto Shimazaki
- [linux-users:102083] Re: 組込Linuxドライバの作成方法Yoshihiro Kawabe
- Prev by Subject: [linux-users:102094] Re: 組込Linuxドライバの作成方法
- Next by Subject: [linux-users:102096] Re: 組込Linuxドライバの作成方法
- Previous by thread: [linux-users:102083] Re: 組込Linuxドライバの作成方法
- Next by thread: [linux-users:102097] Re: 組込Linuxドライバの作成方法
- Indexes:[Main][Thread]