개인/리눅스

리눅스 파일시스템의 개념

OmeGa2 2020. 1. 10. 18:03
리눅스 파일시스템

 

  • 파일시스템이란?

디스크에 저장된 "데이터"와 논리적인 단위인 "파일"을 연결하는

데이터 테이블이나 인덱스라고 볼 수 있으며

OS(운영체제)가 파티션이나 디스크에 데이터를 저장한 뒤

데이터를 찾아 읽고 쓰기위해 구성하는 체계이다.

 

운영체제가 데이터를 찾기위해 만드는 것이다.

사용자는 운영체제를 설치할 때 포맷 후 고유한 파일시스템을

제공받아 시스템을 구축한다. 파일시스템은 파일의 인덱스 뿐만 아니라

파일명의 크기를 제한하거나 확장자 길이, 파티션의 개수 등 다양한 기능을 가지고 있다.

 

파일시스템의 기능

- 파일을 관리 (생성, 삭제, 수정 등)

- 파일에 대한 접근방법과 제어방법 제공

- 백업이나 복구를 위한 기능 제공

- 파일의 안전을 위해 암호화 및 복호화 기능 제공

- 파일에 접근하기위한 인터페이스 및 명령어 제공

 

만약 파일시스템이 없다면 비슷한 시간에 만든 두 개의 파일이

서로 거리가 가까울 수도 있고, 멀리 떨어져 있을 수도 있다.

동일한 파일을 두 개 만들어도 이 파일의 구성이 각각 다르게 저장될 수도 있다.

따라서 데이터를 지정된 위치에 저장하고 쉽게 찾을 수 있게 만드는 것이다.

 

 

  • 마운트(mount)

보조기억장치 (HDD,FDD)나 USB같은 저장장치는 새로 연결하더라도

디렉터리를 구성할 수가 없다. 따라서 그 위치를 찾을수가 없다.

마운트는 외부 저장장치를 다른 디스크의 하위 디렉토리로 연결해서

OS가 쉽게 찾아 사용할 수 있게 만들어준다.

 

 

디스크 파이션 안의 모든 파일은 모두 루트 디렉터리의 아래에 있는 디렉터리에 보관되는데

루트 디렉터리는 /로 표현한다.

 

 

  • 커널 (Kernel)

운영체제의 핵심이다. 

시스템이 부팅할 때 로드되며 주 역할은 하드웨어를 제어하는것이다.

하드웨어의 보안과 한정된 시스템의 자원관리를 해주는 프로세스 스케줄링이 이루어진다.

OS의 요구에 따라 프로세스가 수행되고 그에 필요한 프로세서또한 커널에서 관리한다.

또한 메모리관리와 입출력, 네트워크 관리 등 OS가 하는 역할의 대부분에 필요하기 때문에

커널이 망가진다면 OS또한 못쓰게 되는거나 마찬가지다.

 

 

 

기본 디렉터리
  • /bin : 모든사용자가 사용할수 있는 명령어
  • /boot : 시스템 부팅시 필요한 파일
  • /dev : 디스크같은 물리적인 저장장치를 파일화해서 관리
  • /etc : 시스템 환경설정파일 및 부팅관련 스크립트
  • /home : 개인 사용자의 파일
  • /lib : 공유 라이브러리
  • /lost_found : 파일시스템을 복구할 때 사용한다.
  • /mnt : 파일시스템을 마운트할 때 포인터가 된다.
  • /opt : 응용프로그램 슬치를 위해 사용된다.
  • /proc : 가상 파일시스템으로 시스템에서 운영되는 여러 정보가 있다.
  • /sbin : 시스템 관리에 필요한 명령어
  • /tmp : 임시저장디렉터리
  • /usr : 시스템 운영에 필요한 명령,프로그램
  • /var : 로그관련, 가변적인 데이터가 들어있다.