나는 그것이 정확히 어떻게 작동하는지 아직도 혼란스러워합니다.
이것은 Linux 시스템을 실행하는 컴퓨터에 SD 카드를 연결할 때 제가 이해한 것입니다(가장 잘못된 세부 사항은 자유롭게 수정해 주십시오).
Linux는 SD 카드에 저장된 식별자를 통해 장치가 SD 카드인지 여부를 식별합니다. 이 식별자 외에도 카드 읽기 및 쓰기 작업을 담당하는 SD 카드 컨트롤러가 있습니다.
Linux에서는 SD 카드가 SD 카드에 설치됩니다 /dev
. 그런 다음 SD 카드 드라이버가 커널에 로드되고 장치 파일과 함께 사용됩니다. 이 SD 카드 드라이버는 SD 카드의 SD 카드 컨트롤러에 쓰기 및 읽기를 담당합니다.
이제 SD 카드를 포맷하고 특정 파일 시스템(예: FAT32)을 사용하려는 경우 이 파일 시스템 컨트롤러 코드는 어디에서 제공됩니까? 카드에 기록되나요, 아니면 Linux 컴퓨터에만 기록되나요? 미리 감사드립니다.
답변1
FAT는 데이터 구조를 정의한다는 점에서 JPEG와 유사한 형식입니다. 구조는 이를 작성하는 데 사용된 장치에 의존하지 않으며(따라서 "Linux 시스템에서만"이 아님) 파일 시스템 식별자와 주소 테이블은 fs를 사용할 수 있도록 포맷된 파티션에 기록되므로 다음과 같은 것이 맞습니다. 데이터가 카드에 기록되었다고 말합니다. SD 카드의 커널 수준 읽기에서는 특정 프로토콜(SD 또는 SPI)을 사용하여 디코딩된 비트를 처리하고, (주소 테이블을 읽어) 원시 데이터를 이해하는 것은 소프트웨어 패키지(드라이버)에 달려 있습니다. 귀하의 질문은 약간 불분명하지만 요약하면 커널 모듈을 사용하여 SD에서 원시 데이터를 읽을 수 있으며 소프트웨어 드라이버는 이를 사람이 읽을 수 있는 방식으로 구성합니다.