파일 시스템 작업은 커널의 기능입니까?

파일 시스템 작업은 커널의 기능입니까?

질문은 OS에 따라 다를 것이라고 생각하므로 다음 시나리오를 사용하겠습니다.

  • 윈도우(NTFS)
  • OSX(HFS)
  • 리눅스(ext2,ext3,ext4)

각 운영 체제에는 운영 체제를 운영하는 기본 파일 시스템이 있습니다(OSX에서는 한 가지 선택만 가능하다고 생각합니다). 나는 OS가 다른 파일 시스템을 읽을 수 있는 몇 가지 유틸리티를 발견했습니다.아니다커널과는 별개로), 다음과 같은 생각이 들었습니다. 파일 시스템 작업이 드라이버의 기능(예: 잠재적으로 모듈식)인가요, 아니면 실제로 커널과 별개인가요?

답변1

Linux에서는 커널을 직접 컴파일할 때 모듈로 분리되거나 커널 내에서 사용 가능한 각 파일 시스템(예: ext2, ext3, ext4, reiserfs 또는 JFS)에 대한 지원을 컴파일하는 옵션이 있습니다. 모듈로 컴파일할 때 작동하는지 시도하지는 않았지만 부팅 파티션의 파일 시스템에서는 작동하지 않지만 다른 파일 시스템에서는 작동할 수 있다고 가정합니다.

Windows나 OSX에 대해서는 전혀 모릅니다.

답변2

Windows에서는 두 가지 모두지방그리고NTFSfastfat.sys파일 시스템은 및 에서 로드된 장치 드라이버로 커널 내부에서 구현됩니다 . ntfs.sys둘 다 에 있습니다 \Windows\System32\drivers.

Windows 커널 FAT 파일 시스템 구현Windows 커널 NTFS 파일 시스템 구현

답변3

Linux 및 OSX의 경우(Windows에 대해서는 잘 모르겠습니다) 다음을 살펴보세요.사용자 공간의 파일 시스템그리고맥퓨즈. 이를 통해 FS 구현을 커널이 아닌 사용자 공간 드라이버로 작성할 수 있으며 이는 당연히 훨씬 덜 위험합니다.

관련 정보