-
디렉토리(directory)란 무엇인가CS지식/운영체제 2021. 7. 17. 22:41
디렉토리(directory)는 서로 관련 있는 파일을 하나로 모아놓은 것이다.
디렉토리는 1개 이상의 파일을 가질 수 있고 1개 이상의 자식 디렉토리를 가질 수도 있다.
즉, 하나의 디렉토리에는 여러 개의 파일과 자식 디렉토리가 존재한다.
이렇게 디렉토리 안에 여러 개의 파일과 자식 디렉토리가 존재하면 마치 여러 층으로 구성된 것처럼 보인다.
여기서 최상위에 있는 디렉토리를 루트 디렉토리라고 한다.
디렉토리의 구조
초기 파일 시스템의 디렉토리 구조는 1단계 구조였다.
1단계 디렉토리 구조에서는 루트 디렉토리에 새로운 디렉토리를 만들 수 있지만 디렉토리 안에 자식 디렉토리를 만들 수는 없었다.
1단계 디렉토리 구조는 파일이 많아지면 불편하여 다단계 디렉토리 구조가 등장했다.
다단계 디렉토리 구조는 루트 디렉토리를 시작점으로 여러 단계의 디렉토리가 가지터럼 뻗어 있어 나무를 뒤집어놓은 것 같아 트리 디렉토리 구조라고도 한다.
다단계 디렉토리 구조에서는 디렉토리 안에 파일과 자식 디렉토리 모두 생성할 수 있다.
처음에 만들어 졌던 다단계 디렉토리 구조는 순환이 없기 때문에 트리 구조와 같다.
하지만 지금의 디렉토리 구조에는 순환이 있다.
기본적인 구조는 트리 구조이지만 디렉토리와 디렉토리를 연결하는 링크가 있기 때문이다.
경로(path)는 무엇일까
경로는 파일이 전체 디렉토리 중에 어디에 위치해있는지를 알려주는 정보이다.
한 디렉토리에는 같은 이름을 가진 파일이 존재할 수는 없지만 서로 다른 디렉토리에는 같은 이름의 파일이 존재할 수 있다.
그러면 같은 이름의 파일을 접근하고자 할 때 어느 디렉토리에 속해있는지를 어떻게 알고 어떻게 표현할까?
이러할 때 경로를 사용하는 것이다.
파일 이름 앞에 파일이 속한 경로(어느 디렉토리에 있는지)를 표시하면 어느 위치에 있는 파일인지 명확히 알 수 있다.
경로에는 2가지가 존재한다.
먼저, 절대 경로(absolute path)이다.
절대 경로는 루트 디렉토리를 기준으로 파일의 위치를 나타내는 방식으로 루트 디렉토리에서 시작하는 절대적인 위치를 의미한다.
다음으로 상대 경로(relative path)이다.
상대 경로는 현재 있는 위치를 기준으로 파일의 위치를 나타내는 방식으로 절대 경로와 달리 문자로 시작하며 언제나 자신이 위치한 디렉토리를 기준으로 한다.
'CS지식 > 운영체제' 카테고리의 다른 글
쉽게 배우는 운영체제(저자 조성호) 후기 (0) 2021.07.18 RAID란 무엇인가 (0) 2021.07.15 스레싱(thrashing)이란 무엇인가 (0) 2021.07.13 세그멘테이션 기법이란 무엇인가 (0) 2021.06.24 페이징 기법이란 무엇인가 (0) 2021.06.21