2011-07-03 6 views
2

물론 Mac에서 파일을 읽는 데 사용할 수있는 fopen 또는 기타 많은 API를 사용할 수는 있지만 가능한 한 효율적으로 디스크의 모든 파일을 열고 읽어야합니다.디스크에서 파일을 직접 읽는 방법?

내 생각에/dev/rdisk * (?) 또는/dev/(?)를 사용하여 장치의 시작 부분에있는 파일로 시작하는 것이 좋습니다. 디스크에 표시되는 순서대로 파일을 읽으려면 최선을 다할 것입니다. 파일이 조각화 될 수 있으므로 장치에서 검색하는 양을 최소화하고 대량의 데이터 블록을 RAM으로 읽어 와서 매우 빠르게 처리 할 수 ​​있습니다.

그래서 내 장치에서 직접 데이터를 읽을 때 가장 중요한 질문은 데이터가 어떤 파일에 속하는지 정확히 알 수있는 방법입니다.

파일 카탈로그를 읽는 것으로 시작할 수 있으며 디스크의 파일 또는 파일 조각의 시작 및 중지 위치를 결정할 수있는 방법이 있다고 가정하지만 디스크의 파일 또는 파일 조각 위치를 확인하는 방법은 어디일까요? 그러한 정보를 얻으려면 ...?

Mac OS X 10.6.x를 실행 중이며 드라이브의 표준 설정을 가정 할 수 있습니다. 디스크 유틸리티에서 만든 표준, 읽기 전용, 압축되지 않은 .dmg에도 동일한 정보가 적용된다고 가정 할 수 있습니다.

이 주제 또는 읽을 기사에 대한 모든 정보가 중요합니다.

디스크에있는 파일의 형식과 레이아웃을 이해하고 나면 내가하고 싶은 일을 상상할 수 없습니다.

(1) 다음 블록은 당신 때문에, 같은 파일에 속한다는 것을 보장 할 수 없습니다 당신이, 당신이

코멘트에서 언급 한 바와 같이
+3

이것은 완전히 잘못된 길입니다. 왜 파일 시스템의 포맷과 레이아웃을 스스로 해결 했는가? – pavium

+0

약간의 요점 : 어떤 이유로 모든 파일을 열어야합니까? 건전한 접근법이있을 수 있습니다. –

+0

파일의 형식을 이해할 필요가 없습니다 ... 해시 알고리즘을 통해 전달되는 바이트 만 읽으면됩니다. 그러나 디스크의 파일 레이아웃을 알아야합니다. 아마도 이것이 조각 모음 응용 프로그램의 작동 방식 일 수 있기 때문에 가능하다고 가정합니다. 필자는 장치의 모든 파일을 읽을 필요가 있습니다. – ericg

답변

0

, 당신은 그러나 원시 디스크를 순차적으로 읽어의 file system format 볼 필요 감사합니다/dev/device에서 직접 읽는 데 따른 이점을 줄이기 위해 탐색해야 할 수도 있습니다. (2) 디스크가 50 % 꽉 차 있다면 읽는 것처럼 디스크의 100 %를 읽을 수도 있습니다. 할당되지 않은 공간과 파일에 할당 된 공간, 따라서/dev/device로부터 직접 준비된 공간이 효율적일 수도 있습니다.

그러나 fsck와 유사하게이 작업을 수행하지만 파일 시스템을 복구 할 때 가능한 오류를 중재하여 수행합니다.