포크(파일 시스템)

Fork (file system)

컴퓨터 파일 시스템에서 포크는 파일 시스템 개체와 관련된 데이터 집합입니다.포크가 없는 파일 시스템은 콘텐츠에 대한 단일 데이터 집합만 허용하는 반면 포크가 있는 파일 시스템은 이러한 콘텐츠를 여러 개 허용합니다.비어 있지 않은 모든 파일에는 적어도 하나의 포크(대부분 기본 유형)가 있어야 하며, 파일 시스템에 따라 파일에 통합된 기본 데이터를 포함하거나 메타데이터만 포함할 수 있는 다른 포크가 하나 이상 연결될 수 있습니다.

일반적으로 고정된 크기의 유사한 파일 시스템 기능인 확장 속성과 달리 포크는 파일의 기본 데이터 포크보다 더 클 수 있는 가변 크기일 수 있습니다.파일 크기는 각 포크의 크기를 합한 것입니다.

포크를 사용할 수 있는 인기 있는 파일 시스템에는 Apple의 HFS+Microsoft의 NTFS가 있습니다.

대안

포크가 없는 파일 시스템에서는 서로 연결된 여러 개의 개별 파일, 특히 메타데이터용 사이드카 파일을 사용할 수 있습니다.그러나 이러한 파일 간의 연결은 파일 시스템에 의해 자동으로 유지되지 않으며 대신 파일에서 작동하는 각 프로그램에서 처리해야 합니다.다른 대안으로는 주어진 파일 형식 내에 추가 데이터를 저장하는 컨테이너 파일 또는 단일 포크 내에 여러 파일 및 메타데이터를 저장할 수 있는 아카이브 파일이 있습니다.이렇게 하려면 프로그램이 파일 시스템이 포크를 처리하는 대신 컨테이너 파일 또는 보관 파일을 처리해야 합니다.이러한 대안은 데이터를 사용하는 프로그램에 의한 추가 작업이 필요하지만 포크를 지원하지 않는 파일 시스템으로의 이동성의 이점을 누릴 수 있습니다.

구현

사과

파일 시스템 포크는 Apple의 HFS([1]계층형 파일 시스템)와 연결됩니다.HFS와 원래 애플 매킨토시 파일 시스템 MFS는 파일 시스템 개체가 데이터 포크리소스 포크의 두 가지 종류의 포크를 가질 수 있도록 했습니다.

리소스 포크는 지역화 가능한 텍스트 문자열, 파인더에서 사용할 파일 아이콘 또는 응용 프로그램과 관련된 메뉴 [2]및 대화 상자와 같은 시스템의 GUI(그래픽 사용자 인터페이스)에서 사용할 컴파일되지 않은 데이터를 저장하도록 설계되었습니다.그러나 이 기능은 매우 유연하여 워드 프로세싱 문서를 내용과 프리젠테이션으로 분할한 다음 각 부분을 별도의 리소스에 저장하는 등의 추가적인 용도가 발견되었습니다.컴파일된 소프트웨어 코드도 리소스에 저장되었기 때문에 응용 프로그램은 종종 리소스 포크로만 구성되고 데이터 포크는 없습니다.

HFS+의 가장 잘 알려지지 않은 기능 중 하나는 파일에 기존의 데이터 및 리소스 포크 외에도 임의의 수의 사용자 지정 "이름 지정 포크"가 있을 수 있다는 것입니다. 기능은 Apple이 Mac OS 8.1-10.3.9에서 지원을 추가하지 않았기 때문에 대부분 사용되지 않았습니다.10.4부터는 Apple의 확장 인라인 속성을 [3]지원하기 위해 부분적으로 구현되었습니다.

Mac OS X v10.4까지 Mac OS X에서는 [4]tar와 같은 유닉스 명령줄 유틸리티를 실행하는 사용자는 파일의 리소스 포크를 처리하도록 유틸리티가 업데이트되지 않았기 때문에 데이터 손실 위험이 있습니다.

노벨

1985년부터 NWFS(Novell NetWare File System)와 NSS(Novell Storage Services)는 파일의 메타데이터를 저장하기 위해 다양한 방법을 사용하도록 처음부터 설계되었습니다.일부 메타데이터는 NDS(Novell Directory Services)에 상주하고 일부는 Disk의 디렉터리 구조에 저장되며 일부는 Novell 용어로 파일 자체와 함께 '복수 데이터 스트림'에 저장됩니다.또한 여러 데이터 스트림을 통해 Macintosh 클라이언트가 NetWare 서버에 연결하고 사용할 수 있습니다.

마이크로소프트

Windows NT 3.1과 함께 도입된 파일 시스템인 NTFS는 대체 데이터 스트림(ADS)[5]으로 알려진 파일 시스템 포크를 지원합니다.윈도우즈 서버 2012와 함께 도입된 새로운 파일 시스템인 ReFS는 원래 [6][7][8]ADS를 지원하지 않았지만 윈도우즈 8.1 64비트 및 서버 2012 R2에서는 최대 128K 길이의 ADS 지원이 ReFS에 [9]추가되었습니다.

ADS는 원래 [citation needed]포크를 지원하는 기존 운영 체제와의 호환성을 추가하기 위한 것이었습니다.컴퓨터 [10]프로그램은 파일 경로 뒤에 콜론 기호(:) 뒤에 ADS 이름을 지정하여 ADS를 열도록 지시할 수 있습니다.Windows 탐색기는 Windows Vista 이전의 Windows 탐색기 및 dir 명령을 포함한 대부분의 프로그램을 지원하지만 ADS를 무시합니다. Windows 탐색기는 ADS를 복사하고 대상 파일 시스템이 지원하지 않을 때 경고를 표시하며 메인 스트림의 크기만 계산하고 파일이나 폴더의 스트림은 나열하지 않습니다.윈도우 비스타 이후로,dir 명령은 [11]ADS 표시를 지원합니다.Windows PowerShell v3.0 이상에서는 [12]ADS 조작을 지원합니다.

사용하다

Windows 2000에서는 ADS를 사용하여 미리 보기를 이미지 파일에 저장하고 메인 [13][14]스트림을 변경하지 않고 요약 정보(예: 제목 및 작성자)를 모든 파일에 저장합니다.Windows XP에서 Microsoft는 ADS를 포함하는 파일을 NTFS 볼륨에서 이동할 때 ADS가 손실되기 쉽다는 것을 알게 되었습니다. 따라서 Windows XP는 파일 형식이 [13]지원할 때마다 ADS를 메인 스트림에 저장합니다.Windows Vista는 요약 정보가 ADS에서 [15]처리하기에 너무 민감하다고 판단하여 요약 정보를 추가하는 지원을 모두 중단했습니다.하지만 다른 목적을 위한 ADS의 사용은 멈추지 않았습니다.Windows XP용 서비스 팩 2는 다운로드된 파일로부터 사용자를 [16]보호하기 위해 다운로드된 파일의 출처에 대한 세부 정보를 영역 식별자라는 ADS에 저장하는 첨부 파일 실행 서비스를 도입했습니다.인터넷 익스플로러와 윈도우 8은 스마트스크린을 [17]통해 이 기능을 확장했습니다.Internet Explorer는 또한 ADS를 사용하여 인터넷 바로 가기 [10]파일에 즐겨찾기를 저장합니다.

태양.

Solaris 버전 9 이상에서는 파일에 포크를 사용할 수 있습니다.Solaris에서 포크는 일반적인 "확장 속성"의 의미 내에 있지 않지만 확장 속성이라고 합니다.Solaris 유형 확장 특성의 최대 크기는 파일의 최대 크기와 같고 파일과 동일한 방식으로 읽고 씁니다.내부적으로는 일반 파일처럼 실제로 저장되고 액세스되므로 소유권 및 권한이 상위 파일의 소유권 및 권한과 다를 수 있습니다.하위 디렉토리는 관리상[clarification needed] 사용할 수 없으므로 하위 디렉토리의 이름에 "/"자를 사용할 수 없습니다.

네트워크 파일 시스템 버전 4의 확장 특성은 Solaris 스타일의 확장 특성과 유사합니다.

가능한 보안 및 데이터 손실 위험

파일 시스템이 서로 다른 포크를 지원하는 경우 애플리케이션에서 포크를 인식해야 합니다. 그렇지 않으면 보안 위험이 발생할 수 있습니다.기존 소프트웨어가 적절한 없이 데이터에 액세스할 수 있도록 허용하는 이 이러한 [citation needed]문제의 주요 원인입니다.

다양한 시스템 유틸리티(디스크 탐색기, 바이러스 백신 소프트웨어, 아카이브 등)가 서로 다른 포크를 인식하지 못하는 경우 다음과 같은 문제가 발생할 수 있습니다.

  • 사용자는 기본 데이터 포크의 전체 크기나 대체 포크의 존재를 전혀 알지 못합니다.
  • 컴퓨터 바이러스는 Windows(윈도우)의 대체 포크에 숨어 바이러스 백신 소프트웨어가 포크를 인식하지 못하는 경우 탐지되지 않을 수 있습니다.
  • 포크를 지원하지 않는 프로그램이 포크를 지원하지 않는 경우 전자 메일, 포크를 지원하지 않는 파일 시스템과 같은 포크 인식 채널을 통해 파일을 보낼 때나 파일 시스템 간에 포크를 지원하지 않는 소프트웨어로 파일을 압축할 때도 데이터가 손실될 수 있습니다.

레퍼런스

  1. ^ Apple (1996-07-02). "File Forks". Apple. Archived from the original on 2008-07-24. Retrieved 2006-11-18.
  2. ^ Bruce Horn. "The Grand Unified Model (1) - Resources". Folklore.org. Retrieved 2017-10-03.
  3. ^ Siracusa, John (28 April 2005). "Mac OS X 10.4 Tiger". Ars Technica.
  4. ^ "Command-line Backup Solutions on Mac OS X". Apple. 2005-10-29. Archived from the original on February 25, 2008. Retrieved 2006-11-18.
  5. ^ "Files and Clusters". Microsoft. 7 January 2021. Retrieved 2023-08-15.
  6. ^ Verma, Surendra (16 January 2012). Sinofsky, Steven (ed.). "Building the next generation file system for Windows: ReFS". Building Windows 8. Microsoft. MSDN blogs. Archived from the original on 16 February 2013. Retrieved 20 January 2013.
  7. ^ Foley, Mary Jo (16 January 2012). "Microsoft goes public with plans for its new Windows 8 file system". ZDNet. CBS Interactive. Retrieved 21 January 2013.
  8. ^ Martin Lucas. "Windows Server 2012: Does ReFS replace NTFS? When should I use it?". TechNet. Archived from the original on 23 January 2013.
  9. ^ "Resilient File System Overview". Microsoft Docs. Microsoft. 13 January 2017. Retrieved 15 August 2023.
  10. ^ a b Law, Eric (7 September 2013). "Fun with Favicons". Microsoft Docs. Microsoft. Retrieved 15 August 2023.
  11. ^ Bart De Smet (2006-07-13). "Use Vista's DIR command to display alternate data streams". B# .NET Blog. Archived from the original on 2007-09-27. Retrieved 2007-07-07.
  12. ^ "FileSystem Provider (Windows PowerShell 3.0)". TechNet. Microsoft. 9 August 2012. Archived from the original on 23 January 2015.
  13. ^ a b Chen, Raymond (27 May 2011). "Why are custom properties created on Windows 2000 lost when I view the file from newer versions of Windows?". The Old New Thing. Microsoft. Retrieved 10 June 2020.
  14. ^ Microsoft (2006-10-27). "Indexing service adds data streams to image files". Microsoft. Retrieved 2006-11-18.
  15. ^ Chen, Raymond (1 May 2012). "What happened to the Summary information created on Windows 2000 and Windows XP?". The Old New Thing. Microsoft. Retrieved 10 June 2020.
  16. ^ Bart De Smet (2005-08-19). "Demo of "Attachment Execution Service internals" in Windows XP SP2 and Windows Server 2003 SP1". B# .NET Blog. Archived from the original on 2007-02-23. Retrieved 2006-11-18.
  17. ^ Chen, Raymond (4 November 2013). "Manipulating the zone identifier to specify where a file was download from". The Old New Thing. Microsoft.

외부 링크