2013-07-18 1 views
0

저는 리눅스 커널 개발의 초보자입니다. 나는 I/O 포트가 가상 메모리 주소 공간에 ioremap 일 수 있음을 읽었다.는 HDD의 칩 캐시를 조작합니다.

HDD의 사양 중 하나는 캐시입니다. 32MB/64MB는 드물지 않습니다.

여기 내 질문입니다 :

어떻게 드라이버 개발자는 캐시를 처리해야합니까?

개발자에게는 투명합니까?

아니면 우리가 커널 주소 공간에 맵핑하여 직접 사용할 수 있습니까?

모든 설명/소스 코드는 인정 될 것입니다.

답변

1

HDD의 캐시는 물리적으로 드라이브 내부에 있으며 (SATA/PATA/USB 케이블 아래에있는) RAM이므로 마더 보드에있는 RAM의 일부가 아닙니다. 당신이 고민하는 경우

TBH는, 나는 내가 부탁 해요하면 가상 메모리 공간에 관한 것입니다,

+0

닐 :-) 첫 번째 커널 해킹 조금 간단한 무언가를 추천 할 것입니다. I/O 버스 포트는 가상 메모리 주소에 매핑 될 수 있습니다. HDD에서 캐시를 어떻게 처리합니까? 가상 메모리 공간에 매핑됩니까? – Qylin

+0

HDD의 메모리 캐시와 마더 보드의 메모리 사이에는 물리적 또는 가상 연결이 없으며, 모두 드라이브 케이블을 통해 이루어집니다. HDD 캐시가 별도의 PC (네트워크 케이블로 연결됨)라고 상상한다면, 가상 어드레싱을 통해 해당 PC의 RAM을 로컬 PC에 매핑 할 방법이없는 것입니까? – Neil