데이터가 손상되지 않은 것은 운이 좋거나 데이터가 손상되었다는 사실을 알게 된 것은 운이 좋지 않습니다.
디스크에 기록해야하는 작업을 수행 할 때 대부분의 운영 체제는 기록 작업을 대기열에 넣습니다. 때때로 그들은 대기열을 플러시합니다. (여기서 대기열이라고 부르지 만 실제로 작업은 순서가 맞지 않을 수 있습니다. 운영 체제는 더 빠를 때이 작업을 수행하고 동일한 최종 결과를 제공합니다.) 이렇게하면 시스템이 시도하기 때문에 쓰기 작업이 훨씬 빨라질 수 있습니다 더 잘 할 일이없고 지능적으로 그룹화 할 수 있기 때문에 수행해야합니다.
모든 것이 기록되기 전에 장치를 분리하면 최신 데이터를 놓칠 수 있습니다. 더구나, OS가 고장난 작업을 수행했다면 장치가 일관성이없는 상태가되어 최신 데이터보다 더 많이 손실 될 수 있습니다.
일부 운영 체제는 이동식 장치에 대해보다 보수적 인 (그러나 느린) 모드로 전환되어 장치를 마운트 해제하기 전에 플러그를 뽑을 때 발생하는 위험을 줄입니다.
추가 :
순서대로 작업을 수행하는 것은 때로는 속도 문제가 아닙니다. 저렴한 플래시 미디어 (하드웨어 수준에서 섹터 재 할당이 아님)는 특정 섹터를 쓸 수있는 횟수에 제한이 있습니다. 모든 변경 사항이 발생할 때 순진하게 쓰면 (V) FAT 파일 시스템 (이동식 드라이브의 가장 일반적인 경우)의 파일 할당 테이블이 포함 된 섹터 나 일반적인 최신 파일 시스템의 저널이 종료 될 수 있습니다. (예를 들어 , Linux Kernel 메일 링리스트에 대한 이 논의를sync
참조하십시오 .) 여기서 파일을 쓸 때마다 FAT 또는 저널을 업데이트하지 않는 것은 성능이 크게 향상 될뿐만 아니라 하드웨어 수명에도 좋습니다.
최근까지 리눅스는 sync
(변경 사항이있을 async
때마다 쓰기 )와 (필요할 때마다 쓰기 ) 중에서 하나만 선택 했습니다. 최신 버전에서는 flush
FAT 파일 시스템에 대한 옵션이 도입되었습니다.이 파일 시스템은 중간에 있습니다 (디스크가 비활성화 되 자마자 지연된 모든 쓰기를 플러시). 우분투 10.04에서 기본적으로 켜져 있습니다.
다른 말로, 이동식 드라이브를 마운트 해제하면 파일이 열려있는 응용 프로그램이 없습니다. 플러그를 뽑기 전에 마운트를 해제하지 않으면 너무 늦을 때까지 저장하지 않은 데이터가 있는지 알 수 없습니다. 파일이 열려있는 동안 마운트를 해제하면 파일 시스템 수준 (파일이 닫힐 때까지 OS가 일부 작업을 대기했을 수 있음)과 응용 프로그램 수준 (예 : 응용 프로그램에서 잠금 파일을 넣을 경우 파일이 손상 될 수 있음) 제거하지 마십시오).