37일차

ssongyi·2022년 5월 19일
0

CS스터디

목록 보기
37/51

1부 하드웨어 037. 파일을 휴지통에 넣을 때 일어나는 일

파일 제거하기

파일이 제거될 때는 앞에서와 정반대 일이 일어난다. 파일의 블록이 미사용 목록으로 돌아가고 파일의 폴더 엔트리는 삭제돼서 파일이 사라진 것처럼 보인다. 하지만 실제는 이와 꽤 다르다.

파일이 윈도우나 맥OS에서 제거되면 '휴지통'으로 간다. 휴지통은 일부 속성이 조금 다르다는 점을 제외하면 그저 또 다른 폴더처럼 보인다. 사실 휴지통이 바로 그런 것이다. 파일이 제거되기로 하면 그 파일의 폴더 엔트리와 전체 이름이 현재 폴더에서 휴지통이라는 폴더로 복사되고 원래 폴더 엔트리는 지워진다. 파일의 블록과 그 내용은 전혀 바뀌지 않는다. 휴지통에서 파일을 복원할 때는 이 과정을 정반대로 수행해서, 엔트리를 원래 폴더로 복구한다.

'휴지통 비우기'가 원래 의도했던 제거 작업에 더 가깝다. 이 작업을 요청하면 휴지통에 있는 폴더 엔트리가 지워지고 블록은 미사용 목록에 진짜로 추가된다. 이 절차는 휴지통 비우기가 명시적인 요청에 의해 수행되든, 파일 시스템이 빈 공간이 부족하다는 것은 알고 사용자가 모르는 상태에서 조용히 진행되든 마찬가지로 적용된다.

이렇게 삭제가 바로 일어나지 않는다는 것은 내가 제거했다고 생각한 정보가 아직 존재하고, 누군가 그 정보를 찾을 방법을 안다면 손쉽게 접근할 수 있음을 뜻한다. 물리적 블록 단위로 드라이브를 읽는 프로그램, 즉 파일 시스템 계층 구조를 통하지 않고 디스크를 읽는 프로그램이라면 예전 내용을 확인할 수 있다.

디스크에 뭔가 이상이 생겨 파일 시스템이 엉망이 되었을 때도 아직 정보를 복원할 수 있을지 모른다. 하지만 파일을 제거해도 데이터가 완전히 사라졌다는 보장이 없는 점은 데이터에 사적인 내용이 있거나 누군가가 뭔가 나쁜 일이 꾸미고 있어 진짜로 정보가 제거되기를 바란다면 좋지 않은 일이다.

폴더 엔트리 자체에도 어느정도 비슷한 상황이 적용된다. 파일을 제거할 때 파일 시스템은 폴더 엔트리가 더 이상 유효한 파일을 가리키지 않는 다는 점에 주목할 것이다. 파일 시스템이 폴더에 '이 엔트리는 사용중이지 않습니다'를 뜻하는 비트를 설정해서 그렇게 할 수 있다. 이후 폴더 엔트리 자체가 재사용되기 전까지는 재할당되지 않는 모든 블록의 내용을 포함해 파일에 대한 원래 정보를 복원하는 것이 가능하다.

다른 파일 시스템

지금까지 보조 기억 장치 드라이브에 사용되는 종래의 파일 시스템에 대해 설명했다. 대부분의 정보가 그곳에 저장되며 컴퓨터에서 가장 자주 볼 수 있는 장치다. 하지만 파일 시스템의 추상화는 다른 저장 매체에도 적용된다.

CD-ROM과 DVD도 마찬가지로 폴더와 파일 계층 구조로 되어 있는 파일시스템처럼 정보에 접근하게 한다. USB 드라이브와 SD 카드의 플래시 메모리 파일 시스템은 매우 흔히 사용된다. 이들 저장 매체를 윈도우 컴퓨터에 연결하면 또 다른 디스크 드라이브로 나타난다. 저장된 내용을 파일 탐색기로 탐색할 수 있고, 내장 드라이브와 똑같이 파일을 읽고 쓸 수 있다. 유일한 차이는 용량이 더 작고 접근 속도가 다소 느릴 수 있다는 점이다.

네트워크 시스템 파일은 주된 파일 저장소로도 사용되지만 백업 용도로도 자주 쓰인다. 파일의 이전 버전 여러 개를 서로 다른 위치에 있는 보관용 저장 매체로 복사해 둔다. 이렇게 하면 랜섬웨어 공격이나 중대한 기록의 원본을 훼손할 우려가 있는 화재 같은 재난에서 데이터를 지킬 수 있다. 어떤 디스크 시스템은 또한 RAID(복수 배열 독립 디스크) 기법을 활용한다. 이 기술은 디스크 중 하나가 고장 나더라도 정보를 복원할 수 있게 하는 오류 수정 알고리즘을 이용하여 여러 개의 디스크에 데이터를 기록한다. 물론 이러한 시스템은 정보의 모든 흔적을 확실히 지우기 어렵게 만드는 요인이 되기도 한다.

0개의 댓글