filesystems
때때로 이러한 디렉토리는 마운트 포인트이기 때문에 때때로 로 지칭합니다 . 당신이 물었던 유일한 질문에 대해 ...
filesystem
두 가지 다른 것을 참조 할 수 있습니다 ... 또는 실제로 같은 두 가지 매우 다른 측면을 참조하십시오.
- 저장 매체에서 데이터를 구성하는 데 사용되는 논리적 구조.
- 프로세스에서 데이터에 대한 통합 액세스를 제공하기 위해 OS에서 사용하는 방법론.
파일과 디렉토리의 개념은 은유입니다. 컴퓨터에는 데이터 만 있고 모든 미디어는 데이터를 보유 할 수있는 장치 일뿐입니다. 일부 장치는 데이터 읽기 및 쓰기 (예 : HDD)를 허용하고 다른 장치는 데이터 읽기 (예 : CD-ROM) 만 허용하며 데이터 쓰기 만 허용하는 장치 (예 : 프린터)도 있습니다. 우리는 파일과 디렉토리 메타포를 사용하여 데이터를 구조화하여 동시에 모든 것보다는 작은 양의 데이터에 액세스 할 수 있습니다.
스토리지 미디어 (ext4, xfs, fat)에 넣은 파일 시스템은 구조화 부분을 수행합니다. 이를 사용하여 데이터 청크 (파일)에 레이블을 배치하고 모든 레이블 (디렉토리)의 일관된 구조화 된 목록을 갖습니다. 구조화 된 목록은 실제로 나무입니다. 가장 중요한 측면은 나무가 시작부터 정확히 하나의 뿌리를 가지고 있다는 것입니다. 이 구조를 유지하고 데이터를 액세스 가능하게 유지하는 것은 매우 중요한 작업이므로 파일 시스템의 특성이 한 가지가 아닙니다.
파일 시스템의 다른 측면은 스토리지 장치에 저장된 데이터를 모든 프로그램에서 액세스 할 수있게하는 것이 OS의 역할이라는 것입니다. 이것은 두 가지로 수행됩니다.
OS는 파일 및 디렉토리에 액세스하고 상호 작용할 수있는 정확히 하나의 프로그래밍 인터페이스를 제공합니다. 프로그램 / 프로세스의 경우 저장 장치의 파일 시스템이 ext2, xfs, fat 등 무엇이든 중요하지 않습니다. 프로그램 / 프로세스는 파일과 디렉토리에 균일 한 방식으로 액세스합니다.
OS는 모든 스토리지 미디어, 즉 파일 시스템을 하나의 상위 구조로 구성합니다. 프로그램은이 상위 구조를 통해 파일과 디렉토리에 액세스하며 저장 장치와 직접 상호 작용할 필요가 없습니다. 이렇게하면 프로그램이 데이터가 실제로있는 장치를 신경 쓸 필요가 없습니다. 이 상위 구조는 종종 커널의 "가상 파일 시스템"이라고합니다.
저장 장치의 파일 시스템을 가상 파일 시스템에 추가하는 것을 파일 시스템 "마운팅"이라고합니다. Linux가 시작되면 커널은 가상 파일 시스템 (VFS)을 만듭니다. 작성 직후에는 비어 있으며 시작점 (일명 루트)만으로 구성됩니다 /
. 그런 다음 커널은 파일 시스템을 VFS의 루트에 마운트합니다. 이것은 램 디스크이거나 하드 드라이브의 파티션에있는 파일 시스템입니다. VFS의 루트에 추가 될 때이 파티션은 종종 루트 파일 시스템이라고합니다.
이제 스토리지 라인의 파일 시스템과 커널의 VFS는 실제로 동일한 OS 작업의 두 가지 측면이라는 것을 알 수 있습니다. 루트 파일 시스템을 마운트하면 VFS에는 많은 파일과 디렉토리가 포함됩니다. 루트 파티션에 존재합니다. 그러나 모든 디렉토리는 "마운트 포인트"가 될 수 있습니다. 마운트 지점은 VFS가 시작 지점을 저장 장치의 파일 시스템에 저장하는 곳입니다. 즉, 파일 시스템을 디렉토리에 마운트 할 때마다 해당 디렉토리에 저장된 데이터에 액세스하는 대신 다른 스토리지 장치의 데이터에 액세스한다고 VFS에 알립니다. 마운트 지점은 일반적으로 빈 디렉토리이므로 다른 파일 시스템을 맨 위에 마운트하여 데이터에 액세스 할 수 없도록합니다.
OS를 설치할 때 모든 데이터를 하나의 파일 시스템에 넣은 다음 루트 파일 시스템이되는지 또는 여러 파일 시스템간에 데이터를 분할할지 여부는 사용자에게 달려 있습니다. 후자는 OS가 모든 개별 파일 시스템을 마운트하여 모든 데이터에 액세스 할 수 있어야합니다. 분할하는 방법은 시스템을 설계하는 방법에 대한 문제입니다. 설치에서 알고있는 디렉토리를 파일 시스템이라고하는 이유가 있습니다.
일반적으로 집에있는 컴퓨터의 경우 더 이상 여러 파일 시스템으로 설치를 분할 할 필요가 없습니다. 그렇게하는 데에는 여전히 충분한 이유가있을 수 있지만 이것은이 게시물의 범위를 벗어납니다.
이 게시물의 나머지 부분을 짧게 유지하려면 : 파티션은 저장 장치의 데이터를 구성하는 또 다른 방법입니다. 파티션을 사용하면 물리적 스토리지 장치에서 연속 스토리지 공간을 확보하고이를 개별 스토리지 장치로 OS에 제공합니다 (파일 시스템을 VFS에 마운트 할 수 있음). 이 작업을 수행하는 한 가지 이유는 하나의 하드 드라이브 만 가지고 있지만 많은 다른 파일 시스템을 사용하고 싶어하기 때문입니다. 루트 파일 시스템이 존재하는 파티션을 종종 루트 파티션이라고합니다.