Automotive Software

파일시스템 (Filesystems) 본문

포직스 (POSIX)/파일 시스템

파일시스템 (Filesystems)

AutoSW 2023. 6. 26. 18:33

포직스 표준과 호환되는 운영체제들은 각자의 내부설계와 구현방식에 따라 다양한 파일 시스템들을 제공하는데, 그중 QNX의 경우 아래와 같이 구분되는 파일 시스템들을 지원하나, 리눅스와 다른 파일시스템 내부 구조를 가지므로 이에 대한 사전 이해가 필요하다.

  • 이미지(Image) 파일시스템
    • QNX 커널인 procnto 프로세스가 RAM 파일시스템과 함께 기본적으로 제공하는 파일 시스템
      • IFS (Image Filesystem)  또는 OS 이미지로 불리는 시스템으로 커널과 최소 필요 파일들을 포함
    • 시스템 설계 초반 별도의 파일 시스템 구성 없이 사용 가능
    • 읽기 전용으로 시스템 구성시 커널, 라이브러리 외 기본 유틸리티들을 파일 시스템상에 추가하여 사용
      • 예외적으로 Shared RAM에 마운트 되는 tmp를 제공하여 시스템 운영시 쓰기 가능 공간을 제공하나 추가 폴더 생성등의 제약사항이 있음
  • 블록(Block) 파일시스템
    • 운영체제에서 흔히 사용되는 디스크 기반 시스템으로 DOS를 비롯한 파워-세이프(Power-Safe) 파일시스템이 지원
      • 파워-세이프 파일시스템은 시스템 운영 중 전력 상실이 발생할 경우, 데이터 유지를 위해 Copy-on-write(COW) 기반으로 구현되는데, 이는 사용되지 않은 블록에 기록된 새로운 데이터가 안전하게 디스크상에 기록이 완료될 경우에만 블록의 포인터와 inode 정보를 업데이트하여 최신의 데이터를 유지함
  • 플래시(Flash) 파일시스템
    •  비 블럭기반 저장장치를 지원하기 위한 플래시 메모리 시스템으로 FFS3(NOR Flash)나 ETFS(NAND Flash)를 지원함
  • 네트워크(Network) 파일시스템
    • 원격지에 위치한 저장장치를 지원하기 위한 네트워크 기반 시스템으로 NFS나 CIFS(SMB)를 지원함
  • 패스스루(Pass-through) 파일시스템
    • 일종의 미러 (Mirror) 파일시스템으로 기본적으로 저장 공간의 최적화를 위해 압축과 해제를 제공하는 시스템
  • 가상(Virtual) 파일시스템
    • 커널에 의해 관리되는 proc 폴더와 같이, 시스템 폴더 등의 내부 구조가 하위 물리적인 저장매체와 직접적인 연관성을 가지지 않는 시스템