簡體   English   中英

如何使用linux內核一次進行多個系統調用?

[英]How do I make many system calls at once with the linux kernel?

我想知道是否可以僅用一個開關開銷就可以同時進行大量系統調用。 我需要這樣做是因為我需要同時進行多個(128)系統調用。 如果我可以做到這一點而無需在內核和用戶態之間切換256次以上,那么我認為它可以使我的(速度敏感)庫大大加快。

您真的不能從應用程序中做到這一點。 可以做的是構建一個可加載的內核模塊,該模塊實現這些操作並提供一個簡單的API-然后您可以一次更改上下文,完成所有工作並返回。

但是,與大多數此類優化問題一樣,首先要問的是“您為什么認為這是必要的?” 您有時間信息等嗎? 你有沒有簡介? 您實際上有多少個性能問題,額外的復雜性值得提高嗎?

我認為Linux不會很快支持syscall鏈接。 您可能會有更多運氣在另一個內核上實現並移植您的應用程序。

也就是說,編寫代理為您完成內核空間中的工作並不難,但不要期望它會在上游被合並。 我從事實時工作,我們有類似的解決方案,但是由於支持問題,所以從未在生產中使用過:/。

暫無
暫無

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

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