OS가 파일 시스템에서 파일을 찾는 방법이 궁금합니다.
예를 들어 FAT 파일 시스템에는 파일 DB가 있다는 것을 알고 있습니다.
OS가 파일을 매우 빠르게 찾는다는 것을 알고 있으므로
이진 검색을 사용하여 FAT 데이터베이스를 통과하는지 알고 싶습니다.
아니면 더 빠른 방법이 있나요?
그리고 OS가 FAT 데이터베이스를 검색하지 않고 바로 파일 시스템의 파일 위치를 추론할 수 있는 방법이 있나요?
답변1
솔직히... 이 질문에는 답변이 많습니다... 여기에 열거하기에는 너무 많습니다. 크게 이는 다음에 따라 달라집니다.유형파일 시스템... 및 이를 읽는 OS... 그리고 파일 시스템의 어떤 기능이 활성화되어 있는지도 알 수 있습니다.
모든 파일 시스템에는 이름/경로를 디스크의 하나 이상의 위치로 변환하기 위해 설명된 일종의 "데이터베이스"가 있습니다. 이 "데이터베이스"가 작동하는 방식은 각 파일 시스템을 다르게 만듭니다. 일부 방법은 다른 작업보다 일부 작업에 더 좋습니다. 일부는 오류가 발생한 경우 더 복구 가능하고 중복됩니다. 일부는 엄격하게 속도에 맞춰져 있으며 단일 오류가 발생한 경우 복구가 거의 없습니다.
OS 및 파일 시스템 유형에 따라 "데이터베이스"는 디스크에서 위치를 찾는 프로세스 속도를 높이기 위해 RAM에 부분적으로 또는 완전히 로드될 수 있습니다. 일부 파일 시스템은 파일을 빠르게 찾기 위해 연결된 목록, B-트리 또는 기타 유형의 정렬된 트리를 사용합니다. 저널링은 또한 읽기/쓰기 프로세스 속도를 극적으로 향상시킬 수 있습니다(올바른 조건이 주어지면). 실제로 데이터베이스인 파일 시스템(대부분 독점)도 있습니다.
진짜 질문은... 왜 알고 싶나요... 그리고 무엇을 성취하려고 합니까? 더 구체적인 답변을 원하시면... 귀하가 말하는 OS/플랫폼/파일 시스템에 대해 더 구체적으로 알려주십시오.