2013-07-18 36 views
0

我是Linux內核開發的新手。我讀過I/O端口可能是ioremap虛擬內存地址空間。操作HDD的芯片緩存

HDD的規格之一是緩存 - 32MB/64MB並不少見。

這是我的問題:

驅動程序開發人員應該如何處理這種緩存?

它們對於開發者來說是否透明?

或者我們應該將這些緩存映射到內核地址空間,以便我們可以直接使用它們嗎?

任何解釋/源代碼將不勝感激。

回答

1

HDD上的高速緩存是物理上位於驅動器內的RAM(位於SATA/PATA/USB電纜之下),因此不屬於位於主板上的RAM的一部分。

TBH,如果您正在使用這個掙扎,我會推薦的東西有點簡單,因爲你的第一個內核黑客:-)

+0

尼爾,什麼我問的是有關虛擬內存空間。 I/O總線端口可以映射到虛擬內存地址。他們如何處理硬盤上的緩存?它是否映射到虛擬內存空間? – Qylin

+0

硬盤上的內存高速緩存和主板上的內存之間沒有物理或虛擬連接,它全部在驅動器電纜下完成。如果您認爲硬盤緩存是一臺單獨的PC(通過網線連接),那麼無法通過虛擬尋址將RAM從該PC映射到本地PC上? – Neil