ドライバがユーザー空間とデータを交換する方法

ドライバがユーザー空間とデータを交換する方法

2つの質問があります。

(A)ユーザースペースとデータを交換するためにLinuxデバイスドライバで使用できるさまざまなオプションを識別しようとしています。

私が知っている一般的なアプローチcopy_from_user()はとですcopy_to_user()。 ~から質問SOでは、他のオプションとしては、、、netlinkがあります。オプションの完全なリストを説明するリソースと、そのオプションを使用することが適切な時期を知っている人がいるかどうか疑問に思います。ioctlsysfsprocfsconfigfs

(B) また質問があります。 Linuxのドライバタイプは、ユーザースペースとのデータ交換を可能にするオプションに関連していますか?

オンライン検索では、ドライバの種類を文字、ブロック、PCI、USB、ネットワーク、TTYで識別できます(このリストが完全であるかどうかわからない)。ドライバの種類とデータがユーザー空間とどのように交換されるかとの間にどのような関係があるのか​​、それとも独立しているのかを尋ねたいと思います。

ベストアンサー1

実際、これらのAPIcopy_from_user()copy_to_user()文字ドライバで見つけることができます。 sysfsプロパティを使用して、データカーネルをユーザースペースに共有できます。

おすすめ記事