[CS스터디] 파일 시스템

G-NOTE·2022년 7월 29일
0

항해99

목록 보기
18/36

파일 시스템과 블록

파일 시스템이란 운영 체제가 파일을 저장 장치에 저장하고 사용하기 위한 일종의 알고리즘(규칙)을 의미하며, 파일의 이름을 붙이고, 쉽게 파일에 접근할 수 있도록 배치를 신경 쓰는 등 파일과 관련된 기능을 수행하는 시스템입니다.
파일 시스템은 운영체제에서 하드 디스크 CD, DVD, 기타 이동식 메모리 장치 등의 물리적인 저장 매체를 파일과 폴더의 계층 구조처럼 보이게 하는 부분이다.
(윈도우 기준 C:드라이브)각 프로그램은 최상위부터 시작하는 계층 구조를 가진다. 컴퓨터가 가진 모든 정보는 파일 시스템에 저장되고, 사용자는 파일 시스템을 통해 정보에 접근하게 된다.
파일에 접근하는 방식이 응용 프로그램 내에 표현되므로 응용 프로그램과 데이터 간의 의존관계가 존재하게 되어 데이터의 구조나 접근 방법이 변경되면 기존의 프로그램과 데이터를 함께 변경해야 한다.

파일 시스템을 사용하는 이유

효율성을 따지면 가능한 연속적인 공간에 파일을 저장하는 것이 좋으나 외부 단편화 문제, 파일 사이즈 변경 문제로 불연속 공간에 파일 저장 기능 지원의 필요성을 느끼게 되었다.

  • 블록 체인 기법 : 블록을 링크드 리스트로 연결하는 기법 BUT 리스트 마지막에 있는 블록을 찾으려면 맨 처음부터 주소를 찾아가야 한다.

파일 시스템의 역할

  • 모든 정보를 관리하면서 애플리케이션이나 운영체제의 다른 부분이 정보를 읽고 쓸 수 있도록 접근 가능하게 만든다.
  • 효율적으로 파일에 접근하고 파일끼리 서로 간섭하지 않도록 조정하며, 데이터의 물리적인 위치를 계속 파악한다.

폴더 또한 파일이다.
파일 시스템이 폴더 내용에 완전한 책임을 갖고 있으며, 애플리케이션이 파일의 내용을 직접 바꿀 방법이 없다는 것을 제외하면 폴더와 파일이 저장되는 방법에는 차이가 없다.
그러나 가장 낮은 레벨에서 보면 폴더는 그저 블록일 뿐이고, 모두 같은 매커니즘으로 관리된다.

보조 기억 장치 파일 시스템

보조 기억 장치의 파일에 대한 폴더 엔트리는 파일 이름, 파일의 크기, 파일의 위치 정보, 생성/변경 날짜, 기타 정보(권한, 파일 유형 등)를 담고 있다.

웨어 레벨링(wear leveling)

플래시 장치의 모든 블록에 데이터를 균등하게 기록하여 특정 블록의 과도한 사용을 방지하고 플래시 장치에서 발생할 수 있는 장치 오류 및 데이터 손실을 사전에 예방하며 안정성을 향상시키는 기술

파일을 휴지통에 넣을 때 일어나는 일

파일 제거하기

컴퓨터에서 파일을 제거하기 위해 휴지통으로 보내면 파일은 삭제되는 것이 아니라 폴더 엔트리 이름이 기존 폴더에서 휴지통으로 복사되고, 기존 폴더 엔트리는 지워진다.

사용자가 의도했던 '파일 지우기'는 휴지통 비우기에 더 가깝다고 봐야한다.

휴지통 비우기로 파일이 제거될까?

휴지통 비우기를 한다고 해서 파일이 실제로 제거되는 것은 아니다.
폴더 엔트리가 삭제되고 대상 블록은 미사용 목록에 들어가나, 내용이 삭제된 것은 아니다.
이것은 마음만 먹으면 정보를 다시 살릴 수 있다는 것을 의미한다.

따라서 보안이 중요한 파일을 삭제할 경우, 무작위 패턴으로 파일의 정보를 여러 번 덮어씌우거나 가장 확실한 방법인 물리적인 파괴를 할수도 있다.

네트워크 파일 시스템에서 파일 삭제하기

네트워크 파일 시스템이란 클라이언트 컴퓨터의 사용자가 네트워크 상의 파일을 직접 연결된 스토리지에 접근하는 방식과 비슷한 방식으로 접근하도록 도와주는 프로토콜이다.

네트워크 파일 시스템은 파일 저장소로 사용되나 백업 용도로도 사용된다. 이전 버전의 파일을 서로 다른 위치의 보관용 전용 매체로 저장하여, 랜섬웨어 등 외부 공격에 데이터를 지키는 수단으로 사용한다.

RAID 기법

RAID(Redundant Array of Inexpensive Disks)이란 여러 개의 디스크를 배열하여 속도, 안정성, 효율성, 가용성 증대를 위해 사용하는 기술이다.

RAID를 사용하는 이유

디스크 기본 공간이 부족할 때 데이터는 보존하면서 여분의 디스크를 볼륨에 포함하여 용량 증설하는 방식
하드디스크의 장애로 인한 데이터 손실을 방지하기 위해 사용한다. 백업이 필요한 경우, 디스크 용량을 증설하려고 할 때 안정성을 확보해야 합니다. (운용 가용성, 데이터 안정성 목적)

동전의 양면

물론 이런 식으로 파일을 백업하는 것은 외부 공격으로부터 데이터를 안전하게 지키는 방법이지만, 반대로 데이터의 흔적을 완전히 지우기 어렵게 만드는 요인이 되기도 한다.

참조

https://probe29.tistory.com/26
https://flpan.tistory.com/442
https://m.blog.naver.com/qbxlvnf11/221127762091
https://ko.wikipedia.org/wiki/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC_%ED%8C%8C%EC%9D%BC_%EC%8B%9C%EC%8A%A4%ED%85%9C
https://jwprogramming.tistory.com/24

profile
FE Developer

0개의 댓글