상위 질문
타임라인
채팅
관점

유닉스 파일시스템

유닉스 운영 체제의 핵심적인 부분의 하나 위키백과, 무료 백과사전

유닉스 파일시스템
Remove ads

유닉스 및 유닉스에 영향을 받은 운영 체제에서 파일 시스템은 운영 체제의 핵심적인 부분으로 간주된다.[1] 1969년으로 거슬러 올라가 켄 톰프슨이 최초 실험 버전의 유닉스에 설계하고 구현한 시스템의 최초 부분 가운데 하나이기도 했다.[2]

Thumb
버전 7 유닉스 파일시스템 레이아웃: "/"와 "/usr"의 하위 디렉터리들
Thumb
유닉스 파일시스템 레이아웃의 개요

다른 운영 체제들과 비슷하게 파일 시스템은 정보 스토리지와 검색을 제공하며 그리고 여러 형태의 프로세스 간 통신 가운데 하나로서 전통적으로 유닉스 시스템을 형성하는 수많은 작은 크기의 프로그램들이 파일에 정보를 저장시킬 수 있어서 다른 프로그램들이 이것들을 읽을 수 있다. 파이프제3판을 기점으로 이 역할을 보충해준다. 또, 파일시스템은 터미널, 프린터, 마우스로의 진입점인 이른바 장치 파일을 통해 다른 리소스로의 접근을 제공한다.

이 문서의 나머지 부분은 보통명칭으로서 오리지널 유닉스 운영 체제와 그에 속하는 수많은 계열을 모두 의미하는 "유닉스"를 사용한다.

Remove ads

원리

요약
관점

파일시스템은 여러 디렉터리가 있는 하나의 루트 트리로 등장한다.[1] 디스크 파티션, 이동식 미디어, 네트우크 자원 등 별도의 볼륨을 별도의 트리로 주소화(마치 도스윈도우에서 하는 것처럼, 각 "드라이브"가 드라이브 문자를 가짐으로써 파일 시스템 트리의 루트를 나타내는 것)하는 대신 이러한 볼륨들은 디렉터리를 마운트시킴으로써 볼륨의 파일 시스템 트리가 더 큰 트리의 디렉터리로 보이게 만든다.[1] 전체 트리의 루트가 /로 표시된다.

오리지널 벨 연구소 유닉스에서는 2 디스크 셋업이 관례적이었으며 첫 번째 디스크는 시작 프로그램을 담고 있었으며 두 번째 디스크는 사용자의 파일과 프로그램들을 담았다. 이 두 번째 디스크는 첫 번째 디스크에서 usr이라는 이름의 빈 디렉터리에서 마운트되었으므로 두 번째 디스크가 하나의 파일 시스템으로 보이게 되며 두 번째 디스크의 내용은 /usr에서 볼 수 있다.

유닉스 디렉터리는 파일을 담고있지 않다. 그 대신 이른바 아이노드의 참조와 쌍을 이루는 파일들의 이름을 담는다. 그리고 이 아이노드는 파일과 파일 메타데이터(소유자, 권한, 마지막 접근 시간 등, 그러나 이름은 미포함)를 담는다. 파일 시스템의 여러 개의 이름은 동일한 파일을 가리킬 수 있으며 이 기능의 이름은 하드 링크라고 부른다.[1] 하드 링크의 수학적 특성으로 말미암아 파일 시스템을 유한한 유형의 유향 비순환 그래프로 만들어주지만 디렉터리는 일반적으로 하드 링크될 수 없기 때문에 여전히 트리를 구성한다. 1969년 원래 예상한 바 그대로 유닉스 파일 시스템은 유닉스 파일 시스템은 사실상 경로 이름 대신 내비게이션을 제공하는 디렉터리에 대한 하드 링크가 있는 일반 그래프로 사용된다.[2])

파일 유형

오리지널 유닉스 파일 시스템은 3가지 파일 유형을 지원하였다: 일반 파일, 디렉터리, "특수 파일"(또는 장치 파일).[1] BSD시스템 V는 각각 프로세스 간 통신을 위해 사용할 파일 유형을 추가하였다: BSD는 소켓을,[3] 시스템 V는 FIFO 파일을 추가하였다.

또, BSD는 일련의 파일 유형에 대한 심볼릭 링크(이른바 symlink)를 추가하였다. 이것들은 다른 파일을 가리키는 파일들이며 보완 방식의 하드 링크들이다.[3] 심볼릭 링크는 멀틱스에 비슷한 기능 이후 모델링된 것으로,[4] 파일시스템을 아우르는 하드 링크와는 구별하며 이들의 존재하는 대상 오브젝트와는 독립적이다. 다른 유닉스 시스템들은 추가 유형의 파일을 지원할 수 있다.[5]

Remove ads

전통적인 디렉터리 레이아웃

요약
관점

프로그램, 시스템 구성 파일, 사용자의 홈 디렉터리 등 일부 유형의 파일을 위치시키기 위한 특정한 전통이 존재한다. 이것들은 버전 7 유닉스 이후로 hier(7) Man page에 처음 문서화되었다.[6] 이후 버전과 파생판, 클론들은 일반적으로 비슷한 매뉴얼 문서를 제공한다.[7][8][9][10][11][12]

디레터리 레이아웃의 세세한 부분은 시간이 지남에 따라 다양해지고 있다. 파일 시스템 레이아웃이 단일 유닉스 규격의 일부가 아니지만 시스템 V 응용 프로그램 이진 인터페이스, 인텔 이진 호환 표준, 공통 운영 체제 환경, 리눅스 재단파일시스템 계층구조 표준(FHS) 등 표준화를 위한 여러 시도가 존재한다.[13]

다음은 유닉스 운영 체제의 파일의 일반적 위치를 나타낸 개요이다:

자세한 정보 디렉터리 또는 파일, 설명 ...
Remove ads

같이 보기

각주

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads