簡體   English   中英

Linux:如何從用戶空間與內核模塊進行通信

[英]Linux: How does communication with kernel module from user space happen

我正在閱讀《嵌入式Linux入門》一書和《 Linux內核模塊編程指南》,對用戶空間應用程序與內核模塊的通信感到困惑

用戶空間App->設備節點/進程文件->內核模塊(位於/ lib / modules /中)

1)當我們與設備節點方法(/ dev /-使用open,read,write,close調用)和/ proc / file方法進行通信時,有什么確切的區別?

應該為過程信息保留procfs/proc ),模塊不應在其中放置任何文件。 在某些時候, procfs是唯一可用的偽文件系統,這就是為什么您可以找到聲音系統或RTC信息的原因。 然后,創建了sysfs來正確包含這些信息。

使用設備文件(通常位於/ dev中)和來自procfs的文件之間的主要區別是在內核中對其進行處理的方式。

使用file_operations結構注冊用於設備文件的操作,通常使用字符設備的cdev_initcdev_add進行注冊。 您的模塊執行此操作的頻率可能不高,子系統是注冊設備的系統。

使用proc_create注冊procfs中文件的操作時

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM