簡體   English   中英

內核可以啟動寫入順序文件嗎?

[英]Can kernel initiate write to sequential file?

我的理解是,順序文件(由struct seq_file表示)是在內核和用戶進程之間傳輸數據的接口,而磁盤上文件沒有任何物理表現。 當用戶讀取順序文件(假定它是可讀的)時,關聯的內核讀取功能會將數據傳輸到緩沖區(接口已分配該緩沖區),然后從中讀取用戶進程。

我的問題:內核可以在沒有用戶空間任何初始化的情況下調用read函數嗎?

我的目標:我希望用戶進程在更改特定順序文件時等待inotify事件。

如果我的理解是錯誤的,請糾正我。 謝謝。

Seq_files主要用於用戶空間從/ proc讀取的批處理模式。 seq文件接口將/ proc文件的內容視為一系列對象。 如果有來自用戶的讀取請求,例如讀取日志緩沖區,與進程和內存有關的靜態/動態信息,則內核會調用相關的讀取請求並將其放入用戶緩沖區,因此需要來自用戶空間的要求。

我也不確定您的通知目的。 通常,內核並不關心登錄的信息用戶是否從/ proc讀取的信息是否是最新的。 我不在乎,我的意思是它不保留任何版本。 典型的例子是執行ls 列出目錄內容時,情況可能會發生變化。 內核在特定時間繼續讀取目錄的快照,盡管它是在讀取之后並在顯示給用戶之前立即更新的。

暫無
暫無

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

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