簡體   English   中英

Windows 操作系統的 I/O 優先級

[英]I/O Prioritization of Windows OS

我正在學習 Jeffrey Richter Book(Windows via C/C++)。 在一節中,他談論了 I/O 優先級。 我現在知道什么是優先級,什么是優先級、優先級以及基本優先級。

我知道,我可以使用 SetPriorityClass 和 SetThreadPriority 更改進程和線程的優先級,但我無法理解 Windows 10 中的 I/O 優先級如何工作,或者優先級如何幫助我們微調與基於存儲的設備一起使用的應用程序性能緩慢。

例如,當我有一個與存儲設備一起工作的線程時,當我設置它的優先級 THREAD_MODE_BACKGROUND_BEGIN 時會發生什么? 能不能簡單解釋一下? 我也完全閱讀了這篇論文( 鏈接),但我無法理解 I/O 的優先級。

正如那篇論文中所指出的,由 I/O 設備驅動程序根據線程優先級來處理優先級,在該論文中,只有兩個級別,正常和后台,設備驅動程序可能會忽略它們。

設備驅動程序可以通過兩個 I/O 請求隊列實現兩個級別的優先級,一個用於普通優先級,另一個用於后台優先級。 驅動程序還可以包括通過偶爾根據時間或請求計數處理來自后台隊列的請求來防止正常隊列完全鎖定后台隊列的邏輯,即使正常隊列不為空。

論文是舊論文,指的是Vista。 到目前為止,對於 Windows 10,可能有兩個以上的 I/O 優先級級別。

暫無
暫無

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

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