アカウント名:
パスワード:
Linus氏って怒ってばっかりいるような気がする。
# エアコンの壊れた車に乗って、渋滞にはまってしまわないように祈らなくては...
> Linus氏って怒ってばっかりいるような気がする。
わりと同感なんだけど、この件に関してはLinusが正しいよ。デバイスドライバのバイナリ互換性を壊さないように頑張って維持してるのに、誤解から「デバイスドライバのバイナリ互換性を捨てた」なんて書かれたら、そりゃ怒るでしょ。
デバイスドライバのバイナリ互換性を維持しているなんて、struct file_operationsのメンバーを変更して非互換をつくっておいて、よくもそんなことが言えたもんだ。
ああ、ioctl()の件ね。
それまで、linux/fs.hstruct file_operations {(略)int (*ioctl) (struct inode *, struct file *, unsigned int, unsigned long);(略)}だったのを、
linux/fs.hstruct file_operations {(略)long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long);long (*compat_ioctl) (struct file *, unsigned int, unsigned long);(略)}というように変更して、ドライバに対するAPIを変更したことがありましたね。
確か、
それ、ユーザーランドに対するABI互換性じゃなくて、DDI/DKI互換性(デバイスドライバのカーネル内バイナリ互換性)の件でしょう。
LinuxカーネルははABI互換性は保証してくれてるけど、DDI/DKI互換性はまったく保証してくれない。その点については、確かにWindowsやら商用UNIXやらと比べて劣ってるんだけど、それはLinuxの歴史の最初っからそうだったわけで、Miguel氏のように「when he dismissed binary compatibility for device drivers」って表現は変でしょ。dismissっていうと、それまでは存在したものを止めるってニュアンスだけど、そもそもDDI/DKI互換性なんてものは最初から存在しないわけで。
ABI互換性とDDI/DKI互換性は全然別の話なので、それを混同してもらっては困ります。DDI/DKI互換性がないことはLinus自身も当然承知なので、Linusが主張しているのはABI互換性があるってことですよ。
というわけで、Miguel氏が変なこと言ってることにも変わりないです。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
※ただしPHPを除く -- あるAdmin
最近 (スコア:1)
Linus氏って怒ってばっかりいるような気がする。
# エアコンの壊れた車に乗って、渋滞にはまってしまわないように祈らなくては...
Re: (スコア:1)
> Linus氏って怒ってばっかりいるような気がする。
わりと同感なんだけど、この件に関してはLinusが正しいよ。
デバイスドライバのバイナリ互換性を壊さないように頑張って維持してるのに、
誤解から「デバイスドライバのバイナリ互換性を捨てた」なんて書かれたら、
そりゃ怒るでしょ。
Re: (スコア:0)
デバイスドライバのバイナリ互換性を維持しているなんて、struct file_operationsのメンバーを変更して非互換をつくっておいて、よくもそんなことが言えたもんだ。
Re: (スコア:0)
ああ、ioctl()の件ね。
それまで、
linux/fs.h
struct file_operations {
(略)
int (*ioctl) (struct inode *, struct file *, unsigned int, unsigned long);
(略)
}
だったのを、
linux/fs.h
struct file_operations {
(略)
long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long);
long (*compat_ioctl) (struct file *, unsigned int, unsigned long);
(略)
}
というように変更して、ドライバに対するAPIを変更したことがありましたね。
確か、
Re:最近 (スコア:0)
それ、ユーザーランドに対するABI互換性じゃなくて、
DDI/DKI互換性(デバイスドライバのカーネル内バイナリ互換性)の件でしょう。
LinuxカーネルははABI互換性は保証してくれてるけど、
DDI/DKI互換性はまったく保証してくれない。
その点については、確かにWindowsやら商用UNIXやらと比べて劣ってるんだけど、
それはLinuxの歴史の最初っからそうだったわけで、
Miguel氏のように「when he dismissed binary compatibility for device drivers」って
表現は変でしょ。
dismissっていうと、それまでは存在したものを止めるってニュアンスだけど、
そもそもDDI/DKI互換性なんてものは最初から存在しないわけで。
ABI互換性とDDI/DKI互換性は全然別の話なので、それを混同してもらっては困ります。
DDI/DKI互換性がないことはLinus自身も当然承知なので、Linusが主張しているのは
ABI互換性があるってことですよ。
というわけで、Miguel氏が変なこと言ってることにも変わりないです。